В 32-разрядной операционной системе, где максимальная память, выделенная для какой-либо одной программы, ограничена, Mathematica изящно завершает работу ядра и возвращает максимальную ошибку выделения памяти.
Однако на 64-битной ОС Mathematica будет свободно использовать всю доступную память и остановить работу системы. Поэтому, как правильно использовать память? Можно использовать MemoryConstrained
в сочетании с $Pre
или CellEvaluationFunction
, но я бы предпочел не связывать ни один из них для этой цели, или изменить существующие функции для включения этой функции.
Есть ли другой способ глобально ограничить использование памяти, например флаг ядра или систему $Option?