摘要: free命令用以显示当前系统内存使用情况,其数据取自/proc/meminfo文件。本文第一部分为free命令及参数(源自linux man手册)、第二部分展示常见命令free -m各字段含义,第三部分解释free命令数据来源。
1.1、命令描述
??free - 显示系统已用及空余物理内存量、交换分区使用情况(swap memory)、内核占用的缓存、及共享内存。其命令形式为 free + options(可多个参数)。
1.2、参数
第一类单位参数:
图1、第一类单位参数示意图
第二类参数:
图2、free -h结果显示
注:其他版本、形式等参数linux命令,可man free 查看
??free -m, 是一个常用的命令,其以MB为单位显示当前内存的使用情况,下面将解释各字段含义。
图4、free -m结果显示
2.1、第一部分Mem行:
total 内存总数: 3865M
used 已经使用的内存数: 1545M
free 空闲的内存数: 2320M
shared 多个进程共享的内存总额 196M
buffers Buffer 缓存内存数: 176M
cached Page 缓存内存数:569M
关系:total (3865M) = used(1545M) + free(2320M)
2.2、第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:798M
(指的第一部分Mem行中的used – buffers – cached)
即为1545 – 176 – 569 = 800 取整时计算差异 2M
(+buffers/cache) free内存数: 3066M
(指的第一部分Mem行中的free + buffers + cached)
即为2320 + 176 + 569 = 3065 取整时计算差异 1M
2.3、第三部分是指交换分区
win7拥有足够的内存空间才可以让系统运行变得更加顺畅,有位用户说win7系统运行速度非常慢,还以为是电脑中毒了,检查发现原来是win7系统物理内占用过高,有什么办法能够降低物理内存呢。因为所有linux操作系统一般都有两个分区,一个是用作交换(swap)分区的,交换分区的作用就是当你运行的程序太多(比如几十个大型应用程序时),你的内存不够用的时候,linux会使用交换分区来做一些操作以便你能同时运行很多个程序。系统物理内存的调整,或者需要大量使用内存的操作或运行需要大量内存的程序linux命令,往往需要增加交换空间,这有3种方法可供选择:创建一个交换分区,创建一个交换 文件,在现有的lvm逻辑卷上扩展交换分区(推荐使用此种方式)。
??free命令显示了当前系统内存使用情况,其数据取自/proc/meminfo文件。这里我们cat 一下。可见,在这个文件中,数据的存储就是以KB为单位,所以free的默认值也是KB。
重点:常用命令free -m各字段的含义
参考资料:
《操作系统之哲学原理》 邹恒明著
linux 系统 man手册 man free
纠错与建议
邮箱:db_hebut@163.com