`

AIX的vmstat命令详解

 
阅读更多

vmstat概述 

vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

 

Interval 参数指定每个报告之间的时间量(以秒计)。第一个报告包含系统启动后时间的统计信息。后续报告包含自从前一个报告起的时间间隔过程中所收集的统计信息。如果没有指定 Interval 参数,vmstat 命令生成单个报告然后退出。Count 参数只能和 Interval 参数一起指定。如果指定了 Count 参数,其值决定生成的报告数目和相互间隔的秒数。如果 Interval 参数被指定而没有 Count 参数,则连续生成报告。Count 参数不允许为 0。

内核为内核线程、调页和中断活动维护统计信息,vmstat 命令通过使用perfstat 内核扩展来对其进行访问。磁盘输入/输出统计信息由设备驱动程序维护。对于磁盘,利用活动时间和传送信息数量来确定平均传送速率。活动时间的百分数根据报告期间驱动器忙的时间量来计算。

 

vmstat命令输出详解 

输出样例

#vmstat 1 2


System    configuration:      lcpu=8      mem=15360MB


kthr           memory                   page              faults                     cpu
-----    ----------------------------      ----------------------  ------------       ----------------------------------------
 r  b      avm           fre           re  pi  po  fr       sr  cy  in         sy     cs     us   sy   id  wa
 1 0    1614482   971363     0   0   0   0       0   0  56      4997  2739  1   1   97  0
 0 0    1614484   971361     0   0   0   0       0   0  23      4435  2677  1   1   97  0

Kthr

kernel thread state(内核线程状态,表示每秒钟在采样间隔时间上对各种队列的内核线程数求得的平均值)
r: 取样期间可运行的内核线程的平均数,包括正在运行的线程和指准备运行但尚在等待运行的进程。

1.)如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU。 
2.)如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢。 
3.)如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us)系统则面临着CPU资源的短缺。

解决方法

当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU.  一般情况下,应用程序的问题会比较大一些.比如一些sql语句不合理等等都会造成这样的现象. 
b:表示每秒VMM等待队列中的内核线程平均数(等待资源或I/O),这里参考值为2,大于2表示被阻塞列线程数目太多。 

Memory

Memory包括了虚拟内存和实际内存的信息
avm: 活动的虚拟页面(Active virtual pages,以4k为单位),该值较高并不意味着性能不好。记住,虚拟内存的概念是提供给我们寻址大于实内存容量的能力(一些在RAM 内存中,而另一些在调页空间中)。但是如果虚拟内存远大于实内存,可能造成过度的页面调度,从而导致延时。如果 avm小于 RAM,那么当 RAM 中填满文件页时就会引起调页空间的页面调度。这种情况下,调整 minperm、maxperm 和 maxclient 的值可以减少调页空间的页面调度量。
fre: 自由表(free list)的大小。真实内存的大部分被用作文件系统数据的缓存。因此,自由表(free list)的大小保持比较小并不稀奇。

Page

页面错误和分页活动的信息。此值为指定时间周期内每秒给定单位的平均值。
re  页面调度程序(Pager)输入输出列表(input/output)列表。
pi  表示每秒钟从Paging Space置换到内存的页数,调页空间是驻留在磁盘上的虚拟内存的一部分。当内存过量使用时,它用作溢出。调页空间由用于存储从实内存中窃取到的工作组页面的逻辑卷组成。当进程访问一个窃取页时,产生了一个缺页故障,这一页必须从调页空间读入内存。这里pi的参考值为5,大于5说明内存不足。
po  表示每秒钟从内存置换到Paging Space的页数,无论什么时候窃取工作存储器的一页,如果它仍未驻留在调页空间中或已被修改,那它会被写入调页空间。如果不被再次访问,它会留在页面调度设备中直到进程终止或放弃空间。如果包含在出故障页面中的后续地址引用导致缺页故障,那么这些页面将会由系统个别调进。当一个进程正常终止,任何分配给该进程的调页空间将被释放。如果这两列持续大于5,则系统的性能瓶颈很可能是内存不足,而导致交换频繁。
fr  表示每秒钟页面置换算法释放的页数。当 VMM 页面替换例程扫描页面帧表(Page Frame Table,PFT)时,它使用一些条件选取要窃取的页面以插入到可用内存帧的空闲列表中。
sr  表示每秒钟页面置换算法检查的页数,页面替换算法在可以窃取足够的页面以满足页面替换线程的需要之前可能不得不扫描许多页面帧。
cy  页面置换算法所使用的时钟周期。即表示每秒页面替换代码扫描了 PFT 多少次。因为插入空闲列表可以不需要完全扫描 PFT,并且因为所有的 vmstat 字段报告为整数,这一字段通常为 0。 
Faults 故障列:样例时间周期中,每秒陷阱(Trap )和中断率的平均值。
in  设备中断次数 ,iostat命令输出更有参考意义。
sy  系统调用次数 ,通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。
cs  内核线程上下文交换 Kernel thread context switches。即时间片用完后,再轮到时的上下文计算,如果太高,则要仔细观察
CPU

 

CPU 使用时间百分比细目分类
us  用户进程CPU占用,一个 UNIX 进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。
sy  系统进程CPU占用 ,这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的 CPU 资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
id  系统空闲 CPU idle time
wa  表示IO等待时间,即系统等待未完成的 disk/NFS I/O 请求期间的CPU 空闲时间,
如果us与sy之和持续超过90%时,CPU出现了瓶颈。
如果wa长期很高>50,则表示IO太忙,具体看是应用IO多,还是交换分页多,如果是后者,则显示内存不足;如果是前者,则应关注应用的IO性能状况,优化应用与磁盘设备
pc  消耗物理处理器的数目。只在使用共享处理器运行的分区显示(只在微分区环境中显示)
ec  消耗授权容量的百分比。只在使用共享处理器运行的分区显示(只在微分区环境中显示)

Active Memory Sharing 增加的新字段

mmode
如果分区以共享内存模式运行,就显示 shared。到编写本文时,对于专用内存分区,不显示这个字段。
mpsz
显示共享内存池的大小。
hpi
显示分区的系统管理程序页面换入数量。如果系统管理程序已经把引用的页面换出到磁盘,所以它们在真实内存中不存在,就会发生系统管理程序页面换入。如果在执行 vmstat 命令时没有指定时间间隔,那么显示的值是从引导时开始计算的。
hpit
显示分区的系统管理程序分页花费的时间(以毫秒为单位)。如果在执行 vmstat 命令时没有指定时间间隔,那么显示的值是从引导时开始计算的。
pmem
显示支持逻辑内存的物理内存量(以 GB 为单位)。
loan
显示借给系统管理程序的逻辑内存量(以 GB 为单位)。可以通过 vmo 可调项 ams_loan_policy 调整借出的内存量。

 

vmstat参数列表 

-f 报告从系统启动后的派生数目。 -h 显示系统管理程序分页信息 -i 显示从系统启动后每个设备造成的中断数目。-I 用新的输出栏显示 I/O 定向视图,p 在标题 kthr 下;栏 fi  fo 在标题页面下,而不是栏下;re  cy 在页标题中。 -s 将总数结构中的内容写入到标准输出,该结构包含从系统初始化后调页事件的绝对计数。如下描述了这些事件: 地址翻译错误 每次发生地址转换页面故障时增加。解决页面故障可能需要 I/O,也可能不需要。存储保护页面故障(失去锁定)不包含在此计数之内。 入页 随虚拟内存管理器读入的每页增加。计数随调页空间和文件空间的入页增加。它和出页统计信息一起表示实际 I/O(由虚拟内存管理器启动)的总量。 出页 随虚拟内存管理器写出的每页增加。计数随调页空间和文件空间的出页而增加。它和入页统计信息一起表示实际 I/O(由虚拟内存管理器启动)的总量。 调页空间入页 只随 VMM 启动的来自调页空间的入页而增加。 调页空间出页 只随 VMM 启动的来自调页空间的出页而增加。 总回收 当不启用一个新的 I/O 请求也可以满足地址翻译错误时增加。如果页面以前已经被 VMM 请求过的,但是 I/O 还没有完成;或者页面被预读算法提前提取,但是被故障段隐藏了;或者如果页面已经被放入空闲列表中,但还没有重新使用,则会发生此情况。 零填充页面故障 如果页面故障针对的是工作存储器,且可以通过指定一个帧并以零填充帧来满足它的话,则该值增加。 可执行填充页面故障 随着每个指令页面故障而增加。 用时钟检查页面 VMM 利用时钟算法实施伪最近最少使用(1ru)的页面替换模式。时钟检查过的页面是 aged 。为每个时钟检查过的页面增加此计数值。 时钟指针的转动 随着每次 VMM 时钟旋转而增加(即在每一次完整的内存扫描后)。 用时钟释放的页面 随着时钟算法从实内存中选择释放的每一个页面而增加。   回溯 随着解决前一个页面故障时出现的每一个页面故障而增加。(必须首先解决新的页面故障,然后可以回溯 到最初的页面故障。) 锁定丢失 VMM 通过除去对页面的寻址能力来强制并发性锁定。锁定丢失可能产生一个页面故障,每当此类情况发生时,此计数增加。 空闲帧等待 在收集可用帧时,每次 VMM 等待一个进程时增加。 扩展 XPT 等待 每次正在进行提交而使得 VMM 等待一个进程时,随着正在被访问的段而增加。 暂挂 I/O 等待 每次 VMM 等待一个进程时随着要完成的入页 I/O 而增加。 启动 I/O 随着每个被 VMM 启动的读取或写入 I/O 请求而增加。此计数应该与入页和出页的总数相等。 iodones 在每次完成 VMM I/O 请求时增加。 CPU 上下文交换 随着每次 CPU 上下文交换而增加(新进程的分派)。 设备中断 每次硬件中断时增加。 软件中断 每次软件中断时增加。一次软件中断是一个类似于硬件中断(保存一些状态和服务器例程分支)的机器指令。系统调用用软件中断指令来完成,该指令转换控制到系统调用处理程序例程。 陷阱 不通过操作系统来维护。 syscalls 随着每次系统调用而增加。 -t 打印 vmstat 的每一输出行旁边的时间戳记。时间戳记按照 HH:MM:SS 格式显示。 注: 如果指定了 -f -s  -i 标志,将不打印时间戳记。 -v 将虚拟内存管理器维护的不同统计信息写入标准输出。 内存页实内存的大小(以 4 KB 的页面数目计)。 lruable 页 要用于替换的 4 KB 页面的数目。此数目不包含被用于 VMM 内部页和用于内核文本的固定部分的页面。 空闲页面 空闲 4 KB 页面的数目。 内存池 指定内存池数目的调整参数(使用 vmo 管理)。 固定页面 固定的 4 KB 页面的数目。 maxpin 百分比 指定能被固定的实内存百分数的调整参数(使用 vmo 管理)。 minperm 百分比 实内存百分比的调整参数(使用 vmo 管理)。它指定一临界点,低于此临界点时阻止页面重新调度算法使用文件页面。 maxperm 百分比 实内存百分比的调整参数(使用vmo 管理)。它指定一临界点,高于此临界点时页面取走算法只取走文件页面。 numperm 百分比 当前由文件高速缓存使用的内存百分数。 文件页面 当前由文件高速缓存使用的 4 KB 页面的数目。 压缩百分比 由压缩页面使用的内存百分数。 压缩页面 压缩内存页面的数目。 numclient 百分数 被客户机页面占用的内存百分数。maxclient 百分数 指定能用于客户机页面的最大内存百分数的调整参数(使用 vmo 管理)。 客户机页面 客户机页面的数目。 已调度的远程出页 调度用于客户机文件系统的出页的数目。 无 pbuf 而阻塞的暂挂磁盘 I/O 没有可用 pbuf 而阻塞的暂挂磁盘 I/O 请求的数目。Pbuf 是用于保存逻辑卷管理器层上的 I/O 请求的固定的内存缓冲区。 无 psbuf 而阻塞的调页空间 I/O 没有可用 psbuf 而阻塞的调页空间 I/O 请求的数目。Psbuf 是用于保存虚拟内存管理器层上的 I/O 请求的固定内存缓冲区。 -v (由 -v 显示的统计信息,接上页)  无 fsbuf 而阻塞的文件系统 I/O 没有可用 fsbuf 而阻塞的文件系统 I/O 请求的数目。Fsbuf 是用于保存文件系统层上的 I/O 请求的固定内存缓冲区。 无 fsbuf 而阻塞的客户机文件系统 I/O 没有可用 fsbuf 而阻塞的客户机文件系统 I/O 请求的数目。NFS(网络文件系统)和 VxFS(Veritas)是客户机文件系统。Fsbuf 是用于保存文件系统层上的 I/O 请求的固定内存缓冲区。 无 fsbuf 而阻塞的外部页面调度程序文件系统 I/O 没有可用 fsbuf 而被阻塞的外部页面调度程序客户机文件系统 I/O 请求的数目。JFS2 是一个外部页面调度程序客户机文件系统。Fsbuf 是用于保存文件系统层上的 I/O 请求的固定内存缓冲区。

使用示例 

1、要显示 2 秒时间间隔的 5 个摘要,请输入:
 vmstat 2 5 
2、要显示引导后包括逻辑磁盘 scdisk13 和 scdisk14 的统计信息摘要:
vmstat scdisk13 scdisk14 
3、要显示派生统计信息:
 vmstat  -f 
4、要显示各事件的计数:

vmstat -s 
5、要显示 vmstat的每一输出栏旁边的时间戳记:
vmstat -t

6、 要以另一套输出栏显示新的 I/O 定向视图:
vmstat -I 
7、要显示所有可用的 VMM 统计信息,请输入:
vmstat -vs 

分享到:
评论

相关推荐

    AIX的vmstat命令详解.docx

    AIX的vmstat命令详解 vmstat命令是AIX操作系统中一个非常重要的命令,用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。通过vmstat命令生成的报告,可以用于平衡系统负载活动。 1.(vmstat命令概述...

    vmstat 命令详解

    ### vmstat命令详解 #### 一、概述 `vmstat` 是一个用于监控系统虚拟内存统计信息的强大工具,它可以提供有关系统活动的信息,包括进程、内存、交换、块IO、系统调用等统计信息。通过观察这些数据,可以帮助我们更...

    AIX上的vmstat的报告输出解释和命令基本用法

    AIX上的vmstat命令报告输出解释和命令基本用法 vmstat命令是AIX操作系统中的一种性能监控工具,主要用来报告内核线程、虚拟内存、磁盘、Traps、CPU活动的统计数据。下面是vmstat命令的报告输出解释和命令基本用法。...

    aix命令详解.rar

    【IBM AIX操作系统命令详解】 IBM AIX,全称Advanced Interactive eXecutive,是IBM公司开发的一款基于UNIX系统的操作系统,广泛应用于企业级服务器和大型机。AIX提供了丰富的命令行工具,使得用户和管理员能够高效...

    sar 与vmstat命令.txt

    #### 二、vmstat命令详解 `vmstat`(Virtual Memory Statistics)用于显示关于虚拟内存状态的信息,包括进程、内存、交换、CPU活动等。 - **基本语法**: - `vmstat [选项]` - **常用选项**: - 无选项时,默认...

    AIX操作系统命令大全

    AIX(Advanced Interactive eXecutive)是IBM开发的一款基于UNIX的高级操作系统,主要用于IBM的Power Systems...通过阅读《AIX操作系统命令详解.pdf》文档,您可以获得更详尽的解释和实例,进一步提升您的AIX技能。

    AIX系统命令使用教程

    #### 四、AIX命令详解 根据题目描述,本文档将进一步介绍AIX中的磁盘操作命令、文件操作命令和监控命令等内容。以下是一些典型命令的概览: - **磁盘操作命令**: - `mkfs`:创建文件系统。 - `mount`:挂载文件...

    aix v6.1命令参考大全,卷 5:s - u

    标签“AIX命令详解”进一步强调了这本大全是专注于对AIX操作系统中命令的深入解释和说明,这对于系统管理员和对AIX有兴趣的用户来说非常有价值。 由于提供的【部分内容】仅包含了AIX®V6.1版权声明和一些零散的字符...

    AIX命令索引(PDF英文)_2

    **具体命令详解** 由于篇幅限制,这里只提供部分常见命令的简要说明: - `ls`: 列出目录内容,可以使用参数如`-l`显示详细信息,`-a`显示隐藏文件。 - `man`: 查看命令的手册页,是获取命令详细信息的重要工具。 -...

    《AIX5.3命令参考大全,卷 6:v 到 z》

    ### AIX5.3命令参考大全,卷 6:v 到 z #### 知识点概述 本文档是AIX5.3命令大全的第六卷,覆盖了从字母“v”到“z”的所有命令及其用法。AIX(Advanced Interactive Executive)是由IBM开发的一种基于UNIX的操作...

    IBM AIX日常维护命令

    【IBM AIX日常维护命令详解】 IBM AIX(Advanced Interactive eXecutive)是一种由IBM开发的UNIX操作系统,广泛应用于企业级服务器环境。了解并掌握AIX系统的日常维护命令是系统管理员的重要技能。以下是对标题和...

    AIX日常维护命令

    ### AIX日常维护命令知识点详解 #### 一、检查AIX系统状态 AIX系统状态检查是日常维护的重要环节之一,主要包括以下方面: 1. **文件系统**: `df –k` 命令用于查看文件系统的空间使用情况,其中 `-k` 表示以 KB ...

    AIX命令参考手册[重点文档]

    ### AIX命令参考手册知识点详解 #### 一、性能优化及瓶颈识别 **性能优化**是系统管理员的重要职责之一,特别是在AIX系统中。优化的关键在于实现CPU、内存、硬盘和网络之间的良好平衡,以满足用户对系统性能的需求...

    aix 优化及维护案例

    1.2 AIX 5L 内存性能优化之使用 ps、sar、svmon 和 vmstat 监视内存的使用 7 1.3 AIX 5L 内存性能优化之配置和管理交换空间,优化(VMM) 12 1.4 AIX 5.3主机性能评估-Memory性能评估 19 1.5 AIX 5L 磁盘性能优化 23 ...

    AIX 5L V5.3 命令参考大全.rar

    5. **系统管理命令**:AIX中还有专门用于系统管理的命令,如`vmstat`展示虚拟内存状态,`iostat`监控I/O性能,`netstat`查看网络连接,`ps`显示进程状态,以及`swapon`和`swapoff`管理交换空间。这些工具对于优化...

    AIX系统CPU性能评估

    #### 二、`vmstat`命令详解 `vmstat`命令是一种轻量级工具,用于实时监控系统的虚拟内存统计信息以及CPU负载情况。通过定期执行`vmstat`命令,可以获得关于系统资源使用的即时快照,这对于快速诊断系统问题非常有用...

    aix V6.1 命令参考大全 卷6 v-z

    ### AIX V6.1命令参考大全:卷6(V-Z) #### 概述 本文档旨在提供AIX V6.1系统中的命令大全之卷6(V-Z),涵盖了一系列重要的系统管理和应用命令。该文档收集自不同来源,并经过整理以确保其准确性与完整性。这些...

    AIX系统操作员手册

    #### AIX系统备份与恢复详解 深入探讨AIX的备份策略和恢复流程,确保数据安全。 #### 卷组修复 使用`recreatevg`命令可以修复损坏的卷组,恢复数据的可用性。 #### LVM与硬盘更换 讨论逻辑卷管理器(LVM)下的...

    AIX.zip_aix

    **AIX操作系统详解** AIX,全称Advanced Interactive eXecutive,是由IBM开发的一款基于UNIX的操作系统,专为IBM的Power架构服务器设计。AIX是开放标准的UNIX系统,支持POSIX和Single UNIX Specification,它在企业...

Global site tag (gtag.js) - Google Analytics