Моим программам не хватает памяти примерно в половине случаев, когда я их запускаю. В Linux я могу установить жесткое ограничение на доступную память, используя ulimit -v mem-in-kbytes. На самом деле, я использую ulimit -S -v mem-in-kbytes, поэтому у меня возникает проблема с правильным распределением памяти в программе, и я могу прервать ее.
Но... ulimit не работает в OSX 10.6. Я пробовал с параметрами -s и -m, и они не работают.
В 2008 г. эта же проблема обсуждалась в MacRumors, но никто не предложил хорошая альтернатива. Должен быть способ, которым программа может узнать, что она тратит слишком много памяти или устанавливает ограничение через ОС.
setrlimit
, с любым из RLIMIT_RSS, RLIMIT_DATA, RLIMIT_AS или (здесь) RLIMIT_STACK. - person Paul Biggar   schedule 28.12.2010