1 线上CPU飙高怎么排查

  1. 【top】首先用top指令查处哪个进程占用cpu高
  2. 【top -Hp 进程 ID】 列出对应进程里面的线程占用资源情况
  3. 【jstack】找到对应线程 ID 后,再打印出对应线程的堆栈信息

2 内存飙高怎么排查

  • jstat -gc PID 1000 查看 GC 次数,时间等信息,每隔一秒打印一次。
  • jmap -histo PID | head -20 查看堆内存占用空间最大的前 20 个对象类型,可初步查看是哪个对象占用了内存。

jstat 主要用来查看堆中各部分的使用量,包括但不限于:

  • -gc GC次数
  • -class 类加载计数
  • -gccapacity 堆内存统计
  • -gcNew 新生代回收

⚠️注意:Linux中可以使用time命令查看进程的耗时情况

# 查看堆内存中的存活对象,并按空间排序
jmap -histo pid | head -n20
# dump堆内存文件
jmap -dump:format=b,file=heap pid
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐