• linux监控系统语句


    一、cpuinfo(cpu)

    # 查看cpu信息
    cat /proc/cpuinfo
    # 查看CPU信息(型号)
    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
    
    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
    
    # 查看物理CPU个数
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    # 查看每个物理CPU中core的个数(即核数)
    cat /proc/cpuinfo| grep "cpu cores"| uniq
    # 查看逻辑CPU的个数
    cat /proc/cpuinfo| grep "processor"| wc -l
    

    二、top(cpu、内存、磁盘io)

    N:以PID顺序排列

    P:以CPU顺序排列

    M:以内存顺序排列

    1:显示每个cpu的信息

    us:用户空间占cpu

    sy:系统空间占cpu

    ni:改变过优先级的进程占cpu

    id:空闲cpu占比

    wa:等待磁盘io的cpu占比,如果高说明磁盘io是瓶颈

    hi:硬件中断

    si:软件中断

    st:实时

    三、dstat(cpu、内存、磁盘io、网络io)

    paging:系统的分页活动,当系统开始大量使用分页空间时值比较高,说明系统内存不足

    int:线程中断,当多线程忙碌时值比较高

    csw:上下文切换,当多线程忙碌时值比较高

    四、lsof(进程、句柄)

    # 查看占用端口的进程
    lsof -i:xx
    

    # 查linux最大文件句柄数(open files)
    ulimit -a
    # 查当前句柄/进程数量
    lsof -n|awk '{print $2}'| sort | uniq -c | sort -nr | head
    # 查单个进程的句柄
    lsof -p 2333
    

    五、jstat(内存)

    # 查看jvm情况,每隔1秒输出,输出60次,每隔10次输出一次列头
    jstat -gc -h10 xxx 1000 60
    

    S0C:存活区0分配内存(都是KB)

    S1C:存活区1分配内存

    S0U:存活区0使用内存

    S1U:存活区1使用内存

    EC:年轻代分配内存

    EU:年轻代使用内存

    OC:老年代分配内存

    OU:老年代使用内存

    MC:元空间分配内存

    MU:元空间使用内存

    CCSC:压缩类分配内存

    CCSU:压缩类使用内存

    YGC:年轻代GC次数

    YGCT:年轻代GC总时间(秒)

    年轻代每次GC时间 = YGCT / YGC

    FGC:老年代GC次数

    FGCT:老年代GC总时间(秒)

    老年代每次GC时间 = FGCT / FGC

    GCT:GC总时间(秒)

    六、jmap(内存)

    # 输出jvm内存分配情况
    jmap -heap xxx
    

    jmap -dump:live,format=b,file=/home/dump xxxxx
    

    输出进程内存dump信息,后缀改为pcap以后可以用eclipse的MAT插件打开

    七、ps、jstack(线程)

    # 查进程中占用cpu高的线程
    ps -mp xxxxx -o THREAD,tid,time | sort -rn
    

    # 将十进制转换为十六进制
    printf "%x
    " xxx
    

    # 输出线程堆栈信息,筛选tid输出之后的30行
    jstack -l xxxx(pid) | grep xxx(tid) -A 30
    

    # 输出线程堆栈信息到文件,-l 打印锁信息
    jstack -l xxxxx > 1.txt
    

    八、jps(jvm)

    # 输出jvm进程通过文件传递到进程中的参数
    jps -v
    

    九、netstat(连接)

    # 查看tcp连接状态统计
    netstat -nat | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    

    # 查看某个端口的tcp连接状态统计
    netstat -nat |grep -i "80"| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    

    # 查看某个端口的连接数量
    netstat -nat|grep -i "80"|wc -l
    

    # 查看连接某端口最多的ip
    netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"	",i}' | sort -nr
    

    十、tcpdump(网络)

    # 查看网卡
    ifconfig
    # 抓包并保存到文件
    tcpdump tcp -i eth0 -s 0 and host xxx.xxx.xxx.xxx and port xxxx -w log.pcap
    

    -i:只抓经过接口eth0的包

    -s 0:抓到完整的数据包

    -w:保存在文件

    十、iotop(磁盘io)

    # 安装
    yum -y install iotop
    # 查看进程的io占用
    iotop
    

  • 相关阅读:
    【梅西加油!】梅西加油!!加油梅西!!
    [CQOI2014][bzoj3507] 通配符匹配 [字符串hash+dp]
    [NOI2011][bzoj2434] 阿狸的打字机 [AC自动机+dfs序+fail树+树状数组]
    [USACO12Jan][luogu3041] Video Game Combos [AC自动机+dp]
    [HNOI2004][bzoj1212] L语言 [Trie+dp]
    [POI2005][luogu3462] SZA-Template [fail树]
    [HNOI2008][bzoj1009] GT考试 [KMP+矩阵快速幂]
    [SDOI2008][luogu2463] Sandy的卡片 [kmp]
    [POI2006][luogu3435] OKR-Periods of Words [kmp+next数组]
    [NOI2014][bzoj3670] 动物园 [kmp+next数组应用]
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/12466503.html
Copyright © 2020-2023  润新知