vmstat :侦测系统资源变化

vmstat是一款用于实时监控Linux系统资源动态变化的工具,包括CPU、内存、磁盘I/O等关键指标。通过使用不同的选项参数,可以深入分析系统资源使用情况,帮助管理员优化系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • vmstat :侦测系统资源变化

如果你想要动态的了解一下系统资源的运行,那么这个 vmstat 确实可以玩一玩!vmstat 可以侦测『 CPU /内存 / 磁碟输入输出状态 』等等,如果你想要了解一部繁忙的系统到底是哪个环节最累人,可以使用 vmstat 分析看看。底下是常见的选项与参数说明:

[root@www ~]# vmstat [-a] [延迟 [总计侦测次数]] <==CPU/内存等资讯
[root@www ~]# vmstat [-fs]                      <==内存相关
[root@www ~]# vmstat [-S 单位]                  <==配置显示数据的单位
[root@www ~]# vmstat [-d]                       <==与磁碟有关
[root@www ~]# vmstat [-p 分割槽]                <==与磁碟有关
选项与参数:
-a  :使用 inactive/active(活跃与否) 取代 buffer/cache 的内存输出资讯;
-f  :启动到目前为止,系统复制 (fork) 的程序数;
-s  :将一些事件 (启动至目前为止) 导致的内存变化情况列表说明;
-S  :后面可以接单位,让显示的数据有单位。例如 K/M 取代 bytes 的容量;
-d  :列出磁碟的读写总量统计表
-p  :后面列出分割槽,可显示该分割槽的读写总量统计表

范例一:统计目前主机 CPU 状态,每秒一次,共计三次!
[root@www ~]# vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0     28  61540 137000 291960    0    0     4     5   38   55  0  0 100  0  0
 0  0     28  61540 137000 291960    0    0     0     0 1004   50  0  0 100  0  0
 0  0     28  61540 137000 291964    0    0     0     0 1022   65  0  0 100  0  0

利用 vmstat 甚至可以进行追踪喔!你可以使用类似『 vmstat 5 』代表每五秒钟升级一次,且无穷的升级!直到你按下 [ctrl]-c 为止。如果你想要即时的知道系统资源的运行状态,这个命令就不能不知道!那么上面的表格各项栏位的意义为何?基本说明如下:

  • 内存栏位 (procs) 的项目分别为:
    r :等待运行中的程序数量;b:不可被唤醒的程序数量。这两个项目越多,代表系统越忙碌 (因为系统太忙,所以很多程序就无法被运行或一直在等待而无法被唤醒之故)。

  • 内存栏位 (memory) 项目分别为:
    swpd:虚拟内存被使用的容量; free:未被使用的内存容量; buff:用於缓冲内存; cache:用於高速缓存。这部份则与 free 是相同的。

  • 内存置换空间 (swap) 的项目分别为:
    si:由磁碟中将程序取出的量; so:由於内存不足而将没用到的程序写入到磁碟的 swap 的容量。如果 si/so 的数值太大,表示内存内的数据常常得在磁碟与主内存之间传来传去,系统效能会很差!

  • 磁碟读写 (io) 的项目分别为:
    bi:由磁碟写入的区块数量; bo:写入到磁碟去的区块数量。如果这部份的值越高,代表系统的 I/O 非常忙碌!

  • 系统 (system) 的项目分别为:
    in:每秒被中断的程序次数; cs:每秒钟进行的事件切换次数;这两个数值越大,代表系统与周边设备的沟通非常频繁!这些周边设备当然包括磁碟、网络卡、时间钟等。

  • CPU 的项目分别为:
    us:非核心层的 CPU 使用状态; sy:核心层所使用的 CPU 状态; id:闲置的状态; wa:等待 I/O 所耗费的 CPU 状态;st:被虚拟机器 (virtual machine) 所盗用的 CPU 使用状态 (2.6.11 以后才支持)。

由於鸟哥的机器是测试机,所以并没有什么 I/O 或者是 CPU 忙碌的情况。如果改天你的服务器非常忙碌时,记得使用 vmstat 去看看,到底是哪个部分的资源被使用的最为频繁!一般来说,如果 I/O 部分很忙碌的话,你的系统会变的非常慢!让我们再来看看,那么磁碟的部分该如何观察:

范例二:系统上面所有的磁碟的读写状态
[root@www ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
....(中间省略)....
hda   144188 182874 6667154 7916979 151341 510244 8027088 15244705      0    848
hdb        0      0       0       0      0      0       0       0      0      0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值