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 端口号

  • 相关阅读:
    搭建kafka集群
    fluentd 安装、配置、使用介绍
    彻底解决 es 的 unassigned shards 症状
    nginx 反向代理时丢失端口的解决方案
    kubernetes的imagePullSecrets如何生成及使用
    创建MySQL数据库账号
    Linux中查找文件
    Linux快速访问多个目录
    Django查询数据库返回字典dict数据
    linux 将压缩包复制到另外一个文件夹下面
  • 原文地址:https://www.cnblogs.com/qiaoli0726/p/10071760.html
Copyright © 2011-2022 走看看