• Linux实用命令及技巧


    1.  查看CPU及内存使用排行

    1)查看当前CPU及内存的整体使用情况

    top  

    2)可以使用以下命令查使用内存最多的10个进程    

    ps -aux | sort -k4nr | head -n 10

    3)可以使用一下命令查使用CPU最多的10个进程     

    ps -aux | sort -k3nr | head -n 10

    2. 服务器性能变慢的排查

    1)查看整机性能

    A. top

    查看cpu与mem的使用率,主要基于load average

    B. uptime

    查看load average

    2)查看CPU使用情况

    A. vmstat

    vmstat -n 2 3 : 每2s采样一次,总计采样3次
    
    一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数(单位s),第二个参数是采样的次数
    
    - procs
    
    r:运行和等竺cpu的时间片的进程数,原则上1核CPU的运行队列不要超过2, 整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大;
    b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。
    - cpu
    
    us:用户进程小号CPU时间百分比,us值高,用户进程消耗的CPU时间多,如果长期大于50%,优化程序;
    sy:内核进程消耗的CPU时间百分比;
    id:处于空闲的CPU百分比;
    wa:系统等待IO的CPU时间百分比;
    st:来自于一个虚拟机偷取的CPU时间的百分比;
    

    B. mpstat

    查看所有cpu核信息

    mpstat -P ALL 2 :2s钟采样一次所有CPU的信息

     

    C. pidstat

    查看每个进程使用cpu的用量分解信息

    pidstat -u 1 - p 进程号 : 查看进程cpu使用情况
    

    3)查内存使用情况

    A. free

    free -g // GB为单位
    free -m //MB为单位
    

    经验值:

    • 应用程序可用内存/系统物理内存>70%内存充足
    • 应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
    • 20%<应用程序可用内存/系统物理内存<70%内存基本够用

    B. pidstat

    pidstat -p 进程号 -r 采样间隔秒数
    

    4)硬盘使用情况

    A. df

    df -h  查看可视化效果好的碰盘使用情况
    

     

    5)查看碰盘IO使用情况

    A. iostat 

    查看碰盘I/O使用情况

    iostat -xdk 2 3
    

    碰盘块设备分布

    • rkB/s:每秒读取数据量KB;
    • wkB/s:每秒写入数据量KB;
    • svctm:I/O请求的平均服务时间,单位毫秒;
    • await:I/O请求的平均等待时间,单位毫秒;值越小,性能越好;
    • util:1s中用于I/O操作的比例(百分比)。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;

    rkB/s、wkB/s根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘;

    B. pidstat

    pidstat -d 采样间隔秒数 -p 进程号
    

    5)查看网络IO使用情况

    A. ifstat

    默认本地没有,需要下载ifstat

    ifstat 1  //查看各个网卡的in、out观察网络负载情况,程序网络读写是否正常,用于程序网络I/O优化,增加网络I/O带宽做参考

  • 相关阅读:
    p(str or array) 传递数据以易于阅读的样式格式化后输出 bootstarp样式的打印函数
    [Err] 1067
    php 正则表达式
    Docker使用及dnmp构建
    记一次Ubuntu18.04升级到19.10的经历
    面试-Redis
    ubuntu截图软件deepin scrot
    docker 搭建 Hadoop
    Docker 遇到的坑
    RabbitMQ遇到的坑
  • 原文地址:https://www.cnblogs.com/Terry-Wu/p/11990598.html
Copyright © 2020-2023  润新知