我有一个64位的Linux (SUSE 10)双处理器。当我运行我的进程时,它使用了大约4G的虚拟内存。只有3G是常驻内存。其余的9G内存是免费的。如何将这个1G也加载到RAM中?为什么它仍然在交换空间中,为什么内核不能在所有RAM都可用的情况下将其加载到RAM中。
拉胡尔
发布于 2009-09-10 05:03:33
内核可以将数据加载到内存中。但是,当它们不被使用时,它选择将它们写出到交换文件中。
如果您绝对需要内存中的数据,则应该关闭所有交换文件(使用swapoff(8)),或者使用mlock或mlockall将特定页面锁定到内存中。
https://stackoverflow.com/questions/1403194
复制相似问题