vmstat
vmstat 是最早用于显示所有与内存和进程相关信息的命令,调用时,该命令会持续运行并发布其信息。它有两个参数:
# vmstat <interval> <count>
<interval> 是两次运行之间的时间间隔,以秒为单位。
<count> 是 vmstat 重复的次数。
下面是当我们希望 vmstat:
每隔 5 秒运行一次并在第 10 次运行后停止时的示例。
每 5 秒之后都会输出一行并显示此时的统计信息。
# vmstat 5 10
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 170988 22256 6796 322680 1 2 335 48 92 22 4 8 84 5 0
该输出显示有关系统资源的信息:
procs 显示进程数
r 等待运行的进程。系统上的负载越多,等待运行 CPU 周期的进程数量越多。
b 不可中断睡眠的进程,也称为“被阻塞”的进程。这些进程最有可能等待 I/O,但也可能等待其他事情。
wpd,free,buff,cache显示了内存值班
wpd 虚拟内存或交换内存的数量(以 KB 为单位)
free 可用物理内存的数量(以 KB 为单位)
buff 用作缓冲区的内存数量(以 KB 为单位)
cache 用作缓存的物理内存数量(以 KB 为单位)
si so 显示了交换活动:
si 将内存从磁盘交换回物理 RAM 的速率(以 KB/秒为单位)
so 将内存从物理 RAM 交换到磁盘的速率(以 KB/秒为单位)
bi,bo显示了 I/O 活动:
bi 系统向块设备发送数据的速率(以块/秒为单位)
bo 系统从块设备中读取数据的速率(以块/秒为单位)
in,cs 显示了系统相关活动:
in 系统每秒接收到的中断数
cs 在进程空间中切换上下文的速率(以数量/秒为单位)
us,sy,id,wa 显示了 CPU 负载的信息:
us 显示花费在用户进程中的 CPU 百分比。Oracle 进程属于这一类。
sy 系统进程(如所有根进程)使用的 CPU 百分比
id 可用 CPU 百分比
wa 花费在“等待 I/O”上的百分比
输出的第一行是自从系统重新启动以来所有指标的平均值。该行可忽略,因为它并不显示当前状态
理想情况下,等待或阻塞的进程数量(位于“procs”下)应该为 0 或接近于 0。
如果数值较高,则表示系统没有足够的资源(如 CPU、内存或 I/O)。
“swap”下的数据表明交换是否过多。如果交换过多,则表明物理内存可能不足。应该减少内存需求或增加物理 RAM。
“io”下的数据表示往返于磁盘的数据流。这表明正在进行的磁盘活动量,这并不一定表明存在问题。
如果您看到“proc”和“b”列(正在阻塞的进程)下有较大的数值和较高的 I/O,则可能出现了严重的 I/O 争用问题。
“cpu”标题下是最有用的信息。“id”列显示空闲 CPU。如果用 100 减去该数值,则会得到繁忙 CPU 的百分比。
还记得本系列的另一个部分中描述的 top 命令吗?该命令还显示 CPU 的空闲百分比数值。区别是:top 显示每个 CPU 的空闲百分比,而 vmstat 显示所有 CPU 的空闲百分比。
vmstat 命令还显示 CPU 使用情况的划分:Linux 系统使用多少、用户进程使用多少以及等待 I/O 使用多少。
通过该划分,您可以确定 CPU 消耗的组成。如果系统 CPU 负载较高,能表明正在运行某个根进程(如备份)吗?
一段时间内的系统负载应该一致。如果系统显示较高的数值,请使用 top 命令确定占有 CPU 的系统进程
针对 Oracle 用户的用法
Oracle 进程(后台进程和服务器进程)和用户进程(sqlplus、apache 等)位于“us”下。
如果该数值较高,则使用 top 来确定进程。如果“wa”列显示较高的数值,则表明 I/O 系统无法跟上读取或写入的数量。
有时这可能是因为在数据库中进行大量更新,从而导致日志切换以及后续的大量存档进程。
但是,如果它持续显示一个较大的数值,则表明可能存在 I/O 瓶颈。
Oracle 数据库中的 I/O 瓶颈可能会造成严重的问题。与性能问题不同,慢速 I/O 可能导致控制文件写入速度缓慢,
这会导致等待获取控制文件的进程加入队列。如果等待超过 900 秒且等待者是关键进程(如 LGWR),则会关闭数据库实例。
如果您看到很多交换,可能是 SGA 的太大,以至于物理内存容纳不下。应该减小 SGA 大小或增加物理内存。
vmstat 命令详解
最新推荐文章于 2024-06-23 14:58:39 发布