新版本项目打包的时候发现电脑特别卡,打开任务管理器发现CPU使用率达到100%,以为是电脑卡了,后来布到另一个电脑上,发现CPU仍然是100%…对不起我的电脑
放一下成功解决的步骤~
1. 先下载个Process Explorer
这个软件是可以查看进程的CPU占有率,任务管理器只能看到进程的CPU占有率,放个地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
2. 打开任务管理器
打开任务管理器,找到java,右键点击【转到详细信息】,或者直接到详细信息里找java,查看java对应的PID。(这是win10下的,win7可以点击【查看】- > 【选择列】然后点击PID)
3. 管理员打开cmd
输入命令: jstack [PID] > c:/cdf.log
或
jstack -1 [PID] > c:/[pid].stack
后面是文件名,可以自定义
C盘文件夹:
这个是把java进程的信息导出来到文件里,方便后面操作来定位异常代码。
ps: 有的博客的命令是 jstack -1 12580 > +文件,我加上-1后会无法导出或导出文件是0KB,去掉-1就好了。
4. 把下载的Process Explorer解压并运行
解压后可以直接运行。运行后找到java,右键点击【Properties…】,然后点击【Threads】
找到CPU使用率高的线程,记住TID,然后打开电脑上的计算机:
输入刚刚的线程号:1156
找到他对应的十六进制是:484
5. 打开之前导出的进程文件,输入刚刚转换的十六进制数
可以定位到异常的部分(我的之前改过了,正常应该是定位到哪个文件下的哪一行。。。),然后去把bug改掉就好了~