Я хочу, чтобы мое приложение бросило MemoryError
когда его использование пробегается через 1 ГБ. Я работаю в режиме демона WSGI.
Я вижу 3, устанавливает границу памяти, мог быть:
но я не могу найти правильные опции конфигурации. В PHP можно сделать это с:
php_value memory_limit 1GB
в Вашем apache.conf
Ограничения памяти ресурсов не реализованы на большинстве платформ, хотя определения C API существуют. Таким образом, mod_wsgi не пытается реализовать такие ограничения. Если PHP это делает, он может это делать в силу того, что это более ограниченная и контролируемая среда, чем Python.
Единственный переносимый способ - запустить отдельный процесс-демон, который запускает 'ps' или использует '/ proc' для мониторинга использования памяти процессами, а затем отправляет сигнал SIGINT тем, которые превышают некоторое предопределенное значение.
ОБНОВЛЕНИЕ
Версия 3.4 mod_wsgi поддерживает параметры режима демона, которые могут ограничивать использование памяти. См.:
Работают ли они, зависит от используемой вами операционной системы.
Используйте resource.setrlimit ()
с resource.RLIMIT_VMEM
.