Всякий раз, когда я запускаю parfor в matlab, в диспетчере задач я вижу, что 4 сеанса на четырехъядерной машине занимают всего около 2,1 ГБ памяти. Есть ли способ увеличить память, полученную для процессов Matlab? То же самое касается процессора - он не достигает даже 50% использования. Я даже попробовал увеличить работу, но то же самое остается.Назначение памяти Matlab
ответ
Память не является данным процессам, а запрашивается процессом, а затем выделяется, если доступно. Если вы используете 64-битную версию Matlab, то у нее по существу будет доступ к столько памяти, сколько доступно на вашем компьютере. Matlab просто не запрашивает больше 2,1 ГБ, поэтому здесь ничего не поделаешь. Что заставляет вас думать, что использование большего объема памяти в любом случае повысит производительность?
Для использования ЦП ситуация немного сложнее. Является ли ваша машина настоящим четырехъядерным процессором или двухъядерным процессором с гиперпотоком. Скорее всего, это последний, который отображается в диспетчере задач как имеющий 4 ядра, но на самом деле использует умные трюки в процессоре, чтобы одновременно использовать два разных процесса для использования одного и того же ядра. Если вы загружаете ядро очень сильно, эти трюки не могут использоваться, поэтому они будут отображаться как 50% -ное использование, даже если вы фактически использовали всю доступную вычислительную мощность.
И, наконец, это очень зависит от приложения. Например, если вы много читаете или записываете на диск (или, в меньшей степени, в память), то использование ЦП может оказаться ниже, чем вы ожидали бы просто потому, что оно ожидает завершения других операций.
Короче говоря, на уровне операционной системы ничего не может быть сделано, чтобы значительно увеличить объем обработки, который может выполнять Matlab. Вы можете почти всегда улучшать выигрыш, оптимизируя свой алгоритм.
В этом случае позвольте мне перефразировать его. Как получить процессор и использование данных памяти (и, возможно, использование диска) в режиме реального времени по мере запуска кода? Есть ли способ сохранить эти данные в файле? – user5461722
@ user5461722, это совсем другой вопрос, но, возможно, см. [Этот ответ] (http://stackoverflow.com/a/25953389/2433501). – zelanix
- 1. Функция Delaunay() MATLAB Назначение
- 2. Ошибка памяти памяти Matlab
- 3. Назначение памяти java jvm
- 4. Назначение памяти массивам
- 5. назначение памяти локальных переменных
- 6. Назначение памяти двойному указателю?
- 7. Назначение памяти JavaScript
- 8. CUDA: Совместное назначение памяти
- 9. Принудительное назначение parfor в MATLAB
- 10. назначение структурных массивов в matlab
- 11. Loopless Назначение подматрица в Matlab
- 12. Назначение входов/выходов MATLAB ANN
- 13. Назначение значений ячейкам в matlab
- 14. Назначение легенды в петле Matlab
- 15. Matlab массив ячеек элемент Назначение
- 16. Назначение блоков памяти для структур
- 17. Передача переменной MATLAB и ленивое назначение
- 18. Освобождение памяти CUDA Matlab
- 19. Ошибка MATLAB: из памяти
- 20. MATLAB «из памяти» ошибки
- 21. Увеличение памяти Matlab
- 22. Недостаточно памяти для MATLAB?
- 23. Из памяти matlab
- 24. «Из памяти» Matlab
- 25. Назначение массива ячеек в структуре MATLAB
- 26. Назначение результата векторнозначной MATLAB функции в цикле
- 27. Назначение замены матрицы MATLAB дает ошибку
- 28. Matlab Назначение элементов в массив в цикле
- 29. Matlab Назначение 1D фрагмента 3D-массива
- 30. Matlab назначение - возвращать только нечетные элементы
Это очень проблемно. Объем памяти/процессора, который будет использоваться вашим компьютером, зависит от выполняемой задачи: –