CPU100%应对
#1 通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
top
#2 top -Hp xxxx, xxxx是pid,可以查看该进程下各个线程的cpu使用情况
top -Hp 23344
# 3 jstack pid命令查看当前java进程的堆栈状态
jstack xxxxx
nid和之前top -Hp命令里的线程ID对应,10位数转16位数。本文中前面42302对应)xa53e
另外个:执行 jstack xxxx的时候提示:
39033: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
百度了一下,可能原因是用户不一致:
# 查看java进程,带有用户
ps -ef | grep java
切换到work
sudo su - work
其他命令
#jps命令用于查询正在运行的JVM进程
jps -m
#jinfo 可以用来查看正在运行的java程序的扩展参数,甚至支持运行时,修改部分参数
jinfo -flags 102701
#jstat 它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形化界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具
jstat -gcutil 进程ID
