10.1 使用w查看系统负载
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令
一、使用w查看系统负载
w
第一行显示系统时间、当前运行时间、目前登录用户(可以从下面看到)、系统负载
load average:0.61,0.67,0.29
这三个数字分别表示1分钟、5分钟、15分钟之内,系统的负载分别是多少
负载值低时,代表系统目前负载较小,有点浪费
如何合理利用?要看有几核逻辑CPU,不是物理CPU
FROM:表示从哪里来
LOGIN@:表示登录时间
IDLE:空闲了多长时间
JCPU、PCPU:使用了CPU的时间
WHAT:命令
uptime
和w命令第一行相同,所以我们平时使用w查看即可
cat /proc/cpuinfo查看CPU信息
查看processor数,即代表本机的CPU核数,如果是0,代表有1核。如果是1,代表有2核,以此类推
查看physical id数,代表本物理机cpu,如果是1,代表有2个物理cpu
如果说cpu核数是8,即processor数为7时,那么负载值不应大于8,都可以正常运行。5分钟平均负载和15分钟平均负载也是如此,如果负载值大于8,那么表示cpu核数已经不够用了
lscpu也可以查看CPU信息
二、vmstat命令
vmstat 1每一秒查看一次系统状态,不需要时使用ctrl+c 停止
vmstat 1 5每一秒查看一次系统,查看5次
需要关注点:
1.r=run 有多少进程处于运行状态
当进程有多个时,而cpu只有一个,那么就需要轮流使用,在一个时刻只允许一个进程运行
2.b=block 有多少个进程在等待
3.swpd 当内存不够时,系统可以拿出内存中的一部分数据临时放到swap交换分区里。如果swpd值一直在变换时,说明交换分区和内存在频繁的交换数据,代表内存不够了
- si/so si 有多少k的块数据,从swap进入到内存中。so 有多少k的块数据,从内存中进入到swap,如果swap在频繁变换时,这两个值肯定也会变动
5.bi/bo bi 有多少k的数据从磁盘进入到内存中。bo 有多少k的数据从内存写入磁盘,这两个值很大时,说明磁盘在频繁的读写。跟cpu和内存比,磁盘是很慢的,如果很频繁的读写数据会导致b列的增加。因为有很多进程在等待磁盘
6.us 用户级别的,数字不会超过100%。表示用户的资源占用cpu的百分比,如果数字大于50,说明系统肯定资源不够
7.sy 系统本身的一些进程、服务,占用资源的百分比
8.id 空闲 us+sy+id+wa=st=100
9.wa=wait 有多少进程在等待cpu的百分比
10.cache/buff cache:缓存区,是高速缓存,是位于cpu和主内存之间的容量较小但速度很快的存储器 Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据
三、top命令
top 查看进程使用资源情况
top #3秒显示一次,动态的
第一行:和w命令第一行相同
第二行:有多少个任务,有多少的正在运行的进程,有多少个休眠的进程,有多少个停止的进程,有多少个僵尸进程zombie(主进程被意外终止的)
第三行:cpu百分比,平时需要多关注us,如果us很高,系统负载将会特别大。st表示被偷走的cpu,如果服务器做了虚拟化,下面有一些虚拟机就会偷走一些cpu
第四行:KiB Mem表示物理内存,需要关注
第五行:KiB Swap表示交换分区
下面默认按照%cpu排序,占用高的在上
RES:物理内存大小,单位是字节
PID:进程号,可以使用它杀死进程,kill+pid号杀死进程
想要按照内存占用%MEM大小排序,按shift+m键
恢复按照%cpu排序,按shift+p键
查看所有cpu使用率,按1,可以来回切换
退出,按q
top -c #可以看到具体的进程命令,全局的路径,看的更详细
top -bn1 #静态的显示,一次性的把所有的信息全部输出过来,适合在写脚本时使用
四、sar命令
sar是Linux系统里的瑞士军刀
从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等
如果没有sar命令可以安装sysstat
yum install -y sysstat
sar命令如果不加具体的选项,默认会调用系统里保留的一个历史文件,在/var/log/sa 目录下,sar每隔十分钟会把系统的状态过滤一遍,保存在文件里,存在此目录下
该目录下有两种类型的文件,一个是sa开头的文件,一个是sar开头的文件,其中sa是二进制文件,需要使用sar -f查看,sar是文本文件,可以直接使用cat命令查看
sar -n DEV查看网卡流量
用法和vmstat类似,后面跟1 2,表示每隔1秒显示1次,显示2次
第一列:时间
第二列:IFACE 网卡名字
第三列:rxpck/s 接受到的数据包,单位个数,几千属于正常,上万属于不正常
第四列:txpck/s 发送出去的数据包
第五列:rxkB/s 接收的数据量,单位KB
第六列:txkB/s 发送的数据量
第七列:rxcmp/s 不需要关注
第八列:txcmp/s 不需要关注
第九列:rxmcst/s 不需要关注
查看前一天的历史数据
sar -n DEV -f /var/log/sa/sa06
/var/log/sa 里保留的文件最多为一个月,所以文件为sa01-sa31
sar -p 查看系统负载
如果需要查看6号的
sar -q -f /var/log/sa/sa06
sar -b 查看磁盘读写
五、nload命令
默认没有安装,使用yum install -y nload
nload 动态的显示网卡实时速度的一个页面
第一行显示网卡名字、IP、网卡其中之一,可以按右方向键切换网卡,按q退出
lncoming 进来带宽
Outgoing 出去带宽
curr 当前值
Avg 平均值
Min 最小值
Max 最大值
Ttl 总和