Вы уверены, что это ГБ, а не МБ?Я не пытаюсь что-либо подразумевать, но это огромное количество оперативной памяти для системы, которую вы еще не представили.И я хотел бы знать, что это за приложение, написанное на Java и потребляющее столько оперативной памяти.У нас работают эти большие оперативные серверы, но мы запускаем системы EMR для больничной системы с тысячами пользователей одновременно (на Java ...).
Если на самом деле это ГБ, у вас огромныйCodeBase или хранить много объектов в оперативной памяти.Возможно, все еще выделено много объектов, которые не могут быть использованы GC.
Если я правильно понимаю ваш инструмент, это объясняет, что Java резервирует системную память, но не выделяет ее объектам.Это был бы ваш свободный баран.Используемая память - это та, которая используется кодовой базой и объектами в памяти.Java иногда будет содержать оперативную память, которая в данный момент не используется, и не выпускает ее в ОС для обеспечения непрерывности адресов памяти (предотвращает фрагментацию оперативной памяти).Mike