ide*_*n42 3 c linux memory-management swapfile
在分配内存并且已知它(几乎肯定/可能)长时间不使用的情况下,标记此内存以更积极地移动到交换空间可能是有用的.
是否有一些命令告诉内核这个?
如果不这样做,最好将这些文件转储到临时文件中,但我对发送到交换(或类似的东西)的能力感到好奇.
当然,如果没有交换空间,这将无能为力,在这种情况下,写入临时文件可能会更好.
您可以使用该madvise
调用告诉内核将来可能会对内存执行的操作.例如:
madvise(base, length, MADV_SOFT_OFFLINE);
Run Code Online (Sandbox Code Playgroud)
告诉内核你不会很快就需要内存,所以它可以刷新到后备存储(或者如果它从文件映射并且没有改变就被删除).
还有MADV_DONTNEED
一个允许内核即使被修改也会丢弃内容(因此当您下次访问内存时,如果这样做,它可能会被归零或从原始映射文件重新读取).