首页 电脑教程 电脑知识 Linux Vmstat命令

Linux Vmstat命令

Mar 20, 2024 pm 01:49 PM
linux ram 虚拟内存 linux操作系统

Linux Vmstat命令

在本指南中,我们将演示在Linux中使用“vmstat”命令的各种方法。

先决条件:

要执行本指南中演示的步骤,您需要以下组件:

  • 配置正确的Linux系统。出于测试目的,请考虑使用Linux VM。
  • 访问具有sudo权限的非根用户
  • 对命令行界面的基本理解

Linux中的虚拟内存

RAM,或称物理内存,是一种有限的资源,由操作系统分配给正在运行的程序。所有的程序,包括操作系统本身,都需要占用这一空间。

当内存需求超过可用内存时,系统可能会崩溃或程序可能会请求更多内存空间。大多数情况下,这种情况是不受欢迎的。虚拟内存的概念因此应运而生,它允许系统将部分数据存储在硬盘上,以便在需要时交换到RAM。这样,系统可以更有效地管理内存资源,确保程序正常运行,而不会因内存不足而导致崩溃。虚拟内存的使用使得系统在面对内存需求

虚拟内存是计算机系统中的一种技术,它利用硬盘或固态硬盘上的空间来扩展内存的容量,以便在需要时充当额外的内存。虚拟内存实际上是一种将部分硬盘空间用作临时存储的方式,以便在处理器需要更多内存时进行补充。在UNIX和Linux操作系统中,这种技术被称为交换空间,用于管理内存资源的分配和交换。虽然虚拟内存并非真正的物理内存,但它可以提高系统的性能和稳定性,确保系统能够处理更大的工作负荷。

Linux内核将内存块移动到交换空间,并在必要时将其检索回RAM。

虚拟内存的速度通常比物理内存慢,取决于存储设备的性能。但在某些特定硬件设置下(如采用NVMe SSD),虚拟内存的性能可能与RAM相媲美。

vmstat命令

"vmstat"命令是一个用于监视虚拟内存相关信息的实用工具。它可以在所有Linux系统上作为"sysstat"软件包的一部分使用。

“vmstat”的命令结构如下:

$vmstat

基本用法

如果运行时没有任何参数,”vmstat”会打印自上次启动以来的系统信息:

$vmstat

产出分为六个部分:

  • procs:当前正在运行的进程的统计信息
    • r:活动进程数
    • b:睡眠过程的数量
  • memory:内存使用统计
    • Swpd:虚拟内存总量(交换空间)
    • 空闲:可用交换空间
    • buff:用作临时缓冲存储器的交换空间量
    • 缓存:总缓存内存
  • swap:关于交换空间的统计信息
    • si:交换速率
    • 所以:换出的比率
  • io:I/O统计
    • bi:从块设备接收的块数
    • bo:发送到块设备的块数
  • 系统:日程安排统计
    • in:系统中断计数
    • cs:上下文切换速率
  • CPU:各种CPU统计数据
    • 美国:CPU花费在非内核进程上的时间
    • sy:CPU花费在内核进程上的时间
    • id:CPU花费时间空闲
    • wa:CPU花费时间等待I/O操作完成
    • st:虚拟机使用的CPU时间

更改显示单元

默认情况下,”vmstat”以字节为单位报告内存值。要更改单位,请使用”—S”标志:

$vmstat-S

在这里,“vmstat”以MB为单位打印值。

有几个可用的内存单元:

  • M:1048576字节(2^20字节)
  • M:1000000字节(1000千字节)
  • K:1024字节(1兆字节)
  • k:1000字节(1字节)

持续统计数据更新

默认情况下,”vmstat”打印一次报告。但是,我们可以指示”vmstat”以指定的时间间隔(以秒为单位)提供连续的报告。

命令结构如下:

$vmstat

例如,要每隔2秒获取更新的统计信息,命令如下:

$vmstat 2

输出不会停止,除非使用“Ctrl + C”手动终止。

或者,我们可以指定”vmstat”来提供特定次数的统计数据:

$vmstat

例如,要获取每2秒更新一次的统计数据,命令如下所示:

$vmstat 2 5

主动和非主动记忆

活动内存指的是进程当前使用的内存空间。另一方面,非活动内存指的是分配给不再运行的进程的内存空间。

使用”vmstat”,我们可以检查正在使用的活动和非活动内存的数量:

$vmstat—a

这里,”buff”和”cache”列分别被”inact”和”active”列替换。

内存和调度

要获取有关内存和调度的更详细报告,请使用以下命令:

$vmstat—s

这里:

  • 第1节:这一节介绍基本系统信息,如总物理内存、活动/非活动内存、空闲/缓冲区/缓存内存等。
  • 第2节:各种CPU统计数据
    • 非良好CPU节拍:高优先级进程使用CPU的次数。
    • NICE CPU TICK:低优先级进程使用CPU的次数。
    • 系统CPU计数:内核进程使用CPU的次数。
    • Idle CPU ticks:CPU处于空闲状态的次数。
    • IO—wait CPU ticks:CPU等待I/O管理的次数。
    • IRQ:CPU接收中断请求的次数。
    • softirq:CPU接收软件中断请求的次数。
    • 被盗CPU时间:VM窃取CPU时间的次数。
  • 第3节:内存分页状态
  • 第4节:事件计数器

引导后的叉子

Forks指的是由现有进程产生的进程。要获取fork计数的统计信息,请运行以下命令:

$vmstat-f

磁盘和分区统计

“vmstat”命令还可以提供有关磁盘活动的信息。要获取磁盘活动的快速摘要,请运行以下命令:

$vmstat—D

要获取更详细的磁盘活动报告(包括读/写统计),请改用以下命令:

$vmstat—d

这里:

  • 读数
    • total:磁盘读取总数
    • 已合并:组读取总数
    • sectors:读取的sectors总数
    • ms:从磁盘读取数据的总时间(毫秒)
  • 写道
    • total:磁盘写入计数
    • 已合并:组写入总数
    • sectors:写入的sectors总数
    • ms:写入磁盘的总时间(毫秒)
  • io
    • cur:当前磁盘读/写总数
    • 秒:正在进行的读/写操作所花费的时间量(秒)

“vmstat”命令还可以生成特定磁盘分区的报告。要获取分区报告,请使用以下命令结构:

$vmstat-p

板材统计

板分配是一种有效的对象内存分配机制。与以前的机制相比,slab分配提供了减少内存碎片(由内存分配和解除分配引起的)。

要检查系统的slab统计信息,请使用以下”vmstat”命令:

$sudo vmstat—m

请注意,它需要root权限才能查看统计数据。

这里:

  • 缓存:缓存数据的名称
  • Num:Num缓存中处于活动状态的对象的数量
  • Total:特定缓存中对象的总数
  • Size:缓存对象的大小
  • Pages:包含缓存对象的内存分页计数

结论

在本指南中,我们展示了使用”vmstat”命令的各种方法。除了虚拟内存外,”vmstat”还可以报告磁盘统计数据、分叉、片等。

有兴趣了解其他系统监控工具吗?了解有关HTOP、KILL、PS等的更多信息。

计算快乐!

以上是Linux Vmstat命令的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

linux怎么启动nginx linux怎么启动nginx Apr 14, 2025 pm 12:51 PM

在 Linux 中启动 Nginx 的步骤:检查 Nginx 是否已安装。使用 systemctl start nginx 启动 Nginx 服务。使用 systemctl enable nginx 启用在系统启动时自动启动 Nginx。使用 systemctl status nginx 验证启动是否成功。在 Web 浏览器中访问 http://localhost 查看默认欢迎页面。

怎么查看nginx是否启动 怎么查看nginx是否启动 Apr 14, 2025 pm 01:03 PM

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

nginx403怎么解决 nginx403怎么解决 Apr 14, 2025 am 10:33 AM

如何解决 Nginx 403 Forbidden 错误?检查文件或目录权限;2. 检查 .htaccess 文件;3. 检查 Nginx 配置文件;4. 重启 Nginx。其他可能原因还包括防火墙规则、SELinux 设置或应用程序问题。

怎么启动nginx服务器 怎么启动nginx服务器 Apr 14, 2025 pm 12:27 PM

启动 Nginx 服务器需要按照不同操作系统采取不同的步骤:Linux/Unix 系统:安装 Nginx 软件包(例如使用 apt-get 或 yum)。使用 systemctl 启动 Nginx 服务(例如 sudo systemctl start nginx)。Windows 系统:下载并安装 Windows 二进制文件。使用 nginx.exe 可执行文件启动 Nginx(例如 nginx.exe -c conf\nginx.conf)。无论使用哪种操作系统,您都可以通过访问服务器 IP

nginx304错误怎么解决 nginx304错误怎么解决 Apr 14, 2025 pm 12:45 PM

问题的答案:304 Not Modified 错误表示浏览器已缓存客户端请求的最新资源版本。解决方案:1. 清除浏览器缓存;2. 禁用浏览器缓存;3. 配置 Nginx 允许客户端缓存;4. 检查文件权限;5. 检查文件哈希;6. 禁用 CDN 或反向代理缓存;7. 重启 Nginx。

linux怎么查看nginx是否启动 linux怎么查看nginx是否启动 Apr 14, 2025 pm 12:48 PM

在 Linux 中,使用以下命令检查 Nginx 是否已启动:systemctl status nginx根据命令输出进行判断:如果显示 "Active: active (running)",则 Nginx 已启动。如果显示 "Active: inactive (dead)",则 Nginx 已停止。

nginx403错误怎么解决 nginx403错误怎么解决 Apr 14, 2025 pm 12:54 PM

服务器无权访问所请求的资源,导致 nginx 403 错误。解决方法包括:检查文件权限。检查 .htaccess 配置。检查 nginx 配置。配置 SELinux 权限。检查防火墙规则。排除其他原因,如浏览器问题、服务器故障或其他可能的错误。

nginx error日志怎么清理 nginx error日志怎么清理 Apr 14, 2025 pm 12:21 PM

错误日志位于 /var/log/nginx(Linux)或 /usr/local/var/log/nginx(macOS),使用命令行清理步骤:1. 备份原日志;2. 创建空文件作为新日志;3. 重启 Nginx 服务。也可使用第三方工具(如 logrotate)或配置自动清理。

See all articles