2

我有一个 64 位 Linux (SUSE 10) 双处理器。当我运行我的进程时,它使用了大约 4 G 的虚拟内存。只有3G是常驻内存。剩下9G左右内存是免费的。如何将这 1 G 也加载到 RAM 中?为什么它仍在交换空间中,为什么当所有 RAM 都可用时内核无法将其加载到 RAM 中。

拉胡尔

4

1 回答 1

1

The kernel could load the data into memory. However, when they are not used, it choses to write them out to the swap file.

If you absolutely want the data in memory, you should either turn off all swap files (using swapoff(8)), or lock the specific pages into memory, using mlock or mlockall.

于 2009-09-10T05:03:32.567 回答