大家好,我是 Sean
在应用咱们碰到问题堪称是形形色色,零碎卡顿、死机、宕机、I/ O 呈现瓶颈等等,这时,咱们应该思考应用零碎给咱们提供的 sar 命令来对系统作一个理解,该命令是系统维护的重要工具,次要帮忙咱们把握系统资源的应用状况,特地是内存和 CPU 的应用状况。
sar(零碎运行状态统计工具)
在应用咱们碰到问题堪称是形形色色,零碎卡顿、死机、宕机、I/ O 呈现瓶颈等等,这时,咱们应该思考应用零碎给咱们提供的 sar 命令来对系统作一个理解,该命令是系统维护的重要工具,次要帮忙咱们把握系统资源的应用状况,特地是内存和 CPU 的应用状况。
sar 命令 是 Linux 下零碎运行状态统计工具,它将指定的操作系统状态计数器显示到规范输出设备。sar 工具将对系统以后的状态进行取样,而后通过计算数据和比例来表白零碎的以后运行状态。它的特点是能够间断对系统取样,取得大量的取样数据。取样数据和剖析的后果都能够存入文件,应用它时耗费的系统资源很小。
启动命令参数
-A:显示所有的报告信息;-b:显示 I / O 速率;-B:显示换页状态;-c:显示过程创建活动;-d:显示每个块设施的状态;-e:设置显示报告的完结工夫;-f:从指定文件提取报告;-i:设状态信息刷新的间隔时间;-P:报告每个 CPU 的状态;-R:显示内存状态;-u:显示 CPU 利用率;-v:显示索引节点,文件和其余内核表的状态;-w:显示替换分区状态;-x:显示给定过程的状态。
常用命令
查看 CPU 应用状况
sar 1 3 或 sar -u 1 3
每 1 秒打印一次 cpu 情况,打印 3 次后退出
将 cpu 统计后果保留到文件
sar -o test 1 3
每 1 秒打印一次 cpu 情况,打印 3 次后退出,并保留到文件 test
sar -f test
查看保留到 test 文件的 cpu 记录
查看均匀负载
sar -q 1 3
查看零碎 swap 分区统计状况
sar -W 1 3
查看 IO 和传递速率
sar -b 1 3
查看磁盘应用状况
sar -d
统计网络信息
sar -n DEV
sar -n EDEV
统计 socket 连贯信息
sar -n SOCK
TCP 连贯的统计
sar -n TCP
查看内存应用状况
sar -r 1 3
命令详解
查看 CPU 应用状况
sar 1 3 或 sar -u 1 3
%user 用户空间的 CPU 应用
%nice 扭转过优先级的过程的 CPU 使用率
%system 内核空间的 CPU 使用率
%iowait CPU 期待 IO 的百分比
%steal 虚拟机的虚拟机 CPU 应用的 CPU
%idle 闲暇的 CPU
在以上的显示当中,次要看 %iowait 和 %idle,%iowait 过高示意存在 I / O 瓶颈,即磁盘 IO 无奈满足业务需要,如果 %idle 过低示意 CPU 使用率比较严重,须要联合内存应用等状况判断 CPU 是否瓶颈
sar 还能够把 CPU 应用状况记录成二进制文件,并能够从新读取:
生成文件:sar -o test 1 3
查看文件:sar -f test
查看均匀负载
sar -q 1 3
runq-sz 运行队列的长度(期待运行的过程数,每核的 CP 不能超过 3 个)plist-sz 过程列表中的过程(processes)和线程数(threads)的数量
ldavg-1 最初 1 分钟的 CPU 均匀负载,行将多核 CPU 过来一分钟的负载相加再除以外围数得出的平均值,5 分钟和 15 分钟以此类推
ldavg-5 最初 5 分钟的 CPU 均匀负载
ldavg-15 最初 15 分钟的 CPU 均匀负载
查看内存应用状况
sar -r 1 3
kbmemfree 闲暇的物理内存大小
kbmemused 应用中的物理内存大小
%memused 物理内存使用率
kbbuffers 内核中作为缓冲区应用的物理内存大小,kbbuffers 和 kbcached: 这两个值就是 free 命令中的 buffer 和 cache.
kbcached 缓存的文件大小
kbcommit 保障以后零碎失常运行所须要的最小内存,即为了确保内存不溢出而须要的起码内存(物理内存 +Swap 分区)commit 这个值是 kbcommit 与内存总量(物理内存 +swap 分区)的一个百分比的值
kbactive
kbinact
kbdirty
查看零碎 swap 分区统计状况
sar -W 1 3
pswpin/s 每秒从替换分区到零碎的替换页面(swap page)数量
pswpott/s 每秒从零碎替换到 swap 的替换页面(swap page)的数量
查看 IO 和传递速率
sar -b 1 3
tps 磁盘每秒钟的 IO 总数,等于 iostat 中的 tps
rtps 每秒钟从磁盘读取的 IO 总数
wtps 每秒钟从写入到磁盘的 IO 总数
bread/s 每秒钟从磁盘读取的块总数
bwrtn/s 每秒钟此写入到磁盘的块总数
查看磁盘应用状况
sar -d
DEV 磁盘设施的名称,如果不加 -p,会显示 dev253- 0 相似的设施名称,因而加上 - p 显示的名称更间接
tps 每秒 I / O 的传输总数
rd_sec/s 每秒读取的扇区的总数
wr_sec/s 每秒写入的扇区的总数
avgrq-sz 均匀每次次磁盘 I / O 操作的数据大小(扇区)avgqu-sz 磁盘申请队列的均匀长度
await 从申请磁盘操作到零碎实现解决,每次申请的均匀耗费工夫,包含申请队列等待时间,单位是毫秒(1 秒等于 1000 毫秒),等于寻道工夫 + 队列工夫 + 服务工夫
svctm I/ O 的服务解决工夫,即不包含申请队列中的工夫
%util I/ O 申请占用的 CPU 百分比,值越高,阐明 I / O 越慢
统计网络信息
sar -n 参数
sar -n DEV
sar -n EDEV 1 1
sar -n SOCK
参数 | 含意 |
---|---|
DEV | 网络接口统计信息 |
EDEV | 网络接口谬误 |
NFS | NFS 客户端 |
NFSD | NFS 服务器 |
SOCK | 套接字 |
IP | IP 流 |
EIP | IP 流谬误 |
ICMP | ICMP 流 |
EICMP | ICMP 流谬误 |
TCP | TCP 流 |
ETCP | TCP 流谬误 |
UDP | UDP 流 |
SOCK6 | 套接字 |
IP6 | IP 流 |
EIP6 | IP 流谬误 |
ICMP6 | ICMP 流 |
EICMP6 | ICMP 流谬误 |
UDP6 | UDP 流 |
明天的分享就到这里啦!感激各位的浏览!码字不易,如果本文对你有帮忙的话,帮忙点个赞吧~ 哈哈。