Поменять пространство в 64-битном Linux - PullRequest
2 голосов
/ 10 сентября 2009

У меня 64-битный Linux (SUSE 10) двойной процессор. Когда я запускаю свой процесс, он использует около 4 ГБ виртуальной памяти. Только 3G является резидентной памятью. Отдых вокруг 9G памяти свободен. Как загрузить этот 1 G также в оперативной памяти? Почему он все еще находится в пространстве подкачки, почему ядро ​​не может загрузить его в ОЗУ, когда все ОЗУ доступно.

Рахул

1 Ответ

1 голос
/ 10 сентября 2009

Ядро может загрузить данные в память. Однако, когда они не используются, он решает записать их в файл подкачки.

Если вам абсолютно необходимы данные в памяти, вы должны либо отключить все файлы подкачки (используя swapoff (8)), либо заблокировать определенные страницы в памяти, используя mlock или mlockall.

...