• Linux性能查询常用指令


    类别 监控指令 描述 备注

    内存

    瓶颈

    free 查看内存使用  

    cpu

    瓶颈

    top  -Hp 查看cpu使用最高的进程  
      vmstat 3(间隔时间) 100(监控次数) 查看swap in/out定位性能瓶颈 推荐使用
      ps -Lp 进程号 cu 查看某个进程的cpu消耗排序  
     

    cat /proc/cpuinfo

    |grep 'processor'|wc -l

    查看cpu核数  
      top

    查看cpu总体消耗,

    包括分项消耗

    如user,system,idle,

    nice等消耗

    top

    然后shift+h:

    显示java线程,

    然后shift+M:

    按照内存

    使用进行排序;

    shift+P:

    按照cpu时间排序;

    shift+T:

    按照cpu累计

    使用时间排序

    多核cpu,

    按“1”进入top视图

    网络

    瓶颈

    cat /var/log/messages 查看内核日志,查看是否丢包  
      watch more /proc/net/dev

    用于定位丢包,错包情况,

    以便看网络瓶颈

    重点关注drop(包被丢弃)

    和网络包传送的总量,

    不要超过网络上限

      netstat -i 查看网络错误  
      ping ip 测试网络性能  

    磁盘

    瓶颈

    iostat -x -k -d 1 磁盘的io读写情况

    当看到I/O等待时间所

    占CPU时间的比重

    很高的时候,

    首先要检查的就是机器

    是否正在大量

    使用交换空间,

    同时关注iowait

    占比cpu的消耗是否很大,

    如果大说明磁盘

    存在大的瓶颈,

    同时关注await,

    表示磁盘

    的响应时间

    以便小于5ms

      iostat -x 查看系统各个磁盘的读写情况

    重点关注await

    和iowait的cpu占比

      iotop 查看哪个进程在大量读取IO

    一般先通过iostat

    查看是否存在io瓶颈,

    再定位哪个进程在

    大量读取IO

      df -hl 查看磁盘剩余空间  
      du -sh 查看当前磁盘的使用空间  

    应用

    瓶颈

    ps -ef|grep java 查看某个进程的id号  
      ps -ef|grep java|wc -l 查看特定进程的数量  
      netstat -tln|grep 8080 查看端口占用情况  
      lsof -i:8080 查看端口属于哪个进程  
     

    cat ***.log | grep ***Exception

    | wc -l

    统计日志文件中包含特定异常数量  
      jstack -l pid 用于查看线程是否存在死锁  
      grep -v ‘HTTP/1.1″ 200′ 取出非200响应码的URL  
      ps -efL | grep [PID] | wc -l 查看某个进程创建的线程数  
      find / type f -name "*.log"|xargs grep "ERROR"

    统计所有的log文件中,

    包含Error字符的行

    这个在排查问题

    过程中比较有用

      jstat -gc [pid] 查看gc情况  
      jstat -gcnew [pid]  

    查看young区的内存使用情况,

    包括MTT(最大交互次数就

    被交换到old区),

    TT是目前已经交换的次数

     
      jstat -gcold 查看old区的内存使用情况  
     

    jmap -J-d64 -dump:format=b,

    file=dump.bin PID

    dump出内存快照

    -J-d64防止jmap导致

    虚拟机crash(jdk6有bug)

      XX:+HeapDumpOnOutOfMemeryError

    在java启动时加入,

    当出现内存溢出时,

    存储内存快照

     
      jmap -histo [pid] 按照对象内存大小排序 注意会导致full gc
      gcore [pid] 导出完成的内存快照

    通常和jmap -permstat

    /opt/**/java gcore.bin

    一起使用,将core dump

    转换成heap dump

     

    -XX:HeapDumpPath=/home/logs

    -Xloggc:/home/log/gc.log

    -XX:+PrintGCDetails

    -XX:+PrintGCDateStamps

    在Java启动参数中加入,

    打印gc日志

     
     

    -server -Xms4000m -Xmx4000m

    -Xmn1500m -Xss256k

    -XX:PermSize=340m -XX:MaxPermSize=340m

    -XX:+UseConcMarkSweepGC

    调整JVM堆大小 xss是栈大小

     

  • 相关阅读:
    55. Jump Game
    367. Valid Perfect Square
    22. Generate Parentheses
    254. Factor Combinations
    77. Combinations
    17. Letter Combinations of a Phone Number
    javascript获取随机数的几种方式
    javascript获取随机rgb颜色和十六进制颜色的方法
    javascript遍历数组最优写法
    javascript中字符串的常用方法
  • 原文地址:https://www.cnblogs.com/cherish010/p/8657772.html
Copyright © 2020-2023  润新知