Класс 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.- Since:
- 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, 2023, 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/21/docs/api/java.management/java/lang/management/MemoryUsage.html