常用虚拟机性能监控工具
JDK 命令行工具
其中的重中之重是 jstat 命令!而它最常用的参数就是 -gcutil,使用格式如下:
1 | jstat -gcutil [pid] [intervel] [count] |
输出如下:
S0
:堆上 Survivor space 0 区已使用空间的百分比S1
:堆上 Survivor space 1 区已使用空间的百分比E
:堆上 Eden 区已使用空间的百分比O
:堆上 Old space 区已使用空间的百分比P
:堆上 Perm space 区已使用空间的百分比YGC
:从程序启动到采样时发生的 Minor GC 次数YGCT
:从程序启动到采样时 Minor GC 所用的时间FGC
:从程序启动到采样时发生的 Full GC 次数FGCT
:从程序启动到采样时 Full GC 所用的时间GCT
:从程序启动到采样时 GC 的总时间
补充:ps
命令 (Linux)
对于 jps
命令,其实没必要使用,一般使用 Linux 里的 ps
就够了,ps
为我们提供了当前进程状态的一次性的查看,它所提供的查看结果并不动态连续的,如果想对进程时间监控,应该用 top
工具。
Linux 上进程的 5 种状态
- 运行 [R, Runnable]:正在运行或者在运行队列中等待;
- 中断 [S, Sleep]:休眠中, 受阻, 在等待某个条件的形成或接受到信号;
- 不可中断 [D]:收到信号不唤醒和不可运行, 进程必须等待直到有中断发生;
- 僵死 [Z, zombie]:进程已终止, 但进程描述符存在, 直到父进程调用 wait4() 系统调用后释放;
- 停止 [T, Traced or stop]:进程收到 SIGSTOP, SIGSTP, SIGTIN, SIGTOU 信号后停止运行运行。
1 | ps -A # 列出所有进程信息(非详细信息) |