常用性能监控工具

linux下常用性能监控命令

  • uptime
    系统时间,运行时间,连接数,1,5,15分钟内的系统平均负载
    uptime.png
  • top
    可以知道哪个进程占CPU,内存最多
    top.png
  • vmstat
    可以统计系统的CPU,内存,swap,io等情况
    vmstat.png

    CPU占用率很高,上下文切换频繁,说明系统有线程正在频繁切换
  • pidstat
    细致观察进程 , 监控CPU,内存,io
    安装sudo apt-get install sysstat
    pidstat.png

    -p 指定进程号 2962
    -u 监控cpu
    1 3 采样频率 和采样次数
    -t 监控线程
    -d 显示 io
    pidstat线程.png

java自带工具

  • jps
    列出java进程,类似于ps命令
    参数-q可以指定jps只输出进程ID ,不输出类的短名称
    参数-m可以用于输出传递给Java进程(主函数)的参数
    参数-l可以用于输出主函数的完整路径
    参数-v可以显示传递给JVM的参数
    jps.png

    jps2.png
  • jinfo
    可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数
    -flag :打印指定JVM的参数值
    -flag [+|-]:设置指定JVM参数的布尔值
    -flag =:设置指定JVM参数的值
#显示了新生代对象晋升到老年代对象的最大年龄
jinfo -flag MaxTenuringThreshold 2972
-XX:MaxTenuringThreshold=15
#显示是否打印GC详细信息
jinfo -flag PrintGCDetails  2972
-XX:-PrintGCDetails
#运行时修改参数,控制是否输出GC日志
jinfo -flag PrintGCDetails  2972
-XX:-PrintGCDetails
jinfo -flag +PrintGCDetails  2972
jinfo -flag PrintGCDetails  2972
-XX:+PrintGCDetails
  • jmap
    生成Java应用程序的堆快照和对象的统计信息
    jmap -histo 2972 >c:\s.txt
    jmap.txt.png

    dump 堆
    jmap -dump:format=b,file=c:\heap.hprof 2972
    通过工具可查看hprof 文件
  • jstack
    打印线程dump
    -l 打印锁信息
    -m 打印java和native的帧信息
    -F 强制dump,当jstack没有响应时使用
    jstack 120 >>C:\a.txt
    jstack.png
  • JConsole
    图形化监控工具
    可以查看Java应用程序的运行概况,监控堆信息、永久区使用情况、类加载情况等

你可能感兴趣的:(常用性能监控工具)