В комментариях я предложил вам создать CGroup, установить Memory.swappiness
до нуля (чтобы минимизировать замену) и запустить ваше приложение внутри этого. Если вы это сделали, ваша заявка , вероятно, не поменятся, если вы не работаете так невероятно низко на физической памяти, которые заменяют страницы для программ в том, что CGroup был единственным способом для доступов доступной физической памяти.
Для этого на RHEL 6.5:
Убедитесь, что установлен Pubcgroup
. Это дает вам доступ к инструментам пользователей, таких как CGCreate
и CGEExec
.
Начните и включить службу CGConfig
CGConfig , поэтому изменения в конфигурации CGroup настойчивы между перезагрузками. На RHEL эта услуга также должна монтировать необходимые файловые системы под деревом / cgroup
.
Создать CGGroup с CGCreate -G-памятью: Thunderbird
Установите Smappiness к нулю в этой группе с CGSET -R Memory.swappiness = 0 Thunderbird
Использование CGSnapshot -S> /etc/cgconfig.conf
Чтобы сохранить обновленную постоянную конфигурацию для службы CGConfig
(все изменения до сих пор не были изменениями времени выполнения. Вы, вероятно, захотите сэкономить файл конфигурации по умолчанию где-то и дать Он один раз, прежде чем сделать его постоянную конфигурацию.
Теперь вы можете использовать CGEExec
, чтобы начать нужные приложения в Thunderbird
CGRUP:
[ROOT @ XXX601 ~] # CGEEXEC-GG память: Thunderbird Ls
Anaconda-ks.cfg ATOOT Foreman.log index.html install.log install.log.syslog node.pp sleep sleep.c ssl Тест стека -строительства
[ROOT @ XXX601 ~] #
У меня нет Thunderbird
на самом деле установлено иначе я бы сделал это. Не уверен, почему форматирование вышеупомянутого запущено.
Одной из альтернативы CGEExec
будет запустить Thunderbird и добавить PID к файлу задач
для приложения. Например:
[root @ xxx601 ~] # cat / cgroup / memory / thunderbird / tasks
[ROOT @ XXX601 ~] # PIDOF HTTPD
25926 10227 10226 10225 10163 10162 10161 10160 10159 10157 10156 10155 10152 10109
[root @ xxx601 ~] # echo 25926> / cgroup / memory / thunderbird / tasks
[root @ xxx601 ~] # cat / cgroup / memory / thunderbird / tasks
25926
Опять же, это медведи, упомянутые, что это технически не предотвращает обмен, но не хватает модификации самого приложения, это, вероятно, ваш Лучшая ставка. Я только что нашел Memory.memsw.limit_in_bytes
, который похоже, что это может быть более прямым управлением на вытеснение там NO NO Skart, но я не играл с ним достаточно Чтобы действительно чувствовать себя комфортно, что он полностью исправляет вашу проблему. Тем не менее, это может быть что-то, чтобы посмотреть после этого.
Реальный ответ будет иметь приложение MLOCK
конфиденциальную информацию, чтобы обойти эту проблему. Я готов поставить заявку, как Thunderbird, однако, делает это, но я не знаю достаточно о внутренних органах, чтобы прокомментировать это.