• 技术文章 >运维 >linux运维

    linux查看内存大小的命令是什么

    藏色散人藏色散人2023-01-05 14:07:01原创172

    linux查看内存大小的命令是“free”命令;通过“free”命令可以查看系统的内存使用情况,内存大小单位为KB;通过“free -m”命令查看系统的内存使用情况,内存大小单位为MB;通过“free -g”命令查看系统的内存使用情况,内存大小单位为GB。

    本教程操作环境:linux5.9.8系统、Dell G3电脑。

    linux查看内存大小的命令是什么?

    通过 free 命令查看Linux系统实际可用内存大小

    一、free 命令

    通过 free 命令查看系统的内存使用情况,内存大小单位为 KB,执行结果如下图所示:
    free
    通过 free -m 命令查看系统的内存使用情况,内存大小单位为 MB,执行结果如下图所示:
    free -m
    通过 free -g 命令查看系统的内存使用情况,内存大小单位为 GB,执行结果如下图所示:
    在这里插入图片描述

    二、实际可用内存大小计算

    从上方的图片得知, free 命令执行完成后,会显示 MemSwap 两行数据,其中 Mem 表示物理内存的使用情况,Swap 表示 Swap 分区的使用情况。

    什么是 Swap 分区?
    Swap 分区是操作系统在硬盘上开辟的一块空间,当物理内存块被耗尽时,系统会将一些长时间没有使用的进程的内存转移到 Swap 分区;当物理内存被释放后,Swap 区的数据会随着进程的使用逐步回到物理内存中。

    1、Mem 属性说明见下表:

    属性属性值说明
    total8192MB总物理内存大小
    used601MB已使用物理内存大小
    free3998MB未分配物理内存大小
    shared0MB共享的物理内存大小
    buff/cache3591MB为了提高系统的读写速度(包含磁盘快的读写,文件 inode 的读写等),操作系统将部分内存作为缓存使用,该数值为缓存占用的物理内存大小
    available3998MB可用的物理内存大小

    2、Swap 属性说明见下表:

    属性属性值说明
    total0MBSwap 分区的总大小
    used0MB已使用的 Swap 分区大小
    free0MB未使用的 Swap 分区大小

    3、不考虑 Swap 分区
    根据上表,在不考虑 Swap 分区的情况下,内存计算如下:
    总内存大小:Mem.total = Mem.used + Mem.free + Mem.shared + Mem.buff/cache
    理论上实际可用内存大小:Mem.actual = Mem.total - Mem.used - Mem.shared = Mem.free + Mem.buff/cache

    4、考虑 Swap 分区
    根据上表,在考虑 Swap 分区的情况下,内存计算如下:
    总内存大小:Mem.total = Mem.used + Mem.free + Mem.shared + Mem.buff/cache
    理论上实际可用内存大小:Mem.actual = Mem.total - Mem.used - Mem.shared + Swap.free = Mem.free + Mem.buff/cache + Swap.free

    5、系统建议的可用大小 available
    available 官方定义:

    MemAvailable: An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.

    available 翻译:

    memavailable:它是一个估计值,在不考虑 Swap 分区的情况下,估算有多少内存可用于启动新的应用程序。根据 memfree、可回收的page cache、slab cache、LRU队列的大小以及每个区域中的低水位线进行计算。该估计考虑到系统需要一些 page cache 才能正常运行,而且由于某些程序正在使用,并非所有可回收的 slab 都可以回收。这些因素的影响因系统而异。

    available 计算公式见下图:
    054e73fdf20a67f0181ae45a79bda7a.jpg

    公式概括为:
    Mem.available = Mem.free + PageCache.size + SlabCache.size - WaterMark.low

    属性属性值说明
    PageCache.size0MB可以回收的 PageCache 大小,计算公式见上图
    SlabCache.size0MB可以回收的 SlabCache 大小 ,计算公式见上图
    WaterMark.low0MB支持系统使用的最低水位线,计算公式见上图

    因此在不考虑 Swap 分区的情况下,建议通过 available 参数判定系统的实际可用内容。文章内容仅代表个人观点,如有不正之处,欢迎批评指正,谢谢大家。

    推荐学习:《Linux视频教程

    以上就是linux查看内存大小的命令是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux 内存
    上一篇:linux明明有文件却找不到怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux查看日志的三种命令• linux杀死进程命令kill怎么用• linux怎么查看版本信息• linux怎么查看目录占用空间大小• linux明明有文件却找不到怎么办
    1/1

    PHP中文网