[转帖]教你如何看懂linux系统的内存情况_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3375 | 回复: 0   主题: [转帖]教你如何看懂linux系统的内存情况        下一篇 
一路向北
注册用户
等级:少校
经验:903
发帖:56
精华:6
注册:2012-12-19
状态:离线
发送短消息息给一路向北 加好友    发送短消息息给一路向北 发消息
发表于: IP:您无权察看 2012-12-25 14:17:10 | [全部帖] [楼主帖] 楼主

相信很多人还有误区,小知识可以丰富一下:)

通常我们用free 命令来查看内存使用情况:

$ free -m (-m参数是指以M为单位显示内存使用情况)

 total       used       free     shared    buffers     cachedMem:          3703       3288         415          0        543       2406-/+ buffers/cache:        338       3365Swap:          996          0          996

Mem:表示物理内存统计

-/+ buffers/cached:表示物理内存的缓存统计

Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。

系统的总物理内存:3703M,但系统当前真正可用的内存并不是第一行free 标记的 415M,它仅代表未被分配的内存。

我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。

total1:表示物理内存总量。

used1:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。

free1:未被分配的内存。

shared1:共享内存,一般系统不会用到,这里也不讨论。

buffers1:系统分配但未被使用的buffers 数量。

cached1:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。

used2:实际使用的buffers 与cache 总量,也是实际使用的内存总量。

free2:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。

可以整理出如下等式:

total1=used1+free1  total1=used2+free2    used1=buffers1+cached1+used2  free2=buffers1+cached1+free1

很多人误以为free1是实际的剩余内存,还在奇怪为什么系统占用了如此大的内存,其实这是正常的。

二.buffer 与cache 的区别

A buffer is something that has yet to be "written" to disk.

A cache is something that has been "read" from the disk and stored for later use.

三.对于共享内存(Shared memory)

主要用于在UNIX 环境下不同进��之间共享数据,是进程间通信的一种方法.




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论