Во время выполнения, как может программа java указать, сколько памяти она использует?
Во время выполнения, как может программа java указать, сколько памяти она использует?
Мне все равно, насколько он эффективен!
Ответ 1
Ответ VonC - это интерактивное решение - если вы хотите знать программно, вы можете использовать Runtime.totalMemory(), чтобы узнать общую сумму используемые JVM, и Runtime.freeMemory(), чтобы узнать, сколько из них все еще доступно (то есть оно выделено JVM, но не выделенные в JVM - новые объекты могут использовать эту память).
Это методы экземпляра - используйте Runtime.getRuntime(), чтобы сначала получить экземпляр singleton.
Ответ 2
Если у вас есть java1.6 где-то и ваша программа работает в java 1.4.2, 1.5 или 1.6, вы можете запустить visualVM session, подключитесь к вашему приложению и следуйте за памятью (и многое другое)
(Изображения не отображаются в данный момент, поэтому, пожалуйста, ссылайтесь на Мониторинг приложения для иллюстрации.)
Ответ 3
Это будет неточно, но для приблизительной оценки просто вычтите Runtime.getRuntime.freeMemory() из Runtime.getRuntime.totalMemory().
Сделайте это в начале программы, чтобы получить представление об использовании служебной памяти JVM's и с перерывами в последнем выполнении.