Linux的内存管理

Linux的内存管理,实际上跟windows的内存管理有很相像的地方,都有虚拟内存这个概念。只不过在Linux下一般叫交换分区,一般设置为与物理内存一样大小。

在Linux下查看内存我们一般用command free
[img]http://dl.iteye.com/upload/attachment/367656/a5097271-14b9-39c2-ba9a-4bd86d5d3548.jpg[/img]

[b]这些数值的解释:[/b]
第二行(mem)
total:总计物理内存的大小
used:已使用多大
free:可用有多少
shared:多个进程共享的内存总额
buffers/cached:磁盘缓存的大小

第三行(-/+ buffers/cached)
used:已使用多少
free:可用有多少

第四行(swap)虚拟内存的使用情况

[b]它们的区别:[/b]
第二行(mem)used/free与第三行(-/+ buffers/cache)used/free的区别。
这两个的区别在于从不同使用的角度来看,第一行是从OS的角度来看,因为对于OS来说,buffers/cached 都是属于被使用,所以它的可用内存是44M,已用内存是4006M,其中包括系统内核使用的+应用程序使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=free+buffers+cached.

什么时候内存会被交换,以及按什么方式交换。
当可用内存少于额定值的时候,就会开会进行交换,如何看额定值:
#cat /proc/meminfo

交换将通过三个途径来减少系统中使用的物理页面的个数: 
[list]
[*]减少缓冲与页面cache的大小
[*]将系统V类型的内存页面交换出去 
[*]换出或者丢弃页面。(应用程序占用的内存页,也就是物理内存不足)
[/list]
事实上,少量地使用swap是不是影响到系统性能的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值