gpt4 book ai didi

java - 如何查看Java进程内所有线程的所有上下文切换的总和?

转载 作者:太空狗 更新时间:2023-10-29 12:16:48 25 4
gpt4 key购买 nike

我在 CentOS Linux 上运行 pidstat 来监控 Java 应用程序。当我将 java pid 提供给 pidstat 时,它从不显示任何上下文切换。

top
2407 root 20 0 7939m 4.2g 11m S 129.3 58.4 138:47.08 java

pidstat -w -I -p 2407 3

09:53:41 AM PID cswch/s nvcswch/s Command
09:53:44 AM 2407 0.00 0.00 java

我必须找到特定 Java 线程的 pid(使用 top -H)才能查看上下文切换。

top -H
2915 root 20 0 7939m 4.2g 11m R 22.8 58.3 17:36.93 java

pidstat -w -I -p 2915 3

09:53:41 AM PID cswch/s nvcswch/s Command
10:10:11 AM 2915 643.67 230.33 java

如何查看 Java 进程中所有线程的所有上下文切换的总和?

最佳答案

如果您希望在 Java 中执行此操作,则 API 不提供此类方法。您将不得不采用依赖于平台的方式来执行此操作。

您或许可以使用 JNI/JNA 为不同的操作系统本地执行此操作:


如果你打算用 pidstat 做这个,那么你真的应该在 SuperUser.com 中问这个问题.但是,据我所知,您可以将 -t 添加到您的 pidstat 命令中,这样它看起来像这样:

pidstat -w -I -t -p <pid> 3

它将列出进程中所有线程的统计信息。

关于java - 如何查看Java进程内所有线程的所有上下文切换的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com