00.常用虚拟机性能监控工具

常用虚拟机性能监控工具

JDK 命令行工具

JDK命令行工具.png

其中的重中之重是 jstat 命令!而它最常用的参数就是 -gcutil,使用格式如下:

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 信号后停止运行运行。
ps -A # 列出所有进程信息(非详细信息)
ps aux  # 列出所有进程的信息
ps aux | grep zsh

ps -ef # 显示所有进程信息,连同命令行
ps -ef | grep zsh

ps -u root # 显示指定用户信息
ps -l  # 列出这次登录bash相关信息

ps axjf  # 同时列出进程树状信息
下一页