MATLAB замедляется на долгих сеансах отладки - PullRequest
7 голосов
/ 12 октября 2011

Я заметил, что MATLAB (R2011b в Windows 7, 64 бит) имеет тенденцию замедляться, если я нахожусь в режиме отладки в течение длительного периода времени (например, 3 часа). Я не помню, чтобы это происходило в предыдущих версиях MATLAB.

Замедление является небольшим, но достаточно значительным, чтобы повлиять на мою производительность (иногда MATLAB нужно подождать до 1 секунды, прежде чем я смогу печатать в командной строке или в редакторе).

Я обычно трачу часы на режим отладки (например, после остановки на клавиатуре), кодируя полные проекты в этом режиме. Я считаю, что работа в режиме отладки удобна для органического наращивания кода при проверке кода в любое время во время выполнения.

Странно то, что моя машина имеет 16 ГБ оперативной памяти, а общий размер всех рабочих пространств в режиме отладки обычно составляет менее 4 ГБ. У меня нет других крупных процессов, работающих в фоновом режиме, и моя система сообщает о ~ 8 ГБ свободной оперативной памяти.

Кроме того, к сожалению, MATLAB не позволяет мне вызывать pack из режима отладки; жалуется на:

Warning: PACK can only be used from the MATLAB command line. 

Я воспроизвел это поведение после перезапуска MATLAB, перезагрузки системы и в разные дни. С этим мой вопрос (ы):

  • Кто-нибудь еще заметил это? Что я могу сделать, чтобы предотвратить это замедление, не выходя из режима отладки?
  • Есть ли какие-либо технические заметки или заявления от Mathworks, касающиеся этой проблемы?

В случае, если это имеет значение, мой код находится на сетевом диске, поэтому я добавил в файл startup.m следующее, что должно уменьшить любое влияние на производительность в результате этого:

system_dependent('RemoteCWDPolicy', 'None');
system_dependent('RemotePathPolicy', 'None');
system_dependent('DirChangeHandleWarn','Never');

Ответы [ 2 ]

1 голос
/ 18 января 2012

У меня возникли некоторые похожие проблемы.Проблема закончилась тем, что Mathworks изменил способ кэширования файлов в Matlab.Для некоторых пользователей теперь он хранит данные в папке TMP, как это определено переменными среды.Эта папка проверялась антивирусом и вызывала много проблем с производительностью.Конечно, ИТ не позволили бы нам исключить папку TMP из сканирования.Таким образом, мы добавили строку в наш сценарий запуска, который изменяет переменную среды TMP на другое место в исключенной папке.

Вам не нужно беспокоиться о том, чтобы изменить переменную или испортить другие программы.Когда приложения запускаются, они копируют переменные среды в свои локальные экземпляры.Любые изменения, внесенные в них, изменяют только локальную копию этих переменных, а не системную копию.

Вот функция, которая вам понадобится.

setenv ('TEMP', 'C: \ TEMP');

Я не уверен, что это TMP илитемператураПроверьте переменные среды, чтобы быть уверенным.

0 голосов
/ 21 апреля 2012

Я использую MATLAB R2011 на Linux 10, Windows 7 (32 бит).Я испытал замедление работы MATLAB при печати простых переменных в командном окне.Оказалось, что в моем редакторе загружен один файл .m.Это был большой файл с 10000 строками.Эти строки были простыми данными, которые должны были быть сохранены в виде файла.Когда я закрыл этот файл, редактор вернулся к нормальной скорости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...