Функция 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, который использует несколько рабочих областей, вам нужно будет указать все разные рабочие области и добавить их вместе.