10.1 使用w查看系统负载

10.2 vmstat命令

10.3 top命令

10.4 sar命令

10.5 nload命令

prometheus 查询windows cpu负载率_数据

一、使用w查看系统负载

w

prometheus 查询windows cpu负载率_物理内存_02

第一行显示系统时间、当前运行时间、目前登录用户(可以从下面看到)、系统负载

load average:0.61,0.67,0.29

这三个数字分别表示1分钟、5分钟、15分钟之内,系统的负载分别是多少

负载值低时,代表系统目前负载较小,有点浪费

如何合理利用?要看有几核逻辑CPU,不是物理CPU

FROM:表示从哪里来

LOGIN@:表示登录时间

IDLE:空闲了多长时间

JCPU、PCPU:使用了CPU的时间

WHAT:命令

uptime

和w命令第一行相同,所以我们平时使用w查看即可

prometheus 查询windows cpu负载率_数据_03

cat /proc/cpuinfo查看CPU信息

prometheus 查询windows cpu负载率_top命令_04

prometheus 查询windows cpu负载率_top命令_05

查看processor数,即代表本机的CPU核数,如果是0,代表有1核。如果是1,代表有2核,以此类推

查看physical id数,代表本物理机cpu,如果是1,代表有2个物理cpu

如果说cpu核数是8,即processor数为7时,那么负载值不应大于8,都可以正常运行。5分钟平均负载和15分钟平均负载也是如此,如果负载值大于8,那么表示cpu核数已经不够用了

lscpu也可以查看CPU信息

prometheus 查询windows cpu负载率_数据_06

prometheus 查询windows cpu负载率_物理内存_07

二、vmstat命令

prometheus 查询windows cpu负载率_数据_08

vmstat 1每一秒查看一次系统状态,不需要时使用ctrl+c 停止

prometheus 查询windows cpu负载率_物理内存_09

vmstat 1 5每一秒查看一次系统,查看5次

prometheus 查询windows cpu负载率_数据_10

需要关注点:

1.r=run 有多少进程处于运行状态

当进程有多个时,而cpu只有一个,那么就需要轮流使用,在一个时刻只允许一个进程运行

2.b=block 有多少个进程在等待

3.swpd 当内存不够时,系统可以拿出内存中的一部分数据临时放到swap交换分区里。如果swpd值一直在变换时,说明交换分区和内存在频繁的交换数据,代表内存不够了

  1. 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秒显示一次,动态的

prometheus 查询windows cpu负载率_top命令_11

第一行:和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 #可以看到具体的进程命令,全局的路径,看的更详细

prometheus 查询windows cpu负载率_物理内存_12

prometheus 查询windows cpu负载率_数据_13

top -bn1 #静态的显示,一次性的把所有的信息全部输出过来,适合在写脚本时使用

prometheus 查询windows cpu负载率_数据_14

四、sar命令

sar是Linux系统里的瑞士军刀

从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等

prometheus 查询windows cpu负载率_物理内存_15

如果没有sar命令可以安装sysstat

yum install -y sysstat

sar命令如果不加具体的选项,默认会调用系统里保留的一个历史文件,在/var/log/sa 目录下,sar每隔十分钟会把系统的状态过滤一遍,保存在文件里,存在此目录下

该目录下有两种类型的文件,一个是sa开头的文件,一个是sar开头的文件,其中sa是二进制文件,需要使用sar -f查看,sar是文本文件,可以直接使用cat命令查看

sar -n DEV查看网卡流量

prometheus 查询windows cpu负载率_数据_16

prometheus 查询windows cpu负载率_物理内存_17

用法和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 查看系统负载

prometheus 查询windows cpu负载率_top命令_18

如果需要查看6号的

sar -q -f /var/log/sa/sa06

sar -b 查看磁盘读写

prometheus 查询windows cpu负载率_物理内存_19

prometheus 查询windows cpu负载率_top命令_20

五、nload命令

默认没有安装,使用yum install -y nload

nload 动态的显示网卡实时速度的一个页面

prometheus 查询windows cpu负载率_物理内存_21

第一行显示网卡名字、IP、网卡其中之一,可以按右方向键切换网卡,按q退出

lncoming 进来带宽

Outgoing 出去带宽

curr 当前值

Avg 平均值

Min 最小值

Max 最大值

Ttl 总和