zoukankan      html  css  js  c++  java
  • 深入JVM-性能监控工具

    一、Linux下的性能监控工具

    1.1 显式系统整体资源使用情况-top命令

    top命令

    top命令的输出可以分为两个部分:前半部分是系统统计信息,后半部分是进程信息。

    在统计信息中,第一行是任务队列信息,他的结果等同于uptime命令。从左到右以此表示:系统当前时间、系统运行时间、当前登录用户数。最后的load average表示系统的平均负载,即任务队列的平均长度,这三个值分别表示1分钟、5分钟、15分钟到现在的平均值。

    第二行是进程统计信息,分别有正在运行的进程数、睡眠进程数、停止的进程数、僵尸进程数。

    第三行是CPU统计信息,us表示用户空间CPU占用率、sy表示内和空间CPU占用率、ni表示用户进程空间改变过优先级的进程CPU的占用率、id表示空闲CPU占用率、wa表示等待输入输出的CPU时间百分比、hi表示硬件中断请求、si表示软件中断请求。在Mem行中,从左到右,依次表示物理内存总量、yi'shi'y已使用的物理内存、空闲物理内存、内核缓冲使用量。Swap行依次表示交换区总量、空闲交换区大小、缓冲交换区大小。

    top命令的第二部分是进程信息区,显示了系统内各个进程的资源使用情况。

    • PID:进程id
    • USER:进程所有者的用户名
    • PR:优先级
    • NI:nice值,负值表示高优先级,正值表示低优先级
    • %CPU:上次更新到现在的CPU时间占用百分比
    • TIME+:进程使用的CPU时间总计,单位1/100秒
    • %MEM:进程使用的物理内存百分比
    • VIRT:进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
    • RES:进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
    • SHR:共享内存大小,单位kb
    • COMMAND:命令名/命令行

    1.2 监控内存和CPU-vmstat命令

    vmstat命令

    1.3 监控IO使用-iostat命令

    iostat -d 1 2
    

    -d表示输出磁盘使用情况,输入结果中各列的含义如下:

    • tps:该设备每秒的传输次数
    • kB_read/s:每秒从设备读取的数据量
    • kB_wrtn/s:每秒向设备写入的数据量
    • kB_read:读取的总数据量
    • kB_wrtn:写入的总数据量

    二、windows下的性能监控工具

    2.1 任务管理器

    2.2 perform性能监控工具

    “运行”输入perform启动即可。

    2.3 Process Explorer 进程管理工具

    2.4 pslist命令

    三、JDK性能监控工具

    3.1 查看Java进程-jps

    Jps命令—使用详解

    3.2 查看虚拟机运行时信息-jstat命令

    jstat命令详解

    3.3 查看虚拟机参数-jinfo命令

    jinfo命令详解

    3.4 导出堆到文件-jmap命令

    jmap命令详解

    3.5 JDK自带的堆分析工具-jhat命令

    jhat命令详解

    3.6 查看线程堆栈-jstack命令

    jstack命令详解

    3.7 远程主机信息收集-jstatd命令

    jstatd命令详解

    3.8 多功能命令行-jcmd命令

    jcmd命令详解

    3.9 性能统计工具-hprof

    四、图形化虚拟机监控工具JConsole

    jConsole使用

    五、可视化性能监控工具Visual VM

    Visual VM使用

  • 相关阅读:
    Docker和k8s的区别与介绍
    NFS网络文件系统详解
    NFS文件系统及搭建NFS共享服务
    Tomcat 端口配置,及原理详解
    svn使用教程
    buff/cache内存占用过多
    关于xcode:如何在Objective-C中使用符号断点获取参数
    iOS开发消除编译警告
    建模的能力才是一个人和核心能力
    android sutdio 环境搭建
  • 原文地址:https://www.cnblogs.com/f-zhao/p/6160915.html
Copyright © 2011-2022 走看看