cpu高故障排查

PS命令

基本用法

ps  显示当前终端会话中属于当前用户的进程列表
ps -ef 显示系统中所有进程列表,包含其他用户的进程
ps -aux  显示详细的进程信息,包含cpu和内存的使用率等

常用参数

-e  显示所有进程
-f 使用全格式显示  pid  ppid  %cpu  %user %mem等
-l  长格式
-u  显示指定用户相关进程 后面可指定用户名
-p  显示指定id的进程信息,后面可指定进程ID
-o  自定义输出格式  如ps -eo  pid,ppid,cmd,user,%cpu,%mem  --sort=-%cpu以cpu降序排列展示进程ID,父ID,命令行,用户,cpu,内存

TOP命令

基于语法

top 
top -H  显示线程
c 以cpu降序排列
shift+m 以内存降序排列

java cpu高故障处理

1、先使用top命令查出占用cpu最高的java进程

2、top -Hp 指定该进程查看线程

3、使用printf将线程号转换为16进制

printf  "%x\n"  tid

4、使用jstack导出线程快照

jstack -l  进程号 >./result.txt

5、在该文件中查找第三步转换来的16进制位数

cat result.txt |grep -A 100 16进制号  16进制数前面有0x

cpu高故障排查
http://www.jcwit.com/article/512/
作者
Carlos
发布于
2024年4月18日
许可协议