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

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

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

相关推荐
小bo波2 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking3 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才6 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1117 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
plainGeekDev10 小时前
单例模式 → object 声明
android·java·kotlin
用户2986985301411 小时前
Java 实现 Word 文档文本与图片提取的方法
java·后端
SimonKing12 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
咖啡八杯1 天前
GoF设计模式——策略模式
java·后端·spring·设计模式
用户128526116021 天前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java