zoukankan      html  css  js  c++  java
  • 005.系统管理监测命令

    CPU性能评估

    vmstat命令
    • 作用:可以对操作系统的内存信息、进程状态、CPU活动等进行监控。
    • 语法:vmstat(选项)(参数)
      • 选项

        • -a:显示活动内页;
        • -f:显示启动后创建的进程总数;
        • -m:显示slab信息;
        • -n:头信息仅显示一次;
        • -s:以表格方式显示事件计数器和内存状态;
        • -d:报告磁盘状态;
        • -p:显示指定的硬盘分区状态;
        • -S:输出信息的单位。
      • 参数

        • 事件间隔:状态信息刷新的时间间隔;
        • 次数:显示报告的次数。
      • 举例
        [root@study ~]# vmstat 3 5
        每2秒统计一次输出,统计5次后停止输出。

      • 解释

        • procs

          1. r列表示运行和等待CPU时间片的进程数,此数值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU。
          2. b列表在等待资源的进程数,如正在等待I/O或者内存交换等。
        • memory

          1. swpd列表示切换到内存交换区的内存数量(以kb为单位)。
          2. free列表示当前空闲的物理内存数量(以kb为单位)。
          3. buff列表示缓冲区缓存的内存数量,一般对块设备的读写才需要缓冲。
          4. cache列表示页面缓存的内存数量,一般作为文件系统缓存,如果cache值较大,说明缓存的文件数角度,若此时的IO中bi较小,说明文件系统效率比较高。
        • swap

          1. si列表示由磁盘调入内存,即内存进入内存交换区的数量。
          2. so列表示内存调入磁盘,即内存交换区进入内存的数量。
            注意:如果si、so长期不为0,则表示系统内存不足。
        • io:显示磁盘读写状况

          1. bi列表示从块设备读入数据的总量(即读磁盘)(每秒kb)。
          2. bo列表示写入到块设备的数据总量(即写磁盘)(每秒kb)。
        • system:显示猜忌间隔内发生的中断次数。

          1. in列表示在某一时间间隔中观测到的每秒设备中断次数。
          2. cs列表示每秒产生的上下文切换次数。
            注意:以上两个值越大,则由内核占用CPU的时间会越多。
        • cpu:显示CPU的使用状态。

          1. us列显示用户进程占用CPU的时间百分比,如果长期大于50%,则需要重点关注。
          2. sy列显示内核进程占用CPU的时间百分比。
          3. id列显示了CPU处在空闲状态的百分比。
          4. wa列显示了I/O等待所占用的CPU时间百分比。wa值越高,说明I/O等待越严重。
            **注意:
            1. us+sy的参考值为80%,如果大于80%,可能存在CPU资源不足。
            2. wa的参考是为20%,如果wa超过20%,说明I/O等待严重。**
    sar命令
    • 作用:Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。
    • 语法:sar(选项)(参数)
      • 选项

        • -A:显示所有的报告信息;
        • -b:显示I/O速率;
        • -B:显示换页状态;
        • -c:显示进程创建活动;
        • -d:显示每个块设备的状态;
        • -e:设置显示报告的结束时间;
        • -f:从指定文件提取报告;
        • -i:设状态信息刷新的间隔时间;
        • -P:报告每个CPU的状态;
        • -R:显示内存状态;
        • -u:显示CPU利用率;
        • -v:显示索引节点,文件和其他内核表的状态;
        • -w:显示交换分区状态;
        • -x:显示给定进程的状态。
      • 参数

        • 间隔时间:每次报告的间隔时间(秒);
        • 次数:显示报告的次数。
      • 举例
        [root@study ~]# sar -u 3 5

      • 解释

        • %user列显示了用户进程占用CPU的时间百分比。
        • %nice列显示了运行正常进程占用CPU的时间百分比。
        • %system列显示了系统进程占用CPU的时间百分比。
        • %iowait列显示了I/O等待所占用CPU的时间百分比。
        • %steal列显示了在内存相对进展的环境下pageini强制对不同的页面进行的steal操作。
        • %idle列显示了CPU处在空闲状态的时间百分比。
          注意:
          1. Average列是对之上的所有信息进行统计,计算平均值。
          2. 若有多个CPU,可使用sar -P 0 3 5对第一个CPU进行查询,第二个CPU即位sar -P 1 3 5。
    iostat命令
    • 作用:用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
    • 语法:iostat(选项)(参数)
      • 选项

        • -c:仅显示CPU使用情况;
        • -d:仅显示设备利用率;
        • -k:显示状态以千字节每秒为单位,而不使用块每秒;
        • -m:显示状态以兆字节每秒为单位;
        • -p:仅显示块设备和所有被使用的其他分区的状态;
        • -t:显示每个报告产生时的时间;
        • -V:显示版号并退出;
        • -x:显示扩展状态。
      • 参数

        • 间隔时间:每次报告的间隔时间(秒);
        • 次数:显示报告的次数。
      • 举例
        [root@study ~]# iostat -x /dev/sda1

      • 解释

        • Device:监测设备名称;
        • rrqm/s:每秒需要读取需求的数量;
        • wrqm/s:每秒需要写入需求的数量;
        • r/s:每秒实际读取需求的数量;
        • w/s:每秒实际写入需求的数量;
        • rsec/s:每秒读取区段的数量;
        • wsec/s:每秒写入区段的数量;
        • rkB/s:每秒实际读取的大小,单位为KB;
        • wkB/s:每秒实际写入的大小,单位为KB;
        • avgrq-sz:需求的平均大小区段;
        • avgqu-sz:需求的平均队列长度;
        • await:等待I/O平均的时间(milliseconds);
        • svctm:I/O需求完成的平均时间;
        • %util:被I/O需求消耗的CPU百分比。

    内存性能评估

    free命令
    • 作用:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
    • 语法:free(选项)
      • 选项

        • -b:以Byte为单位显示内存使用情况;
        • -k:以KB为单位显示内存使用情况;
        • -m:以MB为单位显示内存使用情况;
        • -o:不显示缓冲区调节列;
        • -s<间隔秒数>:持续观察内存使用状况;
        • -t:显示内存总和列;
        • -V:显示版本信息。
      • 举例
        [root@study ~]# free -m

      • 解释

        • 程序可使用内存=free+buffers+cached(即+ buffers/cache的值)
        • 程序已使用内存=user-buffres-cached
        • 物理内存可分配的内存值为free,物理总内存为total。
          注意:处于buffers和cached中的内存对于应用程序而言是可用的,对于内核而言是无法分配的,内核可分配的内存仅为free的值。
      • 规律

        • (+ buffers/cache)/系统物理内存<20%:系统内存资源紧缺,需要增加系统内存;
        • 20%<(+ buffers/cache)/系统物理内存<70%:系统内存资源基本满足应用需求,暂不影响性能;
        • (+ buffers/cache)/系统物理内存>70%:系统内存资源非常充足,不影响系统性能。
    watch与free结合
    • 作用:watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示。
    • 语法:watch(选项)(参数)
      • 选项

        • -n:指定指令执行的间隔时间(秒);
        • -d:高亮显示指令输出信息不同之处;
        • -t:不显示标题。
      • 参数

        • 指令:需要周期性执行的指令。
      • 举例
        [root@study ~]# watch -n 3 -d free -m

    sar命令
    • 作用:见上
    • 语法:见上
      • 举例
        [root@study ~]# sar -r
      • 解释
        • kbmemfree:表示空闲物理内存大小;
        • kbmemused:表示已使用的物理内存空间大小;
        • %memused:表示已使用的内存占总内存大小的百分比;
        • kbbuffers:缓冲区缓存大小;
        • kbcached:缓存区缓存大小;
        • kbcommit:应用程序当前使用的内存大小;
        • %commit:应用程序当前使用的内存百分比。

    磁盘I/O性能评估

    sar -d命令
    • 作用:见上
    • 语法:见上
      • 举例
        [root@study ~]# sar -d 2 3
      • 解释
        • DEV:表示磁盘设备名称;
        • tps:表示每秒到屋里磁盘的传送数;
        • rd_sec/s:表示每秒从设备读取的扇区数(1扇区=512字节);
        • wr_sec/s:表示每秒写入的设备的扇区数;
        • avgrq-sz:表示平均每次设备I/O操作的数据大小(以扇区为单位);
        • avgqu-sz:表示平均I/O队列长度;
        • await:表示平均每次设备I/O操作的等待时间(以毫秒为单位);
        • svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位);
        • %util:表示一秒钟有百分之几的是用于I/O操作。
    iostat -x命令:见上
    vmstat -d:见上

    网络性能评估

    ping命令:略
    netstat -i命令
    • 作用:显示网络接口信息。
    • 语法:略
      • 举例
        [root@study ~]# netstat -i
      • 解释
        • Iface:表示网络设备的接口名称;
        • MTU:表示最大传输单元,单位为字节;
        • Met:度量值,供某些操作系统用,用于计算一条路由的成本;
        • RX-OK/TX-OK:表示已经准确无误地接受/发送了多少数据包;
        • RX-ERR/TX-ERR:表示接受/发送数据包产生了多少错误;
        • RX-DRP/TX-DRP:表示接受/发送数据包时丢弃了多少数据包;
        • RX-OVR/TX-OVR:表示由于误差而遗失了多少数据包;
        • Flg:表示接口标记,其具体含义如下——
          • L:表示该接口是个回环设备;
          • B:表示设置了广播地址;
          • M:表示接受所有数据包;
          • R:表示接口正在运行;
          • U:表示接口处于活动状态;
          • O:表示在该接口上禁用arp;
          • P:表示一个点到点的连接。
    netstat -r命令
    • 作用:检查系统的路由表信息。
    • 语法:略
      • 举例
      • 解释
    sar -n命令
    • 作用:见上
    • 语法:sar -n [类型]
      • 类型

        1. DEV:显示网络接口信息;
        2. EDEV:显示关于网络错误的统计数据;
        3. SOCK:显示套接字信息;
        4. FULL:显示所有类型。
      • 举例
        [root@study ~]# sar -n DEV 2 3

      • 解释

        • IFACE:表示网络接口设备;
        • rxpck/s:表示每秒钟接受的数据包大小;
        • txpck/s:表示每秒钟发送的数据包大小;
        • rxkB/s:表示每秒钟接受的字节数;
        • txkB/s:表示每秒钟发送的字节数;
        • rxcmp/s:表示每秒钟接受的压缩数据包;
        • txcmp/s:表示每秒钟发送的压缩数据包;
        • rxmcst/s:表示每秒钟接受的多播数据包。

    作者:木二

    出处:http://www.cnblogs.com/itzgr/

    关于作者:云计算、虚拟化,Linux,多多交流!

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!如有其他问题,可邮件(xhy@itzgr.com)咨询。

  • 相关阅读:
    STL--string
    vector的常用总结
    poj 3279
    湖南省第八届大学生程序设计大赛原题 J
    湖南省第八届大学生程序设计大赛原题 E
    湖南省第八届大学生程序设计大赛原题 C
    湖南省第八届大学生程序设计大赛原题 B
    湖南省第八届大学生程序设计大赛原题 A
    湖南省第八届大学生程序设计大赛原题 D
    hdu1557
  • 原文地址:https://www.cnblogs.com/itzgr/p/15551850.html
Copyright © 2011-2022 走看看