Класс 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
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, 2025, 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/25/docs/api/java.management/java/lang/management/MemoryUsage.html