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

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

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

本教程操作环境: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查看内存大小的命令是什么的详细内容,更多请关注其它相关文章!