我有一个64位Linux(SUSE 10)双处理器。当我运行我的进程时,它使用大约4G的虚拟内存。只有3G是常驻内存。休息9G内存是免费的。如何在RAM中加载这个1G?为什么它仍处于交换空间中,当所有RAM都可用时,为什么内核无法将其加载到RAM中。
的Rahul
答案 0 :(得分:1)
内核可以将数据加载到内存中。但是,当它们不被使用时,它会选择将它们写入交换文件。
如果你绝对想要内存中的数据,你应该关闭所有交换文件(使用swapoff(8)),或者使用mlock或mlockall将特定页面锁定到内存中。