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

线上服务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:端⼝号

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

相关推荐
认真的酒窝7 分钟前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy2 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9172 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞2 小时前
C#与闭包
开发语言·c#
端庄的战斗机3 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme3 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车5 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼5 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
程序员老油条5 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
ALex_zry6 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++