У нас есть Java-программа, которая требует большого количества кучи - мы начинаем с (среди других аргументов командной строки) аргумент -Xmx1500m, который определяет максимальное кучное пространство 1500 MB. При запуске этой программы в Windows XP, которая была перезагружена, она запускается и запускается без проблем. Но если программа запуска несколько раз, компьютер был на некоторое время, и т.д., когда он пытается запустить я получаю эту ошибку:Инструменты для просмотра/устранения фрагментации памяти Windows XP
Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
я подозреваю, что сама Windows, страдает от фрагментации памяти, но Я не знаю, как подтвердить это подозрение. В то время, когда это происходит, диспетчер задач и sysinternals procexp сообщают о свободной памяти 2000 МБ. Я посмотрел на this question related to internal fragmentation
Итак, первый вопрос: как подтвердить мои подозрения? Второй вопрос: если мои подозрения верны, кто-нибудь знает какие-либо инструменты для решения этой проблемы? Я немного оглянулся, но ничего не нашел, кроме периодических перезагрузок машины.
ps - изменение операционных систем также не является жизнеспособным вариантом.