云计算开发教程:运维工程师必会技能--sar
今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:运维工程师必会技能–sar。
SAR是系统活动报告(System Activity Report)英文单词的首字母缩写。正如它的名字所表示的那样,SAR是一个在Unix和Linux操作系统中用来收集、报告和保存CPU、内存、输入输出端口使用情况的命令。SAR命令可以动态产生报告,也可以把报告保存在日志文件中。
如果你没有安装该软件包,可以使用下面一条命令来安装它。
[root@localhost ~]# yum install sysstat
启动sadc(system activity data collector)服务(sysstat),这样报告就会被写入到日志文件“/var/log/sa/saDD”中并且已经存在的文档将会被归档。DD表示当前日期。
[root@localhost ~]# systemctl start sysstat
[root@localhost ~]# systemctl enable sysstat
它每隔10分钟收集一次数据并且每天形成一份报告。
sar命令的使用
sar命令常用格式
sar [options] [-A] [-o file] t
其中:
t为采样间隔,n为采样次数,默认值是1;
-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
查看CPU使用率
sar -u : 默认情况下显示的cpu使用率等信息就是sar -u
查看平均负载
sar -q: 查看平均负载
指定-q后,就能查看运行队列中的进程数、系统上的进程大小、平均负载等;与其它命令相比,它能查看各项指标随时间变化的情况;
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载 ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
网络流量
sar -n DEV 网卡
IFACE 表示设备名称
rxpck/s 每秒接收的包的数量
txpck/s 每秒发出的包的数量
rxKB/s 每秒接收的数据量,单位KByte 1KB=1000byte=8000bit
txKB/s 每秒发出的数据量,单位KByte
若服务器丢包非常严重,需要查看网卡流量是否异常。接收数据部分 rxpck大于4000,或者rxKB大于5000,则有可能被攻击了,正常服务器网卡流量没有这么大。除非自己在拷贝数据。
计算实际速度,取 rxkb或txkb的峰值,换算成KB,比如是686KByte,然后用686*8/1000=5.4MBit
Bytes 字节,缩写为B 【电脑硬盘的最小单位】
bit 位, 1Byte=8bit 【网络中最小的单位】
bps =bit per second 每秒位数
pps =package per second 每秒数据包 Mb ,Gb,10Gb
10Gb=10000Mb 【电脑中1GB=1024MB,网络中1Gb=1000Mb】
宽带10Mb,下载速度是1.25MB,10Mb=10Mbit 10Mbit/8=1.25Mbyte=1.25MB
查看内存使用状况
sar -r: 指定-r之后,可查看物理内存使用状况;
kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
%memused:物理内存使用率,这个值是kbmemused和内存总量(不包括swap)的一个百分比.
kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.
查看页面交换发生状况
sar -W:查看页面交换发生状况
页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换;
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量
sar的综合使用
要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来;
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
其他sar参数说明
-A 汇总所有的报告
-a 报告文件读写使用情况
-B 报告附加的缓存的使用情况
-b 报告缓存的使用情况
-c 报告系统调用的使用情况
-d 报告磁盘的使用情况
-g 报告串口的使用情况
-h 报告关于buffer使用的统计数据
-m 报告IPC消息队列和信号量的使用情况
-n 报告命名cache的使用情况
-p 报告调页活动的使用情况
-q 报告运行队列和交换队列的平均长度
-R 报告进程的活动情况
-r 报告没有使用的内存页面和硬盘块
-u 报告CPU的利用率
-v 报告进程、i节点、文件和锁表状态
-w 报告系统交换活动状况
-y 报告TTY设备活动状况
- 大数据架构开发 挖掘分析 Hadoop HBase Hive Storm Spark Flume ZooKeeper Kafka Redis MongoDB Java 机器学习 云计算 视频教程
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十三)制作游戏主菜单面板及鼠标左右键快捷技能栏
- (李兴华)【FANUC FOCAS1/2 Library 开发系列教程】-开发需要掌握的技能
- 《软件开发技能实训教程 .NET篇》 - 书摘精要
- 黑马JavaEE云计算大数据全套视频 JavaEE云计算开发全套视频教程 超全精华班 82G
- 《软件开发技能实训教程 .NET篇》 - 书摘精要
- 《软件开发技能实训教程 .NET篇》 - 书摘精要
- 《软件开发技能实训教程 .NET篇》 - 书摘精要
- 软件开发全套视频教程汇总(javaSE,javaEE,linux,android开发,C# ,web前端,大数据云计算,数据挖掘,web前端,php开发,UI设计,C++开发,3D视频)
- 云计算大数据(Hadoop)开发工程师项目实战视频教程(九部分)
- 云计算开发教程,云计算能干什么?
- 黑马JavaEE云计算大数据全套视频 JavaEE云计算开发全套视频教程 超全精华班 82G
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十三)制作游戏主菜单面板及鼠标左右键快捷技能栏
- 云计算教程开发知识,学云计算有什么用?
- 提升jQuery开发技能的教程
- 大数据架构开发 挖掘分析 Hadoop HBase Hive Storm Spark Java Flume ZooKeeper Kafka Redis MongoDB 机器学习 云计算 视频教程
- 【小松教你手游开发】【unity实用技能】unity自带寻路Navmesh入门教程
- Dota2 AI 简易开发教程(一)——选择阵容及技能使用
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
- 用grunt搭建自动化的web前端开发环境-完整教程