监控系统状态
用w命令查看当前系统负载
- 第一行从左至右分别为:时间、系统运行时间、登录用户数、平均负载。
- 第二行为:当前用户的登录名及其登录地址等。
远程登录的时候才会有ip地址,虚拟机直接登录是没有的
- 系统负载介绍
load average:后面三个字段,分别为系统的1、5、15分钟平均负载值。
重点关注一分钟,因为最能体现系统的负载状况
数值的含义:单位时间内系统使用CPU的活动进程数,值越大说明服务器的压力越大
cat /proc/cpuinfo 查看系统的核数
- 系统负载为0时,很浪费ui,那没什么时候不浪费呢?一般情况下不超过服务器的CPU数量级就可以 ,这里就需要用到命令了
- 红圈中,数值为0代表我们的逻辑CPU为1。默认加1
与w相似命令
- uptime
[root@centos001 ~]# uptime
01:25:46 up 5:15, 1 user, load average: 0.00, 0.01, 0.05
vmstat命令
- 简介:
w命令是查看系统整体上的负载,能够知道当前系统有没有压力。但它无法判断压力的来源,所以就有了vmstat。
- 选项:
#vmstat 1 5
#vmstat 1
第一条命令表示每隔一秒输出一次状态,共输出5次;第二条命令表示每隔一秒输出一次状态,且会一直输出,除非CTRL+C结束
打印结果(关键的几列:r,b,swpd,si,so,bi,bo,us,wa)
-
procs:显示进程的相关信息 。
r(run):表示运行或等待cpu运行的进程数,一个cpu只能运行一个,其它的需要排队,若长期大于cpu的个数,则说明cpu不够用了。
b(block):表示等待资源的进程数,资源主要值内存、硬盘读写等。 -
memory:显示内存的相关信息。
swpd:表示切换到交换分区的内存数量,单位为KB。正常为0,当平凡发生变化时,说明内存不够了。
free:表示当前空闲的内存量
buff:缓冲大小
cache:缓存大小 -
swap:显示内存交换情况
swap下面的值会受swpd的值的影响
si:表示从交换区写入内存的数据量,单位为KB。 有多少个数据从swap进入到内存中
so:表示由内存写入交换去的数据量,单位为KB。 -
io:显示磁盘的使用状况
bi:表示从块设备读取数据的量(读磁盘),单位为KB。
bo:表示从块设备写人数据的量(写磁盘),单位为KB。 -
system:为采集间隔内发生的中断次数。
in:表示某一时间间隔内观测到的设备中断次数
cs:表示每秒产生的上下文切换次数 -
cpu:显示cpu的使用状态。
us:显示用户下所花费CPU时间的百分比,不会超过100. 若长时间大于50 也说明系统的资源不够用了
sy:显示系统本身话费CPU时间的百分比
id:CPU处于空闲状态的时间百分比
注: us 、sy、id三者相加为100
wa:表示磁盘等待所占用CPU时间的百分比,较大时表示资源不够用了
st:表示被偷走的CPU所占百分比(一般为0,不重要)
top命令
- 简介
top命令用于动态监控进程所占的系统资源,每隔3秒变一次。特点是吧系统资源(CPU等)最高的进程放到最前面
- 示例
- 说明
第一行与w命令查看到的系统负载相同
第二行运行状态 进程数(Task),正在运行,休眠,停止,僵尸进程(zombie僵尸进程:子进程由父进程回收,没有父进程的则变成了僵尸进程)
第三行:CPU使用情况。主要关注第一项us,较高时对设备不好。最后一个st为 :被偷走的cpu百分比
第四行:为物理内存。关注,这行我们能看到,总共内存,剩余内存,使用内存
第五行:为交换分区
- 详细数据介绍:%CPU:默认数据都是以百分比显示,并根据CPU的占用大小,由大到小排列
RES:为物理内存大小,单位是k字节
%MEM:按SHIFT+M键能够按照内存大小排列,方便我们找出内存占用最多的项
按SHIFT+P能够切换回CPU占用显示
按1键能够列出所有核心CPU的使用状态
按q键退出 - 选项
top -c 能够查看到具体的进程 全局路径
top -bn1 表示非动态打印系统资源的使用状态,一般在shell脚本的时候会用到 可能会用到的命令:kill pid 分割kill -9 pid 一定可以杀死。 误杀了 就恢复不了了
sar命令
- 简介:
该命令很强大,几乎能够监控几乎所以资源的状态,比如平均负载、网卡流量、内存使用等。与其他系统监控工具不同,它能够打印历史信息,可以显示当天从零点开始到当前时间的系统状态信息。
- 准备
安装命令:yum install -y sysstat 运行
[root@centos001 ~]# sar
无法打开 /var/log/sa/sa28: 没有那个文件或目录
注:这里我们没有加选项,然后报错了。是因为sar其命令的特性所致,sar每隔10分钟会将系统状态信息抓取,并保存至/var/log/sa/sa28这个目录。我们这里没打开是因为刚安装后还没有信息保存
- 选项
1.命令sar -n DEV 查看网卡流量
rxpck/s:这一列表示每秒进入收取的包的数量
txpck/s表示每秒发出去包的数量
rxkB/s:表示每秒接收的包的数据量(单位为KB)
txkB/s:表示每秒发送的数据量
注:重点关注第一个rxpck/s,如果其值大于1w或几十万则有极大可能被攻击了
2.命令 sar -f /var/log/sa/saxx 查看某一天的历史文件
xx代表文件保存的时间,该目录下的文件会保留一个月
目录下还有个以sarxx结尾的文件,不过需要第二天后才能生成。与saxx的区别是能用cat查看
[root@centos001 ~]# sar -n DEV -f /var/log/sa/sa28
Linux 3.10.0-693.5.2.el7.x86_64 (centos001) 2017年11月28日 _x86_64_ (1 CPU)
03时00分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
03时10分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
3.命令 sar -q 查看历史负载
[root@centos001 ~]# sar -q
Linux 3.10.0-693.5.2.el7.x86_64 (centos001) 2017年11月28日 _x86_64_ (1 CP
03时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
03时10分01秒 1 110 0.00 0.01 0.05 0
03时20分01秒 1 109 0.00 0.01 0.05 0
平均时间: 1 110 0.00 0.01 0.05 0
4.命令 sar -b 查看磁盘
主要看它的读写
[root@centos001 ~]# sar -b
Linux 3.10.0-693.5.2.el7.x86_64 (centos001) 2017年11月28日 _x86_64_ (1 CPU)
03时00分01秒 tps rtps wtps bread/s bwrtn/s
03时10分01秒 0.09 0.00 0.09 0.00 1.10
03时20分01秒 0.61 0.19 0.43 2.25 10.81
用nload命令查看网卡流量
- nload 命令比sar命令更加直观的显示
- 准备
yum install -y epel-release
yum install -y nload
- 左右方向键切换网卡,关注进入的流量,若极大则可能被攻击。q退出