Следующая проблема возникает на компьютере под управлением Ubuntu 10.04 с универсальным ядром 2.6.32-22: установка предела для размера резидентного набора (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 с помощью top, я легко могу заставить процесс использовать 1 ГБ ОЗУ, что означает, что ограничение не работает.Ограничения RSS не работают с этим ядром или дистрибутивом?Если это помогает, то resource.RLIMIT_NPROC (ограничение пользовательского процесса) работает.