Согласно Настройка производительности Java, профилирование и управление памятью статья
Если у вас нет проблем с паузами, попробуйте выделить виртуальной машине как можно больше памяти
Установка -Xms и -Xmx на одно и то же значение…. Но будьте уверены в поведении приложения
Обязательно увеличивайте объем памяти при увеличении количества процессоров, поскольку распределение может быть распараллелено
Не забудьте настроить пермское поколение
Согласно Осмысление управления памятью и измерений памяти ключей
- Кэшированная память содержит данные или программный код, который был извлечен в память во время текущего сеанса, но больше не используется в настоящее время. При необходимости диспетчер памяти Windows сбросит содержимое кэшированной памяти, чтобы освободить место для вновь вызванных данных.
Свободная память представляет оперативную память, которая не содержит никаких данных или программного кода и свободна для немедленного использования.
Commit Charge (также называемый размером commit) - это общий объем виртуальной памяти, к которой программа коснулась (зафиксированная) в текущем сеансе, включая память, выгруженную из физической памяти в файл подкачки на диске. Счетчики «Память и физическая память» на вкладке «Быстродействие» диспетчера задач представляют сумму этого значения для всех процессов и ядра. Предел фиксации - это общий объем доступной физической памяти и файла подкачки, другими словами, максимальная виртуальная память.
Таким образом, ваша система может иметь гораздо больше, чем вы видите в Free memory
, поскольку она может выделять дополнительные страницы из кэшированного и виртуального пулов, поэтому должно быть в порядке, чтобы предоставить 5 ГБ пространства для JMeter.
Однако вам нужно следить за использованием кучи JVM и операцией сбора мусора (это можно сделать с помощью, например, JVisualVM ), как если бы вы установили слишком большую кучу, которая в действительности не будет использоваться JMeter. JVM будет тратить гораздо больше времени на сборку мусора, и если будет интенсивно использоваться файл подкачки, ваш механизм JMeter не будет работать хорошо, так как дисковый ввод-вывод намного медленнее, чем операции с ОЗУ.
См. 9 Простые решения для теста нагрузки JMeter «Ошибка памяти» * Статья 1057 * для получения дополнительной информации о настройке JMeter для высоких нагрузок.