Pref:: maxMemУстановите предел памяти для сеанса
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Pref::maxMem(kbytes)
Pref::maxMem(NIL)
Pref::maxMem()
Pref::maxMem(kbytes) с kbytes, больше, чем 0, устанавливает предел для физически выделенной памяти о текущем сеансе MuPAD®. Вычисление, превышающее этот предел памяти, повышает ошибку.
Физически выделенная память является второй из значений, возвращенных bytes().
Предел памяти является “мягким”, потому что память проверяется только иногда. Обычно, больше памяти на самом деле используется, прежде чем избыток обнаруживается. Cf. Пример 1.
Вызов Pref::maxMem() возвращает текущее значение предела памяти, не изменяя его.
Вызов Pref::maxMem(NIL) выключает сторожевой таймер памяти.
Никакое вычисление не должно увеличивать использование памяти текущего сеанса MuPAD к больше, чем в общей сложности 10 мегабайтам:
Pref::maxMem(10 * unit::MByte):
Следующий цикл создает большие и большие матрицы, пока предел памяти не превышен. Обратите внимание на то, что текущее выделение физической памяти, возвращенное bytes() [2], измеряется в байтах:
for n from 100 to 150 step 5 do A := linalg::vandermonde([x.j $ j=1..n]); print(n, ceil(bytes()[2]/1024)*unit::kByte); end_for:
![]()
![]()
![]()
![]()
Error: Out of memory [watchdog-memory]; Evaluating: linalg::vandermonde
Error: Out of memory. [watchdog-memory] Evaluating: linalg::vandermonde
Обратите внимание на то, что предел памяти был превышен при вычислении 115 ×115 матриц Вандермонда. Однако, потому что потребление памяти измеряется только иногда, эта матрица была сгенерирована успешно без ошибки. Только на следующем шаге, сторожевой таймер памяти распознает чрезмерное использование памяти и прерывает вычисление 120×120 матрица Вандермонда.
Pref::maxMem(NIL): delete A:
|
Предел памяти в кбайтах: неотрицательное целое число или выражение с помощью |
Ранее заданный предел памяти: 0 или выражение, включающее unit::MByte.