cpu100%问题定位

cpu100%问题定位

程序中写一个死循环

		thread = new Thread(() -> {
			while (true) {

			}
		});
		thread.start();

top -c显示进程运行详细列表

在这里插入图片描述

键入P可以按照cpu使用率排序

可以用top -p pid定位到当前进程

在这里插入图片描述

按H,切换到线程,这时显示的是一个进程的线程信息表,这时左上角显示的Threads

在这里插入图片描述

也可以不定位到当前进程,直接按H切换到线程,显示系统中所有线程

在这里插入图片描述

可以看到线程id为1626,把线程id转换成16进制

[xuhaixing@xhx190 ~]$ printf "%x\n" 1626
65a

进程id为1611,本机进程id与vmid相同,然后用jstack命令可以查看到运行的线程的信息

[xuhaixing@xhx190 ~]$ jstack 1611
xxxx
"Thread-2" #14 prio=5 os_prio=0 tid=0x00007f440caf0800 nid=0x65a runnable [0x00007f43f5925000]
   java.lang.Thread.State: RUNNABLE
	at com.xhx.spring.springoom.SpringOomApplication.lambda$afterPropertiesSet$0(SpringOomApplication.java:33)
	at com.xhx.spring.springoom.SpringOomApplication$$Lambda$363/1477657879.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:748)

"container-0" #13 prio=5 os_prio=0 tid=0x00007f440c8f4800 nid=0x659 waiting on condition [0x00007f43f651f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.apache.catalina.core.StandardServer.await(StandardServer.java:570)
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer$1.run(TomcatWebServer.java:181)
xxxx

实时内容请关注微信公众号,公众号与博客同时更新:程序员星星
在这里插入图片描述

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页