zoukankan      html  css  js  c++  java
  • linux系统下性能分析常用命令

    1:top

    2:free -m 、top -c 来进行查看当前内存的占用情况

    技术分享

    free 为内存的剩余状态,当前为3.8G的空闲内存,总的物理内存是8G,按键 shift+m 可以进行内存占用率的排序,%MEM 为进程内存占用信息

    通过vmstat 1 10 来进行打印当前的系统负载信息,其中swap已经开始占用,说明设备的物理内存不足,开始使用虚拟内存

    (http://baike.baidu.com/link?url=SDkfWQZxbHMXzHo6WJ3PVDalO0fuLZZcOtulbUhpyN-o9GwzYEBcYvqYRhmHEYeF5tBp4IozZMy9hLraBaepjfcxZQAG6Q_gTIDJ2_Cv2uu)

    技术分享

    3:df -h

    4:分析线程:jstack  -l pid > dump.log

    5:分析内存:jmap -dump:live,format=b,file=XXX pid

      cat stack | grep 'java.lang.Thread.State' | awk '{print $2$3$4$5}' | sort | uniq -c

    6:gc情况:jstat -gc  pid  5000 20 (5000表示5s执行一次,该命令执行20次)

    6:连接数:netstat -ano|grep 8443(端口)|wc -l、  netstat –nat | grep pid

    7:线程数:top  -HP pid或者ps -Lf Pid | wc –l  或者:ps -eLo pid ,stat | grep 27989 | grep running | wc -l(其中ps -eLo pid ,stat可以找出所有线程,并打印其所在的进程号和线程当前的状态;两个grep命令分别筛选进程号和线程状态;wc统计个数。其中,ps -eLo pid ,stat | grep 27989)

    cat dump_201812121238.log | grep 'java.lang.Thread.State' | awk '{print $2$3$4$5}' | sort | uniq -c (统计dump文件)

    8:cup分析:sar -u 3 2 (<interval> [ <count>)

    9:内存分析:sar -r 1 2(<interval> [ <count>)

    11:磁盘I/O分析:sar -b 1 2  或者  sar -d  1 2

    10:怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

      怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

      怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

     11:线程ID为十进制-->十六进制:printf "%x " xxx

    12:查看端口被某个应用进程占用:lsof -i:端口号(需要使用root用户)或者netstat -tunlp|grep 端口号

  • 相关阅读:
    angularjs加载html
    git 使用
    图片压缩原理讲解很通透
    angularjs 实现多个图片上传及预览
    HTML 空格转义符的用法
    docker-volumes
    docker-管理数据
    docker-代理服务器
    docker-none
    docker-macvlan
  • 原文地址:https://www.cnblogs.com/qiaoli0726/p/10071760.html
Copyright © 2011-2022 走看看