Класс MemoryUsage
public class MemoryUsage extends Object
MemoryUsage представляет собой снимок использования памяти. Экземпляры класса MemoryUsage обычно создаются методами, которые используются для получения информации об использовании памяти отдельных пулов памяти виртуальной машины Java или кучи или некучной памяти виртуальной машины Java в целом. Объект MemoryUsage содержит четыре значения:
| Значение | Описание |
|---|---|
init | представляет собой начальный объём памяти (в байтах), который виртуальная машина Java запрашивает у операционной системы для управления памятью во время запуска. Виртуальная машина Java может запросить дополнительную память у операционной системы и может также освобождать память в систему со временем. Значение init может быть неопределенным. |
used | представляет собой объём памяти, который в данный момент используется (в байтах). |
committed | представляет собой объём памяти (в байтах), который гарантированно доступен для использования виртуальной машиной Java. Количество выделенной памяти может изменяться со временем (увеличиваться или уменьшаться). Виртуальная машина Java может освобождать память в систему, и committed может быть меньше, чем init. committed всегда будет больше или равно used. |
max | представляет собой максимальный объём памяти (в байтах), который может быть использован для управления памятью. Его значение может быть неопределённым. Максимальный объём памяти может изменяться со временем, если он определён. Объём используемой и выделенной памяти всегда будет меньше или равен max, если max определён. При попытке увеличить используемую память таким образом, что used > committed, может произойти сбой выделения памяти, даже если used <= max по-прежнему будет истинным (например, при недостатке виртуальной памяти в системе). |
+----------------------------------------------+
+//////////////// | +
+//////////////// | +
+----------------------------------------------+
|--------|
init
|---------------|
used
|---------------------------|
committed
|----------------------------------------------|
max
Сопоставление MXBean
MemoryUsage сопоставляется с CompositeData с атрибутами, как указано в методе from.- С:
- 1.5
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MemoryUsage |
Создаёт объект MemoryUsage. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static MemoryUsage |
from |
Возвращает объект MemoryUsage, представленный заданным CompositeData. |
long |
getCommitted() |
Возвращает объём памяти в байтах, выделенный для использования виртуальной машиной Java. |
long |
getInit() |
Возвращает объём памяти в байтах, который виртуальная машина Java первоначально запрашивает у операционной системы для управления памятью. |
long |
getMax() |
Возвращает максимальный объём памяти в байтах, который может быть использован для управления памятью. |
long |
getUsed() |
Возвращает объём используемой памяти в байтах. |
String |
toString() |
Возвращает описательное представление этого использования памяти. |
Подробное описание конструкторов
MemoryUsage
public MemoryUsage(long init, long used, long committed, long max)
MemoryUsage.- Параметры:
-
init- начальный объём памяти в байтах, который виртуальная машина Java выделяет; или-1, если он неопределён. -
used- объём используемой памяти в байтах. -
committed- объём выделенной памяти в байтах. -
max- максимальный объём памяти в байтах, который может быть использован; или-1, если он неопределён. - Исключения:
-
IllegalArgumentException- если- значение
initилиmaxотрицательное, но не-1; или - значение
usedилиcommittedотрицательное; или -
usedбольше значенияcommitted; или -
committedбольше значенияmaxmaxесли он определён.
- значение
Подробное описание методов
getInit
public long getInit()
-1 если начальный размер памяти неопределён.- Возвращает:
- начальный размер памяти в байтах;
-1если неопределён.
getUsed
public long getUsed()
- Возвращает:
- объём используемой памяти в байтах.
getCommitted
public long getCommitted()
- Возвращает:
- объём выделенной памяти в байтах.
getMax
public long getMax()
-1 , если максимальный размер памяти неопределён. Этот объём памяти не гарантированно доступен для управления памятью, если он больше объёма выделенной памяти. Виртуальная машина Java может не выделить память, даже если объём используемой памяти не превышает этот максимальный размер.
- Возвращает:
- максимальный объём памяти в байтах;
-1если неопределён.
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
from
public static MemoryUsage from(CompositeData cd)
MemoryUsage , представленный заданным CompositeData. Заданный CompositeData должен содержать следующие атрибуты: | Имя атрибута | Тип |
|---|---|
| init | java.lang.Long |
| used | java.lang.Long |
| committed | java.lang.Long |
| max | java.lang.Long |
- Параметры:
-
cd-CompositeDataпредставляющийMemoryUsage - Возвращает:
- объект
MemoryUsage, представленныйcdеслиcdнеnull;nullв противном случае. - Исключения:
-
IllegalArgumentException- еслиcdне представляетMemoryUsageс атрибутами, описанными выше.
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.management/java/lang/management/MemoryUsage.html