Куча JVM - есть ли способ определить, сколько кучи потребляет один поток? - PullRequest
3 голосов
/ 28 января 2011

Есть ли способ программно (без использования профилировщиков и т. Д.) Определить, сколько кучи памяти потребляет один поток?Или есть способ установить ограничение на объем памяти, потребляемой потоком?

(я думаю, что может быть возможным на Java7, хотя)

1 Ответ

1 голос
/ 13 марта 2013

Вы можете использовать ThreadMXBean.getThreadAllocatedBytes (long id) :

Возвращает приблизительное значение общего объема памяти в байтах, выделенного в памяти кучи для потокауказанный идентификатор.Возвращаемое значение является приблизительным, потому что некоторые реализации виртуальной машины Java могут использовать механизмы выделения объектов, которые приводят к задержке между временем выделения объекта и временем записи его размера.

...