当前位置: 代码迷 >> 综合 >> Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)
  详细解决方案

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

热度:56   发布时间:2023-10-24 09:21:51.0

Linux 总目录篇

目录

    • Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)
      • vmstat命令(Virtual Memory Statistics)
          • 用法:
          • 字段说明:
            • Procs(进程):
            • Memory(内存):
            • Swap:
            • IO:
            • system (系统):
            • CPU(以百分比表示):
      • top命令
          • 用法:
          • 字段说明:
      • free命令
          • 用法:
          • 字段说明:

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

vmstat命令(Virtual Memory Statistics)

用法:
#每隔1s采样一次,总共采样3次
vmstat 1 3

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

一共分为6部分:Pros、Memory、Swap、IO、System、CPU;

字段说明:
Procs(进程):

r:等待执行的任务数(当这个值超过了cpu个数,就会出现cpu瓶颈)
b:等待IO的进程数量

Memory(内存):

swpd: 使用虚拟内存大小,单位kb
free: 可用内存大小,单位kb
buff: 用作缓冲的内存大小,单位kb
cache: 用作缓存的内存大小,单位kb

Swap:

si: 每秒从交换区写到内存的大小(单位:kb/s)
so: 每秒写入交换区的内存大小

IO:

bi: 每秒读取的块数(读磁盘)(现在的Linux版本块的大小为1024bytes)
bo: 每秒写入的块数(写磁盘)

system (系统):

in: 每秒中断数,包括时钟中断。【interrupt】
cs: 每秒上下文切换数。 【count/second】

CPU(以百分比表示):

us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
wa: 等待IO时间

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

top命令

用法:
top

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

字段说明:

第一行,任务队列信息,同 uptime 命令的执行结果
系统时间:22:44:36
运行时间:up 16 min,
当前登录用户: 1 user
负载均衡(uptime) load average: 0.00, 0.00, 0.00
average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

第二行,Tasks — 任务(进程)
总进程:102 total, 运行:2 running, 休眠:99 sleeping, 停止: 1 stopped, 僵尸进程: 0 zombie

第三行,cpu状态信息
0.0%us【user space】— 用户空间占用CPU的百分比。
11.8%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比
88.2%id【idolt】— 空闲CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
0.0%si【Software Interrupts】— 软中断占用CPU的百分比

第四行,内存状态
995896 total, 762372 free, 93692 used, 139832 buff/cache【缓存的内存量】

第五行,swap交换分区信息
2097148 total, 2097148 free, 0 used, 740052 avail Mem【缓冲的交换区总量】

free命令

用法:
free 

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

#加上-h参数,显示会更加友好
free -h

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

#每隔3秒,采集一次数据
free -h -s 3

Linux 命令 - 分析操作系统资源使用情况(vmstat/top/free)

字段说明:

Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。

total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。