1

如何使用 java 获取特定线程的 Windows cpu 内存消耗?我只想知道内存使用情况而不是 CPU 时间。

4

2 回答 2

1

如何使用 java 获取特定线程的 Windows cpu 内存消耗?我只想知道内存使用情况而不是 CPU 时间。

你不能。由于所有线程共享一个公共堆,因此无法将在 JVM 中创建的堆内存资源与创建它的线程联系起来。每个线程都分配了堆栈内存,但我无法确定每个线程消耗了多少堆栈空间。

探查器是您最好的方法,但我认为即使他们向您展示拥有线程。但是,您可以从对象调用堆栈中推断出此信息。

于 2013-06-06T12:12:49.150 回答
0

您想在您的代码中或使用工具来执行此操作?

使用像 VisualVM 这样的分析器,这很容易。但在 Java 中,这更难,因为 JVM 将堆视为线程的共享而不是分离的堆。

于 2013-06-06T12:13:34.957 回答