2016-02-09 12 views
2

Я работаю над проектом мониторинга; у нас есть программное обеспечение для мониторинга, которое работает и вспоминает метрики с сервера. Все работает нормально, но нам нужна информация о деталях использования JVM-памяти. У нас есть несколько столбцов с разными типами памяти. Мы должны знать, что это:Типы памяти JVM

  • Heap
  • Non Heap
  • Использование
  • Пик
  • Coll

Мы получили максимальные значения для всех этих колонок (HeapMax, NonHeapMax, UsageMax, PeakMax и CollMax), а также используются (HeapUsed, NonHeapUsed, UsageUsed, PeakUsed и CollUsed)

Мы знаем, что такое Куча и NonHeap, но мы не знаем об Usage, Peak и Coll.

Кто-нибудь знает, что это такое?

Заранее спасибо.

ответ

0

От Java documentation ссылки:

MemoryUsage объекта представляет собой снимок использования памяти. Экземпляры класса MemoryUsage обычно создаются методами, которые используются для получения информации об использовании памяти для отдельного пула памяти виртуальной машины Java или кучи или памяти без кучи виртуальной машины Java в целом.

MemoryUsage объект содержит четыре значения:

инициализации представляет начальный объем памяти (в байтах), что запросы виртуальной машины Java от операционной системы для управления памятью во время запуска.

представляет собой объем используемой памяти (в байтах).

представляет собой объем памяти (в байтах), который гарантированно будет доступен для использования виртуальной машиной Java. Количество фиксированной памяти может меняться со временем (увеличение или уменьшение).

max представляет собой максимальный объем памяти (в байтах), который может использоваться для управления памятью. Его значение может быть неопределенным. Максимальный объем памяти может меняться со временем, если он определен.

Объем используемой и фиксированной памяти всегда будет меньше или равен max, если max определен.

Распределение памяти может быть неудачным, если оно пытается увеличить используемую память таким образом, что используется> совершено, даже если используется < = max все равно будет истинным (например, когда система находится на низком уровне в виртуальной памяти).

Посмотрите на это link, чтобы узнать о различных API, связанных с памятью.

Ознакомьтесь с этим вопросом SE для типов памяти и внутренних блоков Heap и Non Heap.

How is the java memory pool divided?

Я не нашел никакой информации о CollUsed и я подозревавший ошибку типа в этом вопросе. Я подозреваю, что это может быть committed память, если я не ошибаюсь.

Просьба перекрестно проверить один раз на точный API.

0

Использование: - может быть память в настоящее время используется (т.е. Используется: в изображении)

Пика: - может быть привержена памятью до времени (т.е. поручено: в изображение)

Coll: - может быть максимальный объем памяти, который может быть использован (т.е. Max: в изображении)

Максимальное: фиксировано для срока службы JMV.

Используется и фиксируется: изменяется в зависимости от нагрузки.

Я приложил снимок JConsole, в котором перечислены эти атрибуты.

+0

JConsole моментальный снимок не отображается в сообщении. Я не знаю почему. но вы можете проверить атрибуты therse от JConsole или JVisualVM. – Mahendra

Смежные вопросы