Linux系统管理技巧

Linux系统管理技巧

一、监控系统的生态

1 使用 w 命令查看系统的负载

在这里插入图片描述

  • 第1行从左至右显示的信息依次为:
    时间、系统运行时间、登录用户数、平均负载。

  • 从第2行开始的所有行则是告诉我们:当前登录的用户名及其登录地址等。其实在这些信息中,最应该关注第1行中的load average:后面的3个数值。

第1个数值表示1分钟内系统的平均负载值。
第2个数值表示5分钟内系统的平均负载值。
第3个数值表示15分钟内系统的平均负载值。我们着重看第1个值,它表示单位时间段内使用CPU的活动进程数(在这里其实就是1分钟内),值越大就说明服务器压力越大。一般情况下,这个值只要不超过服务器的CPU数量就没有关系。如果服务器的CPU数量为8,那么值小于8就说明当前服务器没有压力;否则就要关注一下了。

查看服务器有几个CPU的方法如下所示:

在这里插入图片描述
上例中,/proc/cpuinfo这个文件记录了CPU的详细信息。目前市面上的服务器有很多是2颗多核CPU,在Linux看来,它就是2*n个CPU(这里的n为单颗物理CPU上有几核)。假如n是4,则查看这个文件时会显示8段类似的信息,而最后一段信息的processor:后面会显示7。
所以查看当前系统有几个CPU,我们可以使用命令

grep-c‘processor'/proc/cpuinfo
在这里插入图片描述
在这里插入图片描述
然而查看有几颗物理CPU时,则需要查看关键字physical id。通过上例可以看出,我的虚拟机有4颗物理CPU。

2.用 vmstat 命令监控系统的状态

在这里插入图片描述
命令w查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。但它无法判断具体是哪里(CPU、内存、磁盘等)有压力,所以这就用到了vmstat。

vmstat命令打印的结果共分为6部分:procs、memory、swap、io、system和cpu。请重点关注一下r、b、si、so、bi、bo这几列信息。

  • procs显示进程的相关信息。
    ■ r(run):表示运行或等待CPU时间片的进程数。大家不要误认为等待CPU时间片意味着这个进程没有运行,实际上某一时刻1个CPU只能有一个进程占用,其他进程只能排着队等着,此时这些排队等待CPU资源的进程依然是运行状态。该数值如果长期大于服务器CPU的个数,则说明CPU资源不够用了。
    ■ b(block):表示等待资源的进程数,这个资源指的是/0、内存等。举个例子,当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写人磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待磁盘了,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下了。

  • memory显示内存的相关信息。
    ■ swpd:表示切换到交换分区中的内存数量,单位为KB。
    ■ free:表示当前空闲的内存数量,单位为KB。
    ■ buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
    ■ cache:表示(从磁盘中读取的)缓存大小,单位为KB。

  • swap显示内存的交换情况。
    ■ si:表示由交换区写入内存的数据量,单位为KB。
    ■so:表示由内存写入交换区的数据量,单位为KB。

  • io显示磁盘的使用情况。
    ■ bi:表示从块设备读取数据的量(读磁盘),单位为KB。
    ■ bo:表示从块设备写入数据的量(写磁盘),单位为KB。

  • system显示采集间隔内发生的中断次数。
    ■in:表示在某一时间间隔内观测到的每秒设备的中断次数。
    ■cs:表示每秒产生的上下文切换次数。

  • cpu显示CPU的使用状态。
    ■ us:显示用户下所花费CPU的时间百分比。
    ■ sy:显示系统花费CPU的时间百分比。
    ■ id:表示CPU处于空闲状态的时间百分比。
    ■ wa:表示I/0等待所占用CPU的时间百分比。
    ■ st:表示被偷走的CPU所占百分比(一般都为0,不用关注)。

以上所介绍的各个参数中,经常会关注r、b和wa这3列。io部分的bi和bo也是要经常参考的对象,如果磁盘io压力很大,这两列的数值会比较高。另外,当si和so两列的数值比较高并且不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。

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

在这里插入图片描述
上例中,top命令打印出了很多信息,包括系统负载(1oad average)、进程数(Tasks)、CPU使用情况、内存使用情况以及交换分区使用情况。这些内容其实可以通过其他命令来查看,用top重点查看的还是下面的进程使用系统资源的详细状况,其中你需要关注%CPU、%MEM和COMMAND这几项所代表的意义。RES这一项为进程所占的内存大小,而%MEM这一项为使用内存的百分比。

在top状态下,按Shift+m键可以按照内存使用大小排序。按数字1可以列出所有核CPU的使用状态,按q键可以退出top
在这里插入图片描述
和top命令唯一的区别就是,它一次性输出所有信息而非动态显示。

4 用 sar 命令监控系统动态

1. 查看网卡流量 sar -n DEV (yum install -y sysstat)
这串代码表示每秒钟打印五次
在这里插入图片描述
以下是对我们需要关注的列的解析:

  • IFACE表示设备名称
  • rxpck表示每秒收取进入的包的数量
  • txpck表示每秒发送出去的包的数量
  • rxkb表示每秒收取的数据量(单位为KB)
  • txkb表示每秒发送的数据量(单位为KB)
  • 后面几列不需要关注

另外也可以使用- f 选项查找某一天的网卡流量历史,后面跟文件名在 Red Hat 或者 CentoS 发行版中, sar 的库文件一定在var/log/sa/目录下,如下所示:
在这里插入图片描述

2. 查看历史负载 sar -q

在这里插入图片描述
这个命令有助于我们查看服务器在过去某个时间的负载状况。其实我介绍sar命令,只是为了让我们学会查看网卡流量(这是非常有用的)。如果对sar命令可以man一下,他的用法有很多。

5 用nload命令查看网卡流量

使用命令下载:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值