监控系统的状态-2

·
Linux 文件 内核 安装 apt install 命令 目录 help 系统 pacman var 内容 网卡 top 流量 December 13, 2018
!本文可能 超过2年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本文不保证相应的技术更新和实践可操作性。

总所周知,生病了需要去医院看病,大夫首先要询问我们哪里不舒服,然后再通过观察和自己的经验,大体上就能判定我们得的是什么病。然而Linux不会说话,他不会主动告诉我们哪里出现了问题,需要我们自己去观察。那么如何评估系统运行状态是否良好呢?我们来介绍一些分析系统状态的工具。

  • top命令显示进程所占的系统资源
  • sar命令监控系统状态
    • sar 安装
    • 查看网卡流量 sar -n DEV
    • 查看历史负载sar -q
  • nload 命令查看网卡流量
    • nload安装
    • nload使用

top命令显示进程所占的系统资源

具体用法如下
//依旧使用manjaro为实例,与CentOS&Ubuntu/Mint存在细微差异

top终端1

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终端2

和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

如果输入sar -n DEV命令报错如何处理?

报错截图1

上图中显示“无法打开 /var/log/sa/sa13: 没有那个文件或目录”,因为今天正好是13号(12月13日),这个错误是由于没有创建那个文件,可是使用参数-o让其生成。

报错截图2

这样/var/log/sysstat/目录下就会有文件了。

继续刚才话题sar -n DEV命令后,会把当天记录的网卡信息打印出来,每隔10分钟记录一次(CentOS下有效)。IFACE 这一列表示设备名称,rxpck/s 这一列表示每秒进入收取的包的数量,txpck/s 这一列表示每秒发出去的包的数量,rxkB/s 这一列表示每秒收取的数量(单位KB),txkB/s这一列表示每秒发送的数据量(后面几列不需要关注)。
如果某天丢包严重,那么你就应该检查以下网卡流量是否异常了。如果rxpck/s 那一列的数值大于4000,或者rxkB/s那一列的数值大于5000000,很有可能是被攻击了。正常的情况下网卡流量不会那么高,除非是你自己再复制数据。上例中的命令是查看网卡流量历史,如果项看实时网卡流量,方法如下

sar -n DEV 1 5

另外也可以使用-f参数查看某天的网卡流量历史,后面跟文件名。在Red Hat、CentOS、Ubuntu/Mint、Manjaro发行版中,sar的库文件一定在/var/log/sa/目录下,如下所示

sar -f

查看历史负载sar -q

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使用

nload

最上面一行为网卡名字以及IP地址,按TAB键可以切换其他网卡或者流量。Incoming 为进入网卡的流量,Outgoging 为网卡出去的流量,我们关注的当然是Curr那行的数据,其单位也可以动态自动调整,非常人性化。更多参数可以man或者--help查看,按q或Ctrl+C退出界面。

上一集 - 传·送·阵


首次创建时间:2018-12-13 23:39:00
最后修改时间:2018-12-14 12:38:59

  • manjaro 修改快捷键
  • Thunar自定义动作-解压缩

_(:3 」∠)_
(抱歉)
自发布之日起超123天后自动关闭评论哦!


© 2025 Mr.Cui's Blog. Using Typecho & Moricolor.

鲁ICP备16004095号-2
鲁公网安备37028502250699号
HTTP/3 IPv6