[精华] 可以解释一下我用vmstat显示的结果吗??(from cu)

 原贴:http://www.chinaunix.net/jh/6/16738.html

[精华] 可以解释一下我用vmstat显示的结果吗??


http://www.chinaunix.net 作者:北极星  发表于:2007-04-19 19:56:16
发表评论】【查看原文】【Solaris讨论区】【关闭】

可以解释一下我用vmstat显示的结果吗,swap下面14888的单位是什么呀,K还是M,要K的话那也太小了,但是M的话,好象我swap没有设这么大呀,还有其他的项,请高手解释一下,可以吗
procs      memory          page               disk         faults      cpu
r b w     swap free  re  mf mi po fr de sr   f0 s0 s1 s2   in sy   cs us sy id
0 0 0    14888 19120 0   4  2  11 10 0  0    0  0  0   8  198 2158 98 11 19 69



 spiderland 回复于:2002-03-08 18:10:34

SWAP的单位应该是K,不是M。还有两个比较重要的参数是PI、PO,表示内存的调入、调出页面,单位也是K,但是多大值作为一个衡量标准,我也不清楚,不知道是否有经验值。

还有,最好使用vmstat t [n]命令,例如 vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况,试一下,看看结果就知道了。


 framerelay 回复于:2002-03-08 23:57:10

procs:
r-->;在运行队列中等待的进程数
b-->;在等待io的进程数
w-->;可以进入运行队列但被替换的进程

memoy
swap-->;现时可用的交换内存(k表示)
free-->;空闲的内存(k表示)

pages
re--》回收的页面
mf--》非严重错误的页面
pi--》进入页面数(k表示)
po--》出页面数(k表示)
fr--》空余的页面数(k表示)
de--》提前读入的页面中的未命中数
sr--》通过时钟算法扫描的页面

disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号

fault 显示每秒的中断数
in--》设备中断
sy--》系统中断
cy--》cpu交换

cpu 表示cpu的使用状态
cs--》用户进程使用的时间
sy--》系统进程使用的时间
id--》cpu空闲的时间


 framerelay 回复于:2002-03-09 00:01:31

解释:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果pi,po 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。


 北极星 回复于:2002-03-09 16:08:55

我的机器
vmstat 5 5 后的结果,我倒。。。。。。。。。。。。

procs     memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 s2   in   sy   cs us sy id
 17 0 0  8528 19456   0   4  3 13 12  0  0  0  0  0  8  204 2291  102 13 22 65
 487 0 0 2357984 22480 1 17  9 62 34  0  0  0  0  0 40  602 107610 411 35 65 0
 490 0 0 2357992 22088 1 16 14 84 56  0  0  0  0  0 59  810 104391 505 34 66 0
 488 1 0 2357992 21632 0  8  9 64 48  0  0  0  3  0 90  886 106271 348 36 64 0
 488 0 0 2357984 21352 0  7  2 40 17  0  0  0  0  0 23  439 110977 304 36 64 0
 我上面装了netscape proxy server 和socks5看来是不行了,如何办呢,请大虾帮忙!!


 bear 回复于:2002-03-09 17:16:45

cpu不够用了,在用mpstat 3监控CPU状况看看。


 北极星 回复于:2002-03-09 17:32:25

CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl
  3    4   0    0   304  104  102   23    0    1    0  2806   13  22   1  63
  3   18   0    0   239   39   89   41    0    4    0 114511   42  58   0   0
  3    0   0    0   235   35   80   36    0    4    0 113945   39  61   0   0
  3    0   0    0   211   11   67   31    0    3    0 114326   39  61   0   0
  3    0   0    0   212   12   67   32    0    4    0 115592   36  64   0   0



 framerelay 回复于:2002-03-09 19:31:04

想都不用想,一定要加cpu,而且一个都不行啊!!!
内存也不够了!

你原来的系统是什么配置的?


 yhuang95411 回复于:2004-04-09 02:06:36

做system admin, 经常要看这些数据的变化. 用cron job 进行监测.看是用户的问题而产生的,还是程序方面的


 yhuang95411 回复于:2004-04-09 02:12:32

楼上的VMSTAT 中
ID=0
R=400多
那机器都停了:-))) 难怪楼主说"我倒...."


 gamin 回复于:2007-04-19 19:56:16

02年的帖子都还在,呵呵,顶一下。搜索到的,准备再看topas和iostat,不知道他们都有什么区别




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=16738
转载请注明作者名及原文出处

### 使用 `vmstat` 监控 Linux 系统内存使用情况 `vmstat` 是 Linux 系统中一个功能强大的命令行工具,用于监控系统的虚拟内存、进程、中断、CPU 活动等关键性能指标。它可以提供关于内存使用情况的详细信息,包括物理内存、交换分区(swap)的使用状态,以及页面调度活动等,非常适合用于系统性能监控和故障排查[^1]。 #### 1. 基本用法 `vmstat` 的基本语法如下: ```bash vmstat [选项] [刷新间隔(秒)] [刷新次数] ``` 如果仅运行 `vmstat` 而不加任何参数,则会输出系统从启动以来的平均状态。 ```bash vmstat ``` 输出内容包括以下几个关键字段: - **procs**:r(运行队列中的进程数)、b(等待 I/O 的进程数) - **memory**:swpd(使用的虚拟内存)、free(空闲内存)、buff(用于缓冲的内存)、cache(用于缓存的内存) - **swap**:si(从磁盘读取到内存的速率)、so(从内存写入磁盘的速率) - **io**:bi(块设备读入的数据量)、bo(块设备写出的数据量) - **system**:in(每秒中断次数)、cs(每秒上下文切换次数) - **cpu**:us(用户态占用)、sy(系统态占用)、id(空闲)、wa(等待 I/O) 这些信息中,**memory** 和 **swap** 部分直接反映了内存使用情况[^2]。 #### 2. 实时监控内存使用 为了实时查看内存使用变化,可以指定刷新间隔和刷新次数。例如,每隔 2 秒刷新一次,共刷新 5 次: ```bash vmstat 2 5 ``` 这样可以观察到内存、交换分区和 I/O 的动态变化,有助于判断系统在负载变化下的内存使用趋势[^3]。 #### 3. 仅显示内存相关信息 如果只想专注于内存部分的信息,可以结合 `awk` 或其他文本处理工具提取相关列。例如: ```bash vmstat 2 5 | awk '{print $4, $5, $6, $7}' ``` 上述命令将只显示 `free`、`buff`、`cache` 和 `swpd` 四列数据,便于快速分析内存使用变化[^4]。 #### 4. 分析内存瓶颈 通过 `vmstat` 输出的 `si` 和 `so` 字段可以判断系统是否频繁进行交换操作。如果这两个值持续较高,说明系统可能正在经历内存不足的问题,导致频繁使用交换空间,这会显著降低系统性能。此时应考虑增加物理内存或优化内存使用[^1]。 此外,`free` 列显示当前可用内存,如果该值长期偏低,也表明系统可能存在内存瓶颈。Linux 系统倾向于尽可能多地使用内存进行缓存和缓冲,因此即使 `free` 值较低,只要 `cache` 和 `buff` 较高,系统仍可能运行良好。真正需要关注的是当缓存和缓冲也被释放后,可用内存仍然不足的情况。 #### 5. 结合其他工具使用 虽然 `vmstat` 提供了系统层面的内存统计信息,但若需深入分析具体进程的内存使用情况,建议配合 `top`、`htop` 或 `ps` 等工具使用。例如: ```bash top ``` 或 ```bash htop ``` 这些工具可以按内存使用排序,帮助定位内存消耗最高的进程[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值