多线程—如何使用java获取特定线程的cpu内存消耗?

ltqd579y  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(355)

这个问题在这里已经有了答案

我的java线程占用多少内存(1个答案)
7年前关门了。
如何使用java获取特定线程的windows cpu内存消耗?我只想知道内存使用情况,不想知道cpu时间。

q8l4jmvw

q8l4jmvw1#

如何使用java获取特定线程的windows cpu内存消耗?我只想知道内存使用情况,不想知道cpu时间。
你不能。无法将jvm中创建的堆内存资源绑定到创建它的线程,因为所有线程共享一个公共堆。有堆栈内存分配给每个线程,但我知道没有办法确定有多少堆栈空间已被每个线程消耗。
剖析器是最好的方法,但我不认为即使他们向你展示自己的线程。但是,您可以从对象调用堆栈中推断出这些信息。

yshpjwxd

yshpjwxd2#

你想在你的代码里还是用工具?
使用visualvm这样的探查器,这很简单。但在java中,这更难,因为jvm将堆视为线程的共享而不是分离堆。

相关问题