006-top查看计算机信息,java一次线上CPU 100%的排查

java

1、使用top命令基本信息

us:用户态使用的cpu时间比
sy:系统态使用的cpu时间比
ni:用做nice加权的进程分配的用户态cpu时间比
id:空闲的cpu时间比
wa:cpu等待磁盘写入完成时间
hi:硬中断消耗时间
si:软中断消耗时间
st:虚拟机偷取时间

2、进入命令后可以使用的命令

通过?或者h查看

  Z,B       Global: 'Z' change color mappings【设置颜色】; 'B' disable/enable bold【字体加粗】

l,t,m Toggle Summaries: 'l' load avg【负载】; 't' task/cpu stats【task/cpu汇总】; 'm' mem info【内存】

1,I Toggle SMP view: '1' single/separate states【负载】; 'I' Irix/Solaris mode

f,o . Fields/Columns: 'f' add or remove【展示字段增删】; 'o' change display order【展示字段顺序】

F or O . Select sort field【选择排序字段】

<,> . Move sort field: '<' next col left; '>' next col right【翻页】

R,H . Toggle: 'R' normal/reverse sort【正常、反序】; 'H' show threads【展示线程】

c,i,S . Toggle: 'c' cmd name/line【命令名/整行】; 'i' idle tasks【空闲任务】; 'S' cumulative time【耗时】

x,y . Toggle highlights: 'x' sort field【排序字段高亮】; 'y' running tasks【运行任务】

z,b . Toggle: 'z' color/mono;【颜色】 'b' bold/reverse 【加粗】(only if 'x' or 'y')

u . Show specific user only【用户】

n or # . Set maximum tasks displayed【设置最大展示任务】

k,r Manipulate tasks: 'k' kill【杀 进程】; 'r' renice【重指定】

d or s Set update interval【设置更新间隔】

W Write configuration file【写配置文件】

q Quit【退出】

( commands shown with '.' require a visible task display window )

Press 'h' or '?' for help with Windows,

3、一次CPU 100%处理-java进程

步骤一、找到最耗CPU的进程,打开终端  

  执行top -c ,显示进程运行信息列表

top -c

  键入P (大写p),进程按照CPU使用率排序

步骤二:找到最耗CPU的线程

  显示一个进程的线程运行信息列表

top -Hp 线程id
如:top -Hp 4830

  键入P (大写p),线程按照CPU使用率排序

步骤三:将线程PID转化为16进制

  查看步骤二中,进程内线程具体线程id,如:4831

printf “%x” 4831

  之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。如上述 4831 对应的是 12df

步骤四:查看堆栈,找到线程在干嘛

  工具:pstack/jstack/grep  

jstack 进程id | grep '16进制线程id' -C5 --color

如:

jstack 4830 | grep '0x12df' -C5 --color

  • 打印进程堆栈

  • 通过线程id,过滤得到线程堆栈

找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”,以及看到了该线程正在执行代码的堆栈。进一步分析即可

查看进程端口信息
  netstat -nap |grep 30778
查看进程信息
  ps -ef |grep 30778
杀死进程
  kill -9 30778
检查一下系统最近系统登录信息,看看是否被入侵,使用
  lastlog
列出当前和曾经登入系统的用户信息
  last

以上是 006-top查看计算机信息,java一次线上CPU 100%的排查 的全部内容, 来源链接: utcz.com/z/391639.html

回到顶部