linux 环境下,使用top -c 命令,查看服务器上各进程的CPU使用情况。
b?+ x,然后就能把所关注的列和运行的行给高亮了。如我第一张截图。在记下CPU占用率高的pid之后,按键q退出top命令,
然后再top -Hp pid,我这就是 ?top -Hp 426476 查看单个进程里面是哪些线程在实际消耗CPU。
选择占比较大的几个线程id,使用命令 printf "%x\n" 54956 ?把进程id给转成16进制
使用jstack命令查看栈信息,具体:jstack 53514 | grep '0xd6ac' -A10? ? ? ? -A10 就是过滤到关键词之后(A:after)10行信息,不够可以自己再加。
最后分析,看看有没有熟悉的单词,推断都是什么逻辑在实际运行,抢占CPU
本来想以es进程为例,看看es进程里面这个线程在干吗呢,还不让看,执行失败了。
再换个自己开发的程序来测试吧。同样操作,先ps一下,找到进程id,直接top -Hp 想看的进程id,然后在里面挑一个线程id,执行命令
printf "%x\n" 54956???(将 PID 转为 16进制)
jstack 53514 | grep '0xd6ac' -A10?(注意:16进制要在最前面添加0x)
jstack 后面跟进程id,然后grep的时候,带上16进制的线程id,然后看n行,然后分析stack打印信息
这地方看到线程池的名称,结合自己代码,应该是程序在消费kafka数据呢。
另外,也可以将堆栈信息打印下来:jstack 53514 > cpuInfo.txt
然后使用 cat 或者 less 等命令工具进行过滤查看:cat -n cpuInfo.txt | grep -A10 '0xd6ac'
隐含参数是数据库参数名中前缀为_的参数,在未作明确设定值的情况下,无法通过简...
本节从文字的细节修饰入手,使读者能把握HTML的各种字体格式的变化,制作出更为...
let str = '这是一个字符串[html]语句;[html]字符串很常见';alert(str.replace(/...
本文实例讲述了PHP设计模式:桥连模式Bridge。分享给大家供大家参考,具体如下:...
本文实例讲述了PHP设计模式之迭代器模式Iterator。分享给大家供大家参考,具体如...
本文是在课程课件基础上修改的学习笔记 课程原地址https://www.bilibili.com/vid...
% Dimfso,f,folder Setfso=Server.CreateObject("scripting.filesystemobject") ...
前言 配置,几乎所有的应用程序都离不开它。.Net Framework时代我们使用App.conf...
最近帮业务部门梳理业务报表,其中有个需求是就算某指标等待时间最长的前百分之...
演示效果 思路 RecyclerView外包裹一个FrameLayout通过adapter创建悬浮的Item,将...