В Java 8 кучной распечатке, вы можете увидеть строку, которая выглядит как:Понимания Метапространства линии в JVM кучи распечатке
Метапространство используется 2425K, способности 4498K, совершил 4864K, защищены 1056768K
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html пытается объяснить строку:
В строке, начинающейся с Metaspace, значение - это объем пространства, используемого для загруженных классов. Значение - это пространство, доступное для метаданных в выделенных в настоящее время кусках. Значение - это объем свободного места для кусков. Значение зарезервировано - это объем зарезервированного места (но не обязательно совершенный) для метаданных.
Опять же, из приведенной выше ссылке:
Space запрашивается у ОС, а затем разделить на куски. Погрузчик классов выделяет пространство для метаданных из своих кусков (кусок привязан к определенному загрузчику класса).
Я хочу знать, что означает каждое поле (используется, емкость, совершено, зарезервировано), но я изо всех сил стараюсь понять приведенные выше определения.
Я понимаю, что метапространство вырезано из виртуального адресного пространства процесса JVM. JVM резервирует начальный размер при запуске на основе -XX: MetaspaceSize, который имеет недокументированные значения по умолчанию для платформы. Я предполагаю, что зарезервировано относится к общему размеру метассы. Пространство делится на куски. Я не уверен, что каждый кусок имеет одинаковый размер. Каждый кусок содержит метаданные класса, связанные с загрузчиком одного класса.
Вместимость и совершили звучит как свободное пространство для меня (на основе определений из ссылки). Поскольку метаданные хранятся в кусках, я бы предположил, что используемая + емкость была бы равной, но это не так. Может быть, совершенное означает зарезервированное пространство, которое используется, но тогда то, что могло бы означать? Используемое пространство, используемое метаданными? Затем, какие еще способы использовать пространство?
Надеюсь, вы увидите мое замешательство. Я был бы признателен за разъяснения в отношении определений.
Спасибо, это отличный ответ и очищает мое замешательство! Наличие картинки, иллюстрирующей ваш текст, было приятным прикосновением. –