监控系统的状态-2
总所周知,生病了需要去医院看病,大夫首先要询问我们哪里不舒服,然后再通过观察和自己的经验,大体上就能判定我们得的是什么病。然而Linux不会说话,他不会主动告诉我们哪里出现了问题,需要我们自己去观察。那么如何评估系统运行状态是否良好呢?我们来介绍一些分析系统状态的工具。
top命令显示进程所占的系统资源
具体用法如下
//依旧使用manjaro为实例,与CentOS&Ubuntu/Mint存在细微差异
top命令用于动态监控进程所占用系统资源,每隔3秒变一次。它的特点是把占用系统资源(CPU、内存、磁盘I/O等)最高的进程放到最前面。上例中,top命令打印出了很多信息,包括系统负载(load average)、进程数(Tasks)、CPU使用情况、内存使用情况以及交换分区使用情况。这些内容其实可以通过其他命令来查看,用top重点查看的还是下面的进程使用系统资源的详细状况,其中你需要关注%CPU、%MEM和%COMMAND这几项所代表的意义。RES这一项为进程所占用的内存大小,而%MEM这一项为使用内存的百分比。再top状态下,按Shift+m键可以按照内存使用大小排序。按数字1可以列出所有内核CPU的使用状态(manjaro 默认列出所有CPU使用状态,CentOS&Ubuntu/Mint默认显示总CPU状态),按q键可以推出top(或者Ctrl+C)
另外,还有经常用到的命令top -bn1,它表示非动态打印系统资源的使用情况,可以用在Shell脚本中。实例如下
和top命令唯一的区别就是,它一次性输出所有信息而非动态显示。
sar命令监控系统状态
sar命令很强大,它可以监控系统几乎所有资源的状态,比如平均负值、网卡流量、磁盘状态、内存使用等。与其他系统状态监控工具不同,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。如果你的系统没有安装这个命令,可以用如下命令安装
sar 安装
CentOS
yum install -y sysstat
Manjaro
sudo pacman -S sysstat
初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(无需实时监控,因为不用去查询那个库文件)。他的数据库文件在/var/log/sa/
目录下。
因为这个命令太复杂,所以只介绍以下两个
查看网卡流量 sar -n DEV
如果输入sar -n DEV
命令报错如何处理?
上图中显示“无法打开 /var/log/sa/sa13: 没有那个文件或目录”,因为今天正好是13号(12月13日),这个错误是由于没有创建那个文件,可是使用参数-o
让其生成。
这样/var/log/sysstat/
目录下就会有文件了。
继续刚才话题sar -n DEV
命令后,会把当天记录的网卡信息打印出来,每隔10分钟记录一次(CentOS下有效)。IFACE 这一列表示设备名称,rxpck/s 这一列表示每秒进入收取的包的数量,txpck/s 这一列表示每秒发出去的包的数量,rxkB/s 这一列表示每秒收取的数量(单位KB),txkB/s这一列表示每秒发送的数据量(后面几列不需要关注)。
如果某天丢包严重,那么你就应该检查以下网卡流量是否异常了。如果rxpck/s 那一列的数值大于4000,或者rxkB/s那一列的数值大于5000000,很有可能是被攻击了。正常的情况下网卡流量不会那么高,除非是你自己再复制数据。上例中的命令是查看网卡流量历史,如果项看实时网卡流量,方法如下
另外也可以使用-f
参数查看某天的网卡流量历史,后面跟文件名。在Red Hat、CentOS、Ubuntu/Mint、Manjaro发行版中,sar的库文件一定在/var/log/sa/
目录下,如下所示
查看历史负载sar -q
这个命令有助于我们查看系统过去某个时间的负载状况。更多的sar命令用法可以man一下。
nload 命令查看网卡流量
nload安装
sar虽然可以查看网卡流量,可是不够直观,还有一个更好的工具,那就是nload。系统默认没有安装它,安装方法如下
Centos
yum install -y epel-release;yum install -y nload
//nload包在epel扩展源中
Ubuntu/Mint
sudo apt install nload
Manjaro
sudo pacman -S nload
nload使用
最上面一行为网卡名字以及IP地址,按TAB
键可以切换其他网卡或者流量。Incoming
为进入网卡的流量,Outgoging
为网卡出去的流量,我们关注的当然是Curr
那行的数据,其单位也可以动态自动调整,非常人性化。更多参数可以man或者--help查看,按q或Ctrl+C退出界面。
上一集 - 传·送·阵
首次创建时间:2018-12-13 23:39:00
最后修改时间:2018-12-14 12:38:59
_(:3 」∠)_