2009-09-10 66 views
2

我有一個64位Linux(SUSE 10)雙處理器。當我運行我的進程時,它使用大約4 G的虛擬內存。只有3G是常駐內存。其餘的9G內存是免費的。如何在RAM中加載這個1 G?爲什麼它仍然在交換空間中,爲什麼當所有RAM都可用時,內核無法將其加載到RAM中。64位Linux交換空間

Rahul

回答

1

內核可能會將數據加載到內存中。但是,當它們不被使用時,它將它們寫入交換文件。

如果您絕對需要內存中的數據,則應使用mlock或mlockall關閉所有交換文件(使用swapoff(8))或將特定頁面鎖定到內存中。