В среде выполнения Java, если мое приложение освобождает память, среда выполнения освобождает память обратно в ОС? Или просто вернемся к моему процессу?Java VM - освобожденная память возвращается в ОС?
ответ
Это зависит от реализации JVM и не указывается в спецификации.
Солнце JVM будет удерживать его как первый шаг. Когда определенный (настраиваемый) процент выделенной памяти не используется, он вернет часть из них в ОС (на поведение влияет MinHeapFreeRatio
and MaxHeapFreeRatio
settings).
Вернитесь к процессу сначала, но также можете вернуться в ОС в конце. Память, выделяемая GC, находится в большом смежном фрагменте (куче) или наборе кусков, а GC «freeing» просто освобождает выделение в куче, но не обязательно возвращается к ОС. Как только GC уплотняется, VM может вернуть некоторую память в ОС.
GC хочет удержать определенное пространство, чтобы он мог быстро обслуживать будущие «новые» запросы на память. Таким образом, GC делает запросы к ОС для памяти в больших сегментах, как можно реже.
- 1. Получается ли освобожденная память malloc?
- 2. Освобожденная память, не вызывающая ошибки страницы
- 3. java: Когда память возвращается в методе?
- 4. Как возвращается планировщик ОС?
- 5. Память PHP и ОС выделенная память
- 6. Где возвращается память malloc?
- 7. Правильно освобожденная динамически распределенная структура
- 8. Предотвращает замену ОС на виртуальную память/диск в Java?
- 9. Как получить оперативную память в ОС Windows?
- 10. обнаруживая Java VM архитектуры на ОС Windows 10
- 11. VM: UITableViewLabel ест память iOS
- 12. В Java, память кучи и системная память
- 13. OpenJDK Client VM - Не удается выделить память
- 14. Необходимо ли отображать память, выделенную устройством ОС, в виртуальную память?
- 15. azk - Как увеличить память VM в azk?
- 16. Что содержит память ядра в ОС Windows?
- 17. Освободить Java-память для ОС во время выполнения.
- 18. Azure VM. Получите версию ОС. Powershell
- 19. Powershell Создание новой ОС Windows 10 VM
- 20. Cocos2d Позиция CCSprite Освобожденная ошибка
- 21. Java VM в проекте JavaFX
- 22. действительно освобождает (переносимо) освобождает и резервирует память для процесса или возвращается в ОС
- 23. работает ОС на bochs возвращается ошибка
- 24. Что небезопасно.allocateMemory возвращается в Java
- 25. Java, Java VM, Java Platform,
- 26. Force free() возвращает память malloc обратно в ОС
- 27. Java Многопользовательская память
- 28. Ядро ОС использует виртуальную память для себя?
- 29. Как запрограммировать базовую информацию о ОС Azure VM
- 30. Python-chain.from_iterable адрес возвращается память вместо значения
Я никогда не видел, чтобы виртуальная машина Java ужасно агрессивно относилась к возврату памяти в систему - возможно, это хорошо по умолчанию. Процессы Java, как правило, длительные и постоянно расширяющиеся и сокращающиеся могут фрагментировать память. Для большинства серверных решений освобождение памяти приведет к детерминированному поведению и низкой производительности, однако было бы неплохо, если бы они оставили это решение пользователям (с настройками -Xmx/-Xms). –