а можно как то понять какие проблемы есть когда компиляция останавливается, если пока никаких видимых проблем нет?
я к тому, что с проблемами пока никто не прибежал, но они вполне могут быть. И если я знаю что кодкеш заканчивается и что какой то энв может тормозить, то могу я найти где и как он тормозит?
Ну смотрите: сама по себе остановка компиляции может и не быть проблемой. Некоторые приложения вообще запускают с -Xint и горя не знают.
Если всё-таки попробовать найти в этом какую-то проблему, то можно, наверное, найти несколько возможных причин.
- нестабильная компиляция. Т.е. JIT делает предположения, которые когда-то перестают быть верными. Например, проверка на null не возвращала true, а потом стала, а потом наоборот и т.д.
- есть генерируемый код, который активно вызывается. Если код будет постоянно появляться, использоваться, компилироваться, а потом выкидываться - Code Cache может наполняться очень активно.
- В качестве маловероятного сценария, но всё же - может быть утечка памяти в JIT, на которую вы наткнулись.
Чтобы это диагностировать, можно попробовать: -XX:+PrintCompilation, -XX:+LogCompilation и подобное