Как выбрать способ, которым Java выделяет память? - PullRequest
0 голосов
/ 27 декабря 2018

Мне известны различные системные распределители, и теперь я пытаюсь поиграть с ними в контексте JVM.Вопрос в том, можно ли сообщить горячей точке, какой распределитель использовать (например, я хочу, чтобы JVM делала все выделения с tcmalloc или, возможно, просто каждый раз вызывал mmap / munmap).

Может быть, естьтакое опция JVM?

1 Ответ

0 голосов
/ 27 декабря 2018

jcmd VM.Native_memory показывает размер, который намного меньше, чем RSS

Я бы посмотрел на /proc/{pid}/smap, чтобы увидеть, какие регионы являются резидентными.У вас может быть много виртуальной памяти, используемой стеками потоков, которые обычно не являются резидентными.

Если java-программа выделила много памяти вне кучи, у вас будет DirectByteBuffer объектов для переноса каждой области памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...