Перейти к содержимому

Почему не работает "(ulimit -d 1000; firefox) &"?

1

Я пытаюсь ограничить использование памяти, firefoxчтобы она не блокировала всю систему проблемными веб-сайтами.

Я пытался, в bash:

(ulimit -d 1000; firefox) & 

Это должно ограничить использование памяти до 1000 КБ. Затем я открыл YouTube и заметил, topчто firefoxон использует 2,6% памяти или около 200 МБ и не вылетает. Очевидно, что предел игнорируется. Почему это так, и как я могу правильно применить это?

759 просмотров
MaxB спросил 11 лет назад
M 154

1 ответ

3
Принятый ответ

Вместо этого используйте ulimit -v.

Объяснение:

Текущие реализации libc изменяют размер сегмента данных только для небольших malloc, большие malloc используют анонимный mmap (), поэтому единственный способ действительно ограничить программу - ограничить виртуальную память (ключ -v).

Надеюсь это поможет.

PS: я знаю, что этот вопрос очень старый, но не смог найти решение с Google, поэтому решил все равно ответить.

Matías Moreno ответил 11 лет назад
M 46