• Linux 命令查询系统负载信息


    linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。uptime命令过去只显示系统运行多久。现在,可以显示系统已经运行了多长 时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

    uptime命令用法十分简单:直接输入

     

    # uptime

     

    即可。

     

    输入样例:

     

    18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00

     

    1可以被认为是最优的负载值。负载是会随着系统不同改变得。单CPU系统1-3和SMP系统6-10都是可能接受的。

     

    另外还有一个参数 -V ,是用来查询版本的。 (注意是大写的字母v)

     

    [linux @ localhost]$ uptime -V

     

    procps version 3.2.7

     

    [linux @ localhost]$ uptime

     

    显示结果为:

     

    10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09

     

    显示内容说明:

     

    10:19:04 //系统当前时间

     

    up 257 days, 18:56 //主机已运行时间,时间越大,说明你的机器越稳定。

     

    12 user //用户连接数,是总连接数而不是用户数

     

    load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载

     

    那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。

     

    如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。

     

    如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。

    查看cpu负载

    #vmstat
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    1 4 329796 26040 4528 3379824 1 1 50 160 36 17 2 10 85 3 0
    procs
    r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
    b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
    cpu 表示cpu的使用状态
    us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
    sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
    wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。 
    id 列显示了cpu处在空闲状态的时间百分比 
    system 显示采集间隔内发生的中断数
    in 列表示在某一时间间隔中观测到的每秒设备中断数。
    cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。
    memory
    swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常 
    free 当前的空闲页面列表中内存数量(k表示) 
    buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。 
    cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。 
    swap
    si 由内存进入内存交换区数量。
    so由内存交换区进入内存数量。 
    IO
    bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
    bo 块设备写入数据的总量(写磁盘)(每秒kb)
    这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
     
     
     
    linux下查看系统资源和负载,以及性能监控的查看

    1,查看磁盘

    df -h

    2,查看内存大小

    free

    free [-m|g]按MB,GB显示内存

    vmstat

    3,查看cpu

    cat /proc/cpuinfo

    只看cpu数量grep "model name" /proc/cpuinfo | wc -l

    4,查看系统内存

    cat /proc/meminfo

    5,查看每个进程的情况

    cat /proc/5346/status 5347是pid

    6,查看负载

    w

    uptime

    7,查看系统整体状态

    top

    最后一些输出信息的解释:

    load average: 0.09, 0.05, 0.01

    三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。“有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量

    进程使用的内存可以用top,有3个列VIRT RES SHR, 标示了进程使用的内存情况, VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.

    8,性能监视sar命令

    sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况

    CPU

    CPU编号

    %user

    在用户模式中运行进程所花的时间

    %nice

    运行正常进程所花的时间

    %system

    在内核模式(系统)中运行进程所花的时间

    %iowait

    没有进程在该CPU上执行时,处理器等待I/O完成的时间

    %idle

    没有进程在该CPU上执行的时间

    sar 5 10 sar以5秒钟间隔取得10个样本

    sar -u -p ALL 5 5 分cup显示

    sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }

    sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

    sar -n DEV 各参数含义

    IFACE

    LAN接口

    rxpck/s

    每秒钟接收的数据包

    txpck/s

    每秒钟发送的数据包

    rxbyt/s

    每秒钟接收的字节数

    txbyt/s

    每秒钟发送的字节数

    rxcmp/s

    每秒钟接收的压缩数据包

    txcmp/s

    每秒钟发送的压缩数据包

    rxmcst/s

    每秒钟接收的多播数据包

    9,查看命令历史(含时间戳)

    export HISTTIMEFORMAT='%F %T ';history| more

    10,查看文件夹和文件大小

    du -h --max-depth=0 dm 查看dm目录大小

    du -h --max-depth=1 dm 查看dm目录大小,以及dm各文件文件夹的大小

    du -h --max-depth=0 查看当前文件夹大小

  • 相关阅读:
    矩阵
    向量
    Matlab中的基本数据类型介绍
    静态代码块在何时调用
    保留上次访问网站的时间的几种方法
    用ServletContext做一个简单的聊天室
    ServletContext结合Servlet接口中的init()方法和destroy()方法的运用----网站计数器
    用ServletContext读取.properties文件
    用类加载器的5种方式读取.properties文件
    如何用cookie保存用户的登录的密码和用户名
  • 原文地址:https://www.cnblogs.com/setevn/p/7835082.html
Copyright © 2020-2023  润新知