Как ограничить использование памяти процесса на Linux (например, использующий BSD:: Ресурс)

... или если вы действительно хотите использовать NOT IN, вы можете использовать

SELECT * FROM match WHERE id NOT IN ( SELECT id FROM email WHERE id IS NOT NULL)
7
задан Joel Coehoorn 9 June 2009 в 13:53
поделиться

2 ответа

Когда вы разрабатываете код, очень легко заставить вашу Perl-программу убежать и съесть всю память. Машина будет работать с перебоями, пока программа не исчерпает память и не умрет. Вы можете предотвратить эту проблему:

Используйте следующий код:

use BSD::Resource;
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die;
1;

Я поместил этот код в limit.pm (отсюда "1;"). Затем я могу сказать

use limit;

в начале любой программы, которую я хочу ограничить.

8
ответ дан 6 December 2019 в 23:12
поделиться

Скотт Корли предлагает установить ulimit перед запуском скрипта perl.

3
ответ дан 6 December 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: