На машине с Ubuntu 10.04 с ядром 2.6.32-22 возникает следующая проблема: установка предела для параметра Resident Set Size (RSS) процесса не оказывает никакого влияния. В настоящее время я устанавливаю предел в Python со следующим кодом:
import resource
# (100, 100) is the (soft, hard) limit. ~100kb.
resource.setrlimit(resource.RLIMIT_RSS, (100, 100))
memory_sink = ['a']*10000000 # this should fail
Список, memory_sink, выполняется каждый раз. Когда я проверяю использование RSS сверху, я могу легко заставить процесс использовать 1 гб ОЗУ, а это значит, что предел не работает. Ограничения RSS не работают с этим ядром или дистрибутивом? Если это помогает, ресурс .RLIMIT_NPROC (лимит пользовательского процесса) работает.