Linux的内存机制概述
一、内存使用说明 Free 命令相对于top 提供了更简洁的查看系统内存使用情况: [root@rac1 ~]# free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。 Mem:表示物理内存统计。 -/+ buffers/cached:表示物理内存的缓存统计 Swap:表示硬盘上交换分区的使用情况。只有mem被当前进程实际占用完,即没有了buffers和cache时,才会使用到swap。 Mem 行(第一行)数据说明: Total:1035108KB。表示物理内存总大小。 Used:1008984KB。表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。 Free:26124KB。表示未被分配的内存。 Shared:0kb。共享内存,一般系统不会用到。 Buffers:124212KB。系统分配但未被使用的buffers 数量。 Cached:413000KB。系统分配但未被使用的cache 数量。 -/+ buffers/cache 行(第二行)数据说明: Used:471772kb,实际使用的buffers 与cache 总量,也是实际使用的内存总量。 Free: 563336kb, 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。 根据以上分析,可以得出一下结论: 1. 实际可用内存大小: Free(-/+ buffers/cache行)= Free(Mem)+buffers(Mem)+Cached(Mem); 563336 = 26124 + 124212+ 413000 2. 已经分配的内存大小: Used(Mem) = Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem) 1008984kb = 471772 + 124212 +413000 3. 物理内存总大小 total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache) 1035108 = 471772 + 563336 本文URL:http://www.bianceng.cn/OS/Linux/201410/45619.htm (编辑:徐州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |