linux系统管理工具sar(一)

简介:

linux系统管理工具sar

  1. 监控网卡流量
    #sar -n  DEV 1 1  (1秒内取1次)
    Linux 3.10.0-123.9.3.el7.x86_64 (iZ25wvw5wozZ)     01/22/2018  _x86_64_    (16 CPU)
    03:08:01 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    03:08:02 PM      cni0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    03:08:02 PM      eth0    911.00    740.00    209.74    244.55      0.00      0.00      0.00
    03:08:02 PM      eth1      0.00     64.00      0.00     67.41      0.00      0.00      0.00
    03:08:02 PM        lo     13.00     13.00      0.69      0.69      0.00      0.00      0.00
    03:08:02 PM flannel.1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    03:08:02 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    Average:         cni0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:         eth0    911.00    740.00    209.74    244.55      0.00      0.00      0.00
    Average:         eth1      0.00     64.00      0.00     67.41      0.00      0.00      0.00
    Average:           lo     13.00     13.00      0.69      0.69      0.00      0.00      0.00
    Average:    flannel.1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    注:sar -n DEV 查看当前服务器的网络流量信息  rxpck/s: 每秒收包的数量  txpck/s: 每秒发包的数量

    说明:
    (1)rxpck/s:每秒钟收到数据包的数量.
    (2)txpck/s:每秒钟发送数据包的数量.
    (3)rxkB/s:每秒钟接收的字节(KB).
    (4)txkB/s:每秒钟发送的字节(KB).
    (5)rxcmp/s:每秒收到的压缩包的数量
    (6)txcmp/s:每秒发出的压缩包的数量
    (7)rxmcst/s:每秒收到的广播包的数量
    网络设备的数据来源于/proc/net/dev.
    我这里尝试用ssh的压缩功能进行传输,结果也没看到压缩包的数量有变化.

  2. 监控cpu资源
    #sar 1  (将所有CPU合并到一起进行监控)
    03:08:57 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    03:08:58 PM     all      5.47      0.00      5.97      2.58      0.06     85.91
    03:08:59 PM     all      5.85      0.00      6.29      2.33      0.06     85.46
    03:09:00 PM     all      4.76      0.00      6.27      1.57      0.06     87.34
    03:09:01 PM     all      6.67      0.00      6.17      1.83      0.13     85.21
    03:09:02 PM     all      4.97      0.00      6.35      1.32      0.06     87.30
    03:09:03 PM     all      4.47      0.00      6.30      0.00      0.06     89.17
    03:09:04 PM     all      3.95      0.00      5.71      0.00      0.06     90.27
    。。。。。
    03:09:07 PM     all      3.87      0.00      6.08      0.00      0.55     89.50
    Average:        all      4.92      0.00      6.04      0.97      0.07     88.01
    #sar -P  ALL 1 1 (可以显示每个CPU现在的负载)
    03:10:08 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    03:10:09 PM     all      6.21      0.00      6.65      3.32      0.13     83.69
    03:10:09 PM       0     30.21      0.00     10.42     52.08      0.00      7.29
    03:10:09 PM       1      8.00      0.00      1.00      2.00      0.00     89.00
    03:10:09 PM       2      4.00      0.00      1.00      0.00      0.00     95.00
    03:10:09 PM       3      0.00      0.00      0.00      0.00      0.00    100.00
    03:10:09 PM       4      1.98      0.00      0.99      0.00      0.99     96.04
    03:10:09 PM       5      3.00      0.00      1.00      0.00      0.00     96.00
    03:10:09 PM       6      2.00      0.00      1.00      0.00      0.00     97.00
    03:10:09 PM       7     14.14      0.00     85.86      0.00      0.00      0.00
    Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
    Average:        all      6.21      0.00      6.65      3.32      0.13     83.69
    Average:          0     30.21      0.00     10.42     52.08      0.00      7.29
    Average:          1      8.00      0.00      1.00      2.00      0.00     89.00
    Average:          2      4.00      0.00      1.00      0.00      0.00     95.00
    Average:          3      0.00      0.00      0.00      0.00      0.00    100.00
    Average:          4      1.98      0.00      0.99      0.00      0.99     96.04
    Average:          5      3.00      0.00      1.00      0.00      0.00     96.00
    Average:          6      2.00      0.00      1.00      0.00      0.00     97.00
    Average:          7     14.14      0.00     85.86      0.00      0.00      0.00

    说明:%user,%system,%iowait,%idle分别表示用户态进程占用CPU百分比,系统态进程占用CPU百分比,CPU等待IO百分比,CPU空闲百分比。
    重点说%nice和%steal,这是vmstat所没有的.
    %nice:如果一个程序在运行时用nice调整它的优先级,且优先级在1-19之间,并且是用户态的进程,这时%nice才会体现出来,%steal:一般在运行虚拟机的宿主机才用到,比如xen,QEMU,Bochs等等。

  3. 监控内存资源
    #sar -r 1
    03:20:55 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
    03:20:56 PM   1754084  14239212     89.03    204100   2997052  25525216    159.60  12852348    805468         0
    03:20:57 PM   1753824  14239472     89.03    204100   2997456  25525216    159.60  12852572    805740         0
    03:20:58 PM   1753668  14239628     89.03    204100   2997704  25525216    159.60  12852640    805904         0
    03:20:59 PM   1753200  14240096     89.04    204108   2997936  25525216    159.60  12852728    806048         0
    03:21:00 PM   1752548  14240748     89.04    204108   2998116  25525176    159.60  12852812    806244         0
    03:21:01 PM   1751756  14241540     89.05    204108   2998868  25525176    159.60  12853020    806808         0
    。。。。。
    03:21:01 PM   1749996  14243300     89.06    204112   3001284  25526988    159.61  12854832    807716         0
    Average:      1752725  14240571     89.04    204105   2998345  25525458    159.60  12852993    806275         0

    说明:
    (1)kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间。
    (2)kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间。
    (3)%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比。
    (4)kbbuffers和kbcached:这两个值就是free命令中的buffer和cache。
    (5)kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)。
    (6)%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比。
    对比:

    #free -h
                     total        used        free      shared  buff/cache   available
    Mem:            15G         10G        1.6G        777M        3.4G        3.9G
    Swap:            0B          0B          0B
  4. 监控内存分页
    #sar -B 1
    03:33:33 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
    03:33:34 PM      0.00  14504.00   3192.00      0.00   8984.00      0.00      0.00      0.00      0.00
    03:33:35 PM      0.00      0.00    866.00      0.00   3294.00      0.00      0.00      0.00      0.00
    03:33:36 PM      0.00    256.00    845.00      0.00   3711.00      0.00      0.00      0.00      0.00
    03:33:37 PM      0.00  19964.00   4765.00      0.00   3803.00      0.00      0.00      0.00      0.00
    03:33:38 PM      0.00  10620.00   3029.00      0.00   8643.00      0.00      0.00      0.00      0.00
    03:33:39 PM      0.00  26956.00   6252.00      0.00   4644.00      0.00      0.00      0.00      0.00
    03:33:40 PM      0.00  26208.00   5834.00      0.00  12574.00      0.00      0.00      0.00      0.00
    。。。。
    03:33:40 PM      0.00  20524.44   4968.89      0.00  15342.22      0.00      0.00      0.00      0.00
    Average:         0.00  14462.28   3626.71      0.00   7054.63      0.00      0.00      0.00      0.00

    说明:
    (1)pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
    (2)pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
    (3)fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
    (4)majflt/s:每秒钟产生的主缺页数
    (5)pgfree/s:每秒被放入空闲队列中的页个数
    (6)pgscank/s:每秒被kswapd扫描的页个数
    (7)pgscand/s:每秒直接被扫描的页个数
    (8)pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
    (9)%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比。

  5. 关于I节点,文件和其它内核表的监控
    #sar -v 1
    03:41:43 PM dentunusd   file-nr  inode-nr    pty-nr
    03:41:44 PM     38321      3296     22449         2
    03:41:45 PM     38327      3296     22455         2
    03:41:46 PM     38329      3296     22446         2
    03:41:47 PM     38329      3296     22448         2
    03:41:48 PM     38331      3296     22447         2
    03:41:49 PM     38331      3296     22447         2
    03:41:50 PM     38331      3296     22447         2
    03:41:51 PM     38336      3296     22448         2
    。。。。
    03:41:51 PM     38336      3296     22449         2
    Average:        38330      3296     22448         2

    说明:
    (1)dentunusd:在缓冲目录条目中没有使用的条目数量。
    dentunusd数据的数据来源是/proc/sys/fs/dentry-state的第二项数据.
    要弄明白它的意义,我们首先要弄明白dcache(目录高速缓存),因为系统中所有的inode都是通过文件名来访问的,而为了解决文件名到inode转换的时间,就引入了dcache.
    它是VFS层为当前活动和最近使用的名字维护的一个cache.
    dcache中所有处于unused状态和negative(消极)状态的dentry对象都通链入到dentry_unused链表中,这种dentry对象在回收内存时可能会被释放.
    如果我们在系统中运行ls -ltR /etc/会看到dentunusd的数量会多起来.
    而通过mount -o remount /dev/sda1会看到dentunusd会迅速会回收.
    (2)file-nr:被系统使用的文件句柄数量。
    file-nr的的数据来源是/proc/sys/fs/file-nr文件的第一项数据.
    实际上file-nr不是一个准确的值,file-nr每次增加的步长是64(64位系统),例如现在file-nr为2528,实际上可能只打开了2527个文件,而此时你打开两个文件后,它就会变成2592,而不是2530.
    (3)inode-nr:使用的索引节点数量。
    inode-nr的数据来源是/proc/sys/fs/inode-nr文件的第一项数据减去第二项数据的值.
    inode-nr文件的第一项数据是已经分配过的INODE节点.第二项数据是空闲的INODE节点.
    例如,inode-nr文件里的值为:13720 7987
    我们新建一个文件file1,此时inode-nr第一项数据会加1,就是13721,表示系统里建立了这么多的inode.
    我们再删除掉file1,此时就会变成13720.
    空闲的INODE节点表示我们已经里这么多的INODE节点曾经有过被利用,但没有被释放.
    所以INODE节点总数减去空闲的INODE,就是正在被用的INODE.
    最后通过使用mount -o remount /dev/sda1命令,空闲节点会被刷新,所以inode-nr的值会有所变化.
    (4)pty-nr:使用的pty数量。
    pty-nr的数据来源是/proc/sys/kernel/pty/nr
    表示登陆过的终端总数,如果我们登录过10回,退出了3回,最后的结果还是10回.

  6. 监控中断
    #sar -I ALL  1
    03:47:59 PM      INTR    intr/s
    03:48:00 PM         0      0.00
    03:48:00 PM         1      0.00
    03:48:00 PM         2      0.00
    03:48:00 PM         3      0.00
    03:48:00 PM         4      0.00
    03:48:00 PM         5      0.00
    03:48:00 PM         6      0.00
    03:48:00 PM         7      0.00

    说明:
    (1)INTR表示中断号,中断号代表的意义可以到/proc/interrupts查询.
    (2)intr/s表示每秒的中断次数.

  7. 平均负载和队列的监控
    #sar -q 1
    04:08:37 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
    04:08:38 PM         1      2274      2.24      2.55      2.68         0
    04:08:39 PM         3      2274      2.24      2.55      2.68         1
    04:08:40 PM         2      2274      2.24      2.55      2.68         0
    04:08:41 PM         2      2274      2.24      2.55      2.68         0
    04:08:42 PM         1      2274      2.14      2.53      2.67         0
    04:08:43 PM         2      2274      2.14      2.53      2.67         0
    。。。。
    04:08:44 PM         3      2274      2.14      2.53      2.67         0
    Average:            2      2274      2.20      2.54      2.68         0

    说明:
    (1)runq-sz:处于运行或就绪的进程数量
    (2)plist-sz:现在进程的总数(包括线程).
    (3)ldavg-1:最近一分钟的负载.
    (4)ldavg-5:最近五分钟的负载.
    (5)ldavg-15:最近十分钟的负载.
    (6)平均负载和队列的数据来源于/proc/loadavg


     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/2063701,如需转载请自行联系原作者



相关文章
|
12天前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
68 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
504 8
|
1月前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
186 36
|
2月前
|
Rust Ubuntu Java
[Linux工具] Makefile
Makefile是Linux环境下用于自动化编译和链接程序的配置文件,常用于简化大型项目的编译流程。通过定义目标文件、依赖文件及生成命令,Makefile能高效管理编译任务。它不仅适用于C语言项目,还可扩展到其他编程语言和非编程任务中。
67 20
[Linux工具] Makefile
|
1月前
|
Linux API
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
67 10
|
1月前
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
46 4
|
2月前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
215 28
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
75 11
|
2月前
|
安全 网络协议 Linux
结合 `nc` 工具利用笑脸漏洞(Smile Bug)攻击 Metasploitable2 Linux
本文介绍如何使用 `nc`(Netcat)工具结合笑脸漏洞(Smiley Bug)攻击 Metasploitable2 Linux 靶机。首先概述了 `nc` 的基本功能和高级用法,包括建立连接、监听端口、文件传输等操作。接着详细描述了笑脸漏洞的原理及其在网络攻防中的应用,展示了通过 `nc` 发送恶意输入检测漏洞的方法。最后结合 Python 脚本实现更复杂的攻击场景,并强调了合法性和环境隔离的重要性。
66 13
|
3月前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
291 6