Як я можу обмежити використання оперативної пам’яті для конкретного користувача чи процесу?


8

Я використовую фоновий сервіс, який час від часу просочує пам'ять. Щоб запобігти використанню Alt+ SysRq REISUB[ 1 ], я хотів би обмежити використання оперативної пам’яті для одного процесу або користувача системи.

Я дуже хотів би сказати: Користувач x може використовувати максимальну кількість оперативної пам’яті в 1 Гб.

Це можливо? Чи потрібно мені для цього якусь віртуальну машину? Я використовую Ubuntu 9.10.

Відповіді:


10

ulimit - твій друг. Перевірте прапор -m. Я думаю, ви встановили це перед запуском процесу, і він застосовується з цього моменту (у поточній оболонці).


Дякую, приємний натяк! Як я розумію ULIMIT, це обмежує все користувачі пам'яті / процес / незалежно споживання. Мені просто подобається обмежити його одним користувачем / процесом та підпроцесами.
guerda

1
ulimit - команда оболонки, і впливає лише на процеси, запущені з тієї ж оболонки після виконання ulimit. Ви запускаєте процес в сценарії оболонки з командою ulimit, щоб він впливав саме на цей процес.
KeithB

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.