当前位置:

首页 > 软件教程 > Linux Vmstat命令

Linux Vmstat命令

在本指南中,我们将演示在Linux中使用“vmstat”命令的各种方法。先决条件:要执行本指南中演示的步骤,您需要以下组件:配置正确的Linux系统。出于测试目的,请考虑使用LinuxVM。访问具有sudo权限的非根用户对命令行界面的基本理解Linux中的虚拟内存RAM,或称物理内存,是一种有限的资源,由操作系统分配给正在运行的程序。所有的程序,包括操作系统本身,都需要占用这一空间。当内存需求超过可用内存时,系统可能会崩溃或程序可能会请求更多内存空间。大多数情况下,这种情况是不受欢迎的。虚拟内存的概念因此

本文目录

    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等的更多信息。

    计算快乐!

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 Linux 虚拟内存
    相关文章 更多
    linux删除用户与用户组的方法及命令教程
    linux删除用户与用户组的方法及命令教程

    掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

    Linux如何开启端口号?开放端口命令详解
    Linux如何开启端口号?开放端口命令详解

    详细讲解Linux如何开启端口号以及常用的开放端口命令。

    crossover卸载软件下载及重新安装教程
    crossover卸载软件下载及重新安装教程

    遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。