free
命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
1 执行命令 free -m
image.png
2 命令参数
-b: 以Byte为单位显示内存使用情况;
-k: 以KB为单位显示内存使用情况;
-m: 以MB为单位显示内存使用情况;
-o: 不显示缓冲区调节列;
-s: <间隔秒数>持续观察内存使用状况;
-t: 显示内存总和列;
-V: 显示版本信息。
3 结果分析
total: 内存总数;
used: 已经使用的内存数;
free: 空闲的内存数;
shared: 被共享使用的物理内存大小
buff/cache: 被 buffer 和 cache 使用的物理内存大小
available: 还可以被 应用程序 使用的物理内存大小
4 free
与 available
的区别
free
是真正尚未被使用的物理内存数量。
available
是应用程序认为可用内存数量,available = free + buffer + cache
(注:只是大概的计算方法)
Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。
网友评论