windows下排查java程序CPU占用高

1、先运行java项目

2、打开任务管理器,找到cpu占用的java进程的PID

3、再利用jdk自带的jstack命令,在控制台下,jstack -l PID >E://wwww.stack,这个命令就是把这个进程的堆栈信息打印到E盘下wwwww.stack这个文件中

4、下载windows查看线程的工具process-explorer   连接    https://download.sysinternals.com/files/ProcessExplorer.zip

5、解压打开,根据系统选择32位的或者64位的打开,找到java程序,找到你刚才任务cpu高的PID,再点击进去,选择Thread的选项卡


6、找到CPU高的TID,这里是10进制的数字,在计算器下输入数字后,比如8504,转换成16进制


7、再打开先前导出的堆栈文件,查询nid等于这个数字的


8、找到熟悉的类,就可以慢慢排查了


9、线程的状态

    1    新建状态(New)

    2    就绪状态(Runnable)

    3    运行状态(Running)

    4    阻塞状态(Blocked)

    5    死亡状态(Dead)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。