返回顶部
首页 > 资讯 > 精选 >如何使用vmstat命令确定内存使用情况
  • 711
分享到

如何使用vmstat命令确定内存使用情况

2023-06-06 02:06:36 711人浏览 薄情痞子
摘要

今天就跟大家聊聊有关如何使用vmstat命令确定内存使用情况,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。vmstat 命令总结了系统中所有进程使用的总活动虚拟内存,以及空

今天就跟大家聊聊有关如何使用vmstat命令确定内存使用情况,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

vmstat 命令总结了系统中所有进程使用的总活动虚拟内存,以及空闲列表上实内存页帧的数量。

活动的虚拟内存定义为虚拟内存中实际可以得到的工作段页面的数量。这个数字可能大于机器中的实际页帧数,因为一些活动的虚拟内存页可能已写出到调页空间中。

当确定系统内存是否短缺或者是否需要进行某种内存调整时,在设定的时间间隔内运行 vmstat 命令,并检查结果报告中的 pi 和 po 列。这两列表明了每秒调页空间页面调入的数量和每秒调页空间页面调出的数量。如果这些值经常为非零值,说明可能存在内存瓶颈。偶尔出现的非零值不用在意,因为页面调度是虚拟内存的主要原理。

# vmstat 2 10kthr     memory             page              faults        cpu----- ----------- ------------------------ ------------ ----------- r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa 1  3 113726   124   0  14   6 151  600   0 521 5533 816 23 13  7 57 0  3 113643   346   0   2  14 208  690   0 585 2201 866 16  9  2 73 0  3 113659   135   0   2   2 108  323   0 516 1563 797 25  7  2 66 0  2 113661   122   0   3   2 120  375   0 527 1622 871 13  7  2 79 0  3 113662   128   0  10   3 134  432   0 644 1434 948 22  7  4 67 1  5 113858   238   0  35   1 146  422   0 599 5103 903 40 16  0 44 0  3 113969   127   0   5  10 153  529   0 565 2006 823 19  8  3 70 0  3 113983   125   0  33   5 153  424   0 559 2165 921 25  8  4 63 0  3 113682   121   0  20   9 154  470   0 608 1569 1007 15  8  0 77 0  4 113701   124   0   3  29 228  635   0 674 1730 1086 18  9  0 73

在上述示例输出中,请注意输出中的较高的 I/O 等待率以及阻塞队列中的线程数。其他 I/O 活动可能会造成 I/O 等待,但是在这种特殊情况下,I/O 等待最大可能是由于与页面空间之间的页面调进调出造成的。

要察看系统的 VMM 是否有性能问题,请检查 memory 和 page 下的列:

  • memory

    提供了实际和虚拟内存的信息。

    • avm

      活动虚拟内存(avm)列代表在收集 vmstat 样本时存在的活动虚拟内存页数。缺省策略为延迟页面空间策略。在该策略下,avm 的值可能比使用的调页空间页面数要高。avm 统计信息并不包含文件页面。

    • fre

      fre 列显示出空闲内存页面的平均数量。一个页面是实内存中的 4 KB 的区域。系统维护内存页面的缓冲区,称为空闲列表。当 VMM 需要空间时可以很方便地访问此空闲列表。VMM 保留在空闲列表上的最少页数由 vmo 命令的 minfree 参数决定。

      当一个应用程序终止时,它所有的工作页面会立即返回给空闲列表。然而,它的永久页面(或文件)仍然在 RAM 中,不会添加回空闲列表中,直到由 VMM 窃取用于其他程序为止。如果删除相应的文件,也会释放其永久页面。

      由于这个原因,fre 的值可能不表示进程可以方便使用所有实内存。如果需要页帧,那与已终止应用程序相关的永久页面将会最先移交给另一个程序。

      如果 fre 的值远大于 maxfree 的值,那么不太可能出现系统颠簸。系统颠簸意味着系统一直在进行页面调进调出。然而,如果系统正在经历颠簸,可以肯定 fre 值很小。

  • page

    关于缺页故障和页面调度活动的信息。它们是一段时间间隔的平均值并以秒为单位给出。

    • re

      注: 这一栏当前不受支持。

    • pi

      pi 列详细描述了从调页空间调入的页数。调页空间是驻留在磁盘上的虚拟内存的一部分。当内存过量使用时,它用作溢出。调页空间由用于存储从实内存中窃取到的工作组页面的逻辑卷组成。当进程访问一个窃取页时,产生了一个缺页故障,这一页必须从调页空间读入内存。

      因为硬件配置、软件和应用程序的不同,没有绝对的数字可以用以参考。这个字段作为调页空间活动的关键指示符。如果发生页面调进,该页面就一定有一个较早的页面调出。在内存受限的环境下也有可能每一次页面调进会迫使另一个页面被窃取而页面调出。

    • po

      po 一栏显示了调出到调页空间的页面数(速率)。无论什么时候窃取工作存储器的一页,如果它仍未驻留在调页空间中或已被修改,那它会被写入调页空间。如果不被再次访问,它会留在页面调度设备中直到进程终止或放弃空间。如果包含在出故障页面中的后续地址引用导致缺页故障,那么这些页面将会由系统个别调进。当一个进程正常终止,任何分配给该进程的调页空间将被释放。如果系统读入大量的永久页面,您会发觉 po 栏里增加了而在 pi 栏里没有相应增加。这并不一定会造成系统颠簸,但可以保证对于应用程序数据存取模式的调查。

    • fr

      在一定时间间隔内根据页面替换算法每秒所释放的页数。当 VMM 页面替换例程扫描页面帧表(Page Frame. Table,PFT)时,它使用一些条件选取要窃取的页面以插入到可用内存帧的空闲列表中。该条件包含了两种页面,工作(计算的)和文件(永久的)页面。就因为页面已经释放,并不意味着发生了任何 I/O。例如,如果某个永久存储(文件)页面尚未修改,它就不会被写回磁盘。如果 I/O 不是必需的,那么要求最小的系统资源来释放页面。

    • sr

      在一定时间间隔内根据页面替换算法每秒所检查的页面数。页面替换算法在可以窃取足够的页面以满足页面替换线程的需要之前可能不得不扫描许多页面帧。sr 值比 fr值高得越多,页面替换算法查找要窃取的合格页面就越困难。

    • cy

      时钟算法中每秒的周期数。VMM 使用一种叫时钟算法的技术来选择要替换的页面。这种技术利用了每一个页面的访问位来指示哪些页最近曾被使用(访问)过。调用页面窃取程序例程时,它遍历整个 PFT,检查每一页的访问位。

      cy 一栏显示了每秒页面替换代码扫描了 PFT 多少次。因为插入空闲列表可以不需要完全扫描 PFT,并且因为所有的 vmstat 字段报告为整数,这一字段通常为 0。

确定系统的适当 RAM 数量的一种方法是查看 vmstat 命令报告的 avm 的最大值。将该数字乘以 4K 得到字节数,然后将其与系统的 RAM 字节数比较。理想情况下,avm 应该小于总 RAM。如果不是,可能会出现一些虚拟内存页面调度量。有多少页面调度发生取决于两个值之间的差值。记住,虚拟内存的概念是提供给我们寻址大于实内存容量的能力(一些在 RAM 内存中,而另一些在调页空间中)。但是如果虚拟内存远大于实内存,可能造成过度的页面调度,从而导致延时。如果 avm 小于 RAM,那么当 RAM 中填满文件页时就会引起调页空间的页面调度。这种情况下,调整 minperm、maxperm 和 maxclient 的值可以减少调页空间的页面调度量。

看完上述内容,你们对如何使用vmstat命令确定内存使用情况有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 如何使用vmstat命令确定内存使用情况

本文链接: https://lsjlt.com/news/245711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用vmstat命令确定内存使用情况
    今天就跟大家聊聊有关如何使用vmstat命令确定内存使用情况,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。vmstat 命令总结了系统中所有进程使用的总活动虚拟内存,以及空...
    99+
    2023-06-06
  • linux查看内存使用情况的命令怎么用
    这篇“linux查看内存使用情况的命令怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux查看内存使用情况的命令怎...
    99+
    2023-07-04
  • Linux下怎么使用free命令查看内存使用情况
    本篇内容主要讲解“Linux下怎么使用free命令查看内存使用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么使用free命令查看内存使用情况”吧!显示系统内存不带任何选项运行...
    99+
    2023-06-27
  • 如何查看内存使用情况
    查看内存使用情况的方法:1.打开任务管理器;2.菜单栏切换“性能”选项卡;3.点击内存选项;4.查看内存使用情况;具体步骤如下:首先,在计算机桌面中使用组合键“win+R”运行“taskmgr.exe”,打开任务管理器;进入到任务管理器窗口...
    99+
    2024-04-02
  • Linux中怎么使用free命令检查内存情况
    这篇文章主要讲解了“Linux中怎么使用free命令检查内存情况”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中怎么使用free命令检查内存情况”吧!free 命令显示系统内存的使...
    99+
    2023-06-28
  • Linux查看内存使用情况的命令是什么
    Linux查看内存使用情况的命令是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在进行Linux系统优化时,物理内存是一个非常重要的优化项目,在Linux系统中提供了多种命...
    99+
    2023-06-28
  • 如何查看redis内存使用情况
    如何查看redis内存使用情况Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis的基本特点之一内存数据库,因为其数据是放在内存中的所以查询、操作...
    99+
    2024-04-02
  • linux如何查看内存使用情况
    linux中查看内存使用情况的方法:1、打开终端;2、输入“free”命令查看内存使用情况即可。具体操作步骤:使用快捷键【Ctrl+Alt+T】打开终端命令行模式。输入以下命令查看内存使用情况即可。free #查看系统内存使用情况返回结果项...
    99+
    2024-04-02
  • Linux如何检查内存使用情况
    这篇文章主要介绍Linux如何检查内存使用情况,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!检查内存对于系统管理员来说是一个非常重要的技能,Linux提供了非常多的方法来监控宝贵的内存资源的使用情况。top我想从最常...
    99+
    2023-06-28
  • 使用 cipher.AEAD.Seal() 查看内存使用情况
    问题内容 我正在使用 Go 的 ChaCha20-Poly1305 实现来加密数据,但是当我加密一些大文件时,内存使用量高于我的预期。据我所知,Go 的 AEAD 密码实现意味着我们必...
    99+
    2024-02-06
  • 如何检查Linux中内存使用情况
    这篇文章给大家分享的是有关如何检查Linux中内存使用情况的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux 并不像 Windows,你经常不会有图形界面可供使用,特别是在服务器环境中。作为一名 Linux...
    99+
    2023-06-16
  • 如何查看电脑内存使用情况
    这篇“如何查看电脑内存使用情况”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何查看电脑内存使用情况”文章吧。查看电脑内存使...
    99+
    2023-07-02
  • 如何查看linux内存的使用情况
    本篇内容主要讲解“如何查看linux内存的使用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何查看linux内存的使用情况”吧! 在 linux 中,/proc/$PID/sta...
    99+
    2023-06-09
  • Redis的内存使用情况如何监控
    使用Redis自带的INFO命令来查看Redis实例的内存使用情况。可以通过命令INFO memory来查看内存相关的信息,如当...
    99+
    2024-04-02
  • linux如何查看redis内存使用情况
    要查看Redis内存使用情况,可以使用redis-cli工具连接到Redis服务器,并使用INFO命令来获取有关Redis实例的各种...
    99+
    2024-05-11
    redis linux
  • 如何使用PHP获取服务器内存使用情况
    你可以使用PHP内置的函数来获取服务器的内存使用情况。以下是几种常用的方法: 使用memory_get_usage()函数来获取当...
    99+
    2024-04-29
    PHP 服务器
  • 如何在Redis中监控内存使用情况
    可以通过Redis自带的INFO命令来查看Redis实例的内存使用情况。具体步骤如下: 连接到Redis服务器,可以使用redi...
    99+
    2024-04-09
    Redis
  • oracle数据库如何查内存使用情况
    oracle 数据库的内存使用情况查询方法有四种:使用 v$sesstat 视图查询会话逻辑读取次数;使用 v$sgastat 视图查询 sga 中每个池的使用情况;使用 awr 报告查...
    99+
    2024-04-19
    oracle
  • 如何在linux系统中使用vmstat命令
    如何在linux系统中使用vmstat命令?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmst...
    99+
    2023-06-13
  • Linux监控cpu以及内存使用情况之top命令(详解)
    top命令是Linux下常用的性能分析工具,比如cpu、内存的使用,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可...
    99+
    2022-06-04
    详解 命令 内存
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作