Linux内存中的Swap机制
2016-03-18 本文已影响388人
印度a三
本文主要是 http://blog.sina.com.cn/s/blog_502d765f0100krph.html 观后感,因本人要了解iOS内存优化而找到此为。感觉写的不错。
Linux主要的功能:
1 存储管理
2 内存管理
3 文件系统
4 进程管理
、、、等等
本文重点介绍:
swap机制
Linux支持虚拟内存,虚拟内存是指用磁盘当作RAM的扩展,(也就是硬盘存储)。这样就显得内存增大了,
举例子:启动一个程序,它会被加在到内存(也叫物理内存),假设它占内存1G,当运行一段时间后,它的内存在内存的占用量会减少到几十M。
原因:
磁盘内部有一部分区域叫做交换空间(swap Space),用作虚拟内存的硬盘,内存管理单元(MMU)会将内存中暂时不用的内存块内容写在硬盘上(交换空间),当需要时再从swap Space中读取到内存。这样内存就会空闲出来内存去做别的事情。
一般,在交换空间中的页面首先被换入内存;如果此时没有足够的物理内存来容纳他们又将被交换出来(到其他的交换空间中)。如果没有足够的虚拟内存来容纳所有这些页面,Linux就会波动而不正常;但经过一段较长的时间Linux会恢复,但此时系统已不可用了。
缺点:
在虚拟空间读去内容到内存肯定效率特别低,要慢数千倍。(如果是固态硬盘会好很多)
虚拟内存地址空间:
32位:4GB
64位:16GB