Функция matlab "memory" на Mac?

В компьютерах Windows пользователи MATLAB могут использовать либо memory, либо feature memstats. Тем не менее, ни одна из этих функций не работает на машине, но выглядит следующим образом:

>> memory
??? Error using ==> memory
Function MEMORY is not available on this platform.

>> feature memstats
??? Error using ==> feature
An unknown feature was specified

Кто-нибудь знает, как получить доступ к информации об использовании памяти в MATLAB на Mac?

Ответ 1

Мне не удалось найти команду, которая воспроизводит функциональные возможности memory. Однако, если вы знаете, сколько полной памяти у вас есть, вы можете использовать who (или vsize из файла обмена для более подробной информации), чтобы оценить, сколько памяти ваши переменные в настоящее время используют и, следовательно, сколько свободного места у вас есть.

Кстати, вы всегда можете узнать о памяти Java, вызвав

java.lang.Runtime.getRuntime.maxMemory
java.lang.Runtime.getRuntime.totalMemory
java.lang.Runtime.getRuntime.freeMemory

Обратите внимание, что память Matlab и память Java различны: память Java используется для пользовательского интерфейса, включая рисунки, а также другие Java-объекты, а memory сообщает память, доступную для переменных и вычислений.

Ответ 2

memory доступен только в системах Windows.

Вместо этого вы можете использовать top встроенную команду Mac.

Ответ 3

Я знаю, что этот вопрос старый и уже ответил, но для тех, кто ищет этот ответ, альтернативу, которая работает на всех платформах, чтобы использовать whos:

allvars = whos;
memused = sum([allvars.bytes]);

Это предполагает, что у вас есть только одна рабочая область, используемая вашей функцией script/. Если у вас есть script, который использует несколько рабочих областей, вам нужно будет указать все разные рабочие области и добавить их вместе.