【日常问题排查小技巧-连载】

线上服务CPU飙高排查

  1. 先执行 top,找到CPU占用比较高的进程 id,(比如 21448)

  2. jstack 进程 id > show.txt(jstack 21448 > show.txt)

  3. 找到进程中CPU占用比较高的线程,线程 id 转换为 16 进制

    • top -p 21448 -H
    • printf "%x" 线程 id
  4. 到show.txt⽂件中根据线程id查看线程的具体状态即可

如何查看端口被哪个程序占用

shell 复制代码
lsof -i:端⼝号

被占⽤则输出占⽤的程序,否则⽆输出

相关推荐
格林威17 分钟前
C#图像像素放大:邻域平均、双线性插值实现像素放大的C#实现代码
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
兔兔兔兔127 分钟前
记录C++ 8
开发语言·c++
paopaokaka_luck41 分钟前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts
eralong1 小时前
Java IO 与 NIO
java·后端
Jesse_EC1 小时前
我给消息推送加了 Publisher Confirm,然后亲手引入了一个竞态
java
名字还没想好☜1 小时前
Go 1.23 range-over-func 迭代器实战:自定义可迭代类型、提前退出与惰性求值
开发语言·后端·golang·go·迭代器
S3rein1 小时前
JAVA多线程手撕
java·多线程
用户8181870627461 小时前
第7章 死锁排查实录:jstack定位死锁的完整流程
java·后端
喵同志不止步于码农1 小时前
Java Caffeine 快速入门
java·开发语言·后端·并发·缓存一致性
Java成神之路-1 小时前
Java 并发灵魂拷问:notify/signal 唤醒顺序是规范还是实现?
java