ulimit твой друг. Проверьте флаг -m. Я думаю, что вы установили это до того, как запустите свой процесс, и с тех пор он применяется (в текущей оболочке).
Как я могу ограничить использование оперативной памяти для конкретного пользователя или процесса?
8577
guerda
Я использую фоновый сервис, который время от времени теряет память. Чтобы не использовать Alt+ SysRq REISUB[ 1 ], я бы хотел ограничить использование оперативной памяти для одного процесса или системного пользователя.
Я действительно хотел бы сказать: пользователь x может использовать максимальный объем оперативной памяти в 1 ГБ.
Это возможно? Нужна ли виртуальная машина для этого? Я использую Ubuntu 9.10.
2 ответа на вопрос
10
basszero
Thanks, nice hint! As I understand ulimit, it limits _all_ users memory/process/whatever consumption. I just like to limit it to one user/process & subprocesses.
guerda 15 лет назад
0
ulimit является командой оболочки и влияет только на процессы, запущенные из той же оболочки после выполнения ulimit. Вы запускаете процесс в сценарии оболочки с помощью команды ulimit, чтобы он влиял только на этот процесс.
KeithB 15 лет назад
1
4
KeithB
В дополнение к командам оболочки ulimit
(для bash) или limit
(для csh) вы можете управлять этим изнутри своего кода с помощью ulimit()
функции.
Обязательные страницы управления: http://linux.die.net/man/1/ulimit (команда оболочки) и http://linux.die.net/man/3/ulimit (функция C).
Stephan202 15 лет назад
1
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
8
Ожидание ноутбука в Linux / Ubuntu
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
3
Могу ли я запустить Microsoft Office 2007 под Ubuntu?