Почему Firefox не справляется с ограничением памяти, установленным ulimit?

Когда я устанавливаю ограничение памяти для Firefox, используя:

$ ulimit -Sv 512000
$ ulimit -v
512000
$ firefox %u

Я получаю следующую ошибку:

[4881] ###!!! ABORT: PR_CreateThread failed!: file /builddir/build/BUILD/firefox-49.0/firefox-49.0/js/xpconnect/src/XPCJSRuntime.cpp, line 1045
[4881] ###!!! ABORT: PR_CreateThread failed!: file /builddir/build/BUILD/firefox-49.0/firefox-49.0/js/xpconnect/src/XPCJSRuntime.cpp, line 1045
Segmentation fault (core dumped)

Однако, если Firefox уже запущен, он открывает новое окно без каких-либо ошибок.

В чем проблема с установкой ulimit для Firefox?

ОС - Fedora 24: 4.7.5-200.fc24.x86_64


person Zelphir Kaltstahl    schedule 12.10.2016    source источник
comment
Это серьезная ошибка в Firefox, которой уже 14 лет. Firefox ПАДАЕТ, иногда замораживая ВСЮ ОПЕРАЦИОННУЮ СИСТЕМУ, когда ему не хватает памяти. Это одна из причин, по которой вам никогда не следует использовать Firefox, и они даже не должны заниматься программным бизнесом. bugzilla.mozilla.org/show_bug.cgi?id=336807   -  person IHATESA    schedule 05.03.2020


Ответы (1)


Firefox просто пожирает память; 512M виртуального адресного пространства недостаточно для его запуска. В моих экспериментах я не мог запустить занятую сессию, если для ulimit -v не было установлено значение не менее 1,5G.

Это работает для вас, когда firefox уже запущен, потому что в этом случае вы не запускаете новый процесс firefox (который унаследовал бы ulimit), а просто говорите уже запущенному открыть новое окно.

person András Korn    schedule 10.01.2017