У меня есть Java-программа, которая в какой-то момент превращается в 100% использование процессора и состояние сна одновременно. Программа не является многопоточной.JVM - Goes 100% загрузка процессора
Оглядываясь вокруг, я думаю, что наиболее вероятной причиной этого является ошибка или некорректность в том, как я запускаю java-интерпретатор в отношении сбора мусора. Я могу только думать, что использование 100% CPU связано с GC. Я выделяю достаточно памяти для запуска программы с помощью Xmx, и программа не запускается даже около суммы, которую я выделяю. Сумма, которую я выделяю, также намного меньше, чем общая память, доступная на машине.
Я нашел это:
http://code.google.com/p/spymemcached/issues/detail?id=279
Были также некоторые упоминания о том, что на stackoverflow.com, такие как здесь:
CMS garbage collector - when does it run?
Тем не менее я не мог найти решение , Является ли это ошибкой в JVM, и если да, то как бы я ее исправить?
EDIT: Я добавил пасту на выходе jstack здесь: http://pastebin.com/Au0V9FCN
Получить дамп стека с помощью 'jstack', чтобы увидеть, что там происходит. Через какое-то время происходит 100% -ное использование? – Thilo
никогда не опускается, нет. – kloop
Затем получите выход jstack. – Thilo