• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

关于swap区的知识的总结

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 37次 | 进入软件测试论坛讨论

领测软件测试网
在一个计算机系统中,物理内存是一个有限的资源。尽管有更多的进程需要执行,但是同时在物理内存运行的进程数量是有限的。交换和换页允许部分进程在物理内存和大容量存储间移动。这就会释放物理内存的空间。
       交换区:这是一块在磁盘上的空间,它临时的存放在内存中的进程的镜像。当物理内存的需求非常低,进程的内存镜像从交换区回到物理内存中。
一、有两个后台守护进程用于管理伪内存子系统:(SWAP)
1.vhand
    为了使系统能有效地运行,会始终尽力保持可用页面高于阀值。只要可用内存不低于被称为lossfree的阀值,就不会发生页面切换。当可用内存低于该阀值时,vhand将选择最近未访问的页面并将其调到交换区,然后将这些页面加入可分配页面列表,这称为page-out。当进程要访问页面而该页面不在内存中时会发生page fault。无论是数据从交换区,还是执行代码从硬盘,该页面都会通过page-in调入内存。
    非常大的内存需求的系统上(如运行许多大程序的系统),页面交换守护程序会忙于页面的调入和调出,从而使系统花所有的时间在页面交换上,而没有足够的时间运行程序。当这种现象发生时,系统性能会显著下降,这时系统被称为处于thrashing状态。如果你怀疑你的系统处于thrashing状态,可用ps来检查vhand所使用的CPU时间,如果vhand占用大量的CPU时间,考虑购买更多的内存!
2.swapper
    swap可追溯到早期UNIX通过将整个进程空间在内存和二级存储之间的交换来管理物理内存资源的方法,许多现代的伪内存管理系统不再将整个进程空间进行交换,因为这种方法使系统花费太多的时间处理I/O,而不是实际的工作。整区交换被deactivation机制所替代,该方法允许使用页面交换技术将长期未用的页面置换出内存,页面交换是一种更有效的管理伪内存的机制。
    当系统处于thrashing状态时,或当可用内存低于另一个阀值minfree时,swapper将被激活。Swapper使进程变为非激活状态,该状态可防止进程运行,因此减少了他们所占页面被访问的频率。这使vhand有机会将该进程未访问的页面调到交换区,释放占用物理内存中的页面。当swapper检测到可用内存已恢复到minfree以上且系统不再处于thrashing时,系统会激活被置于非激活状态的进程。
二、交换区的类型:

主交换区 系统引导时至少要有一个设备交换区可用,这就是主交换区。主交换区默认放在根盘上。(主交换区可以不在/etc/fstab中出现)
辅交换区 可以使用除主交换区以外的其他交换区,即辅交换区。若是用设备交换区作为辅交换区,请将其设置在非根盘上,以获得更好的性能。文件系统交换区总是辅交换区。
如何更该主交换区 首先确保将要成为主交换区的交换区时可用的交换区
用lvrmboot取消先前的定义:lvrmboot  –s  /dev/vg00
用lvlnboot重新定义主交换区:lvlnboot  -s  /dev/vg00/lv_swap
重启:shutdown –ry 0
三、关于交换区的几个内核参数:
1. mxswapchunks:限制交换区的块的数值,默认为256个。
2. schunk:交换块的大小,默认是2(MB).
3. nswapdev:定义了最大可以动态设置的交换设备的数量,默认是10,最大为25。
4. nswapfs:定义了为文件系统交换区启用的最多文件系统数,默认是10,最大是25。
四、关于用/etc/fstab启用交换区
在/etc/fstab文件中定义交换区,以保证其在系统引导时被起用。引导时,swapon –a 命令启用所有/etc/fstab里的交换条目。以下是fstab中的内容:
/dev/vg00/lvol3 / hfs defaults 0 1
/dev/vg00/lvol1 /stand hfs defaults 0 1
/dev/vg00/lvol4 /home hfs defaults 0 2
/dev/vg00/lvol5 /opt hfs defaults 0 2
/dev/vg00/lvol6 /tmp hfs defaults 0 2
/dev/vg00/lvol7 /usr hfs defaults 0 2
/dev/vg00/lvol8 /var hfs defaults 0 2
/dev/vg00/lvol9 /log hfs rw,suid 0 2
/dev/vg00/lv_swap1 /paging hfs defaults 0 2
/dev/dsk/c0t1d0 .    swap defaults 0 0
/dev/dsk/c0t1d0 .    swap end      0 0
/dev/vg00/lv_swap .  swap defaults 0 0
/dev/vg00/lv_swap1 /paging swapfs pri-4,lim=4m 0 0
注意:1.主交换区可以不出现在该文件中。
2.在文件系统的交换区的条目前,一定有把该文件系统mount上的条目。
五、选择设备交换区的指导方针:
1. 从性能的角度看,提供相同大小空间的在不同硬盘上的两个交换区比一个交换区好。同样由于性能的缘故,同一硬盘上不应该存在多个交换区。
2. 如果使用LVM,则可将多个设备交换区设定在不同硬盘的逻辑卷上。
3. 设备交换区应该具有相同的大小,否则,当所有小交换区空间被使用完毕后,不可能交替使用交换区。











 mula 回复于:2003-10-06 00:11:42


 axiaonet 回复于:2003-10-06 12:18:01
學習

 泡方便面 回复于:2003-10-06 20:24:40
不好意思,第一次贴图,我还有word文档,如有需要,请留下E-mail.

 jacknew 回复于:2003-10-07 11:52:37
非常感谢老兄的辛勤劳动!文章非常精彩!

我对你的Word文档很感兴趣,我的E_mail Address:
aw_engr8@wuspc.com

谢谢!有机会给你泡最好的方便面!^_^

 garfield_world 回复于:2003-10-07 21:18:37
请给我一份,我得email:daming@honghe.com

 inaction 回复于:2003-10-08 01:46:24
谢谢。请给我发一份
inacning1976@hotmail.com

 cuixn 回复于:2003-10-08 09:31:51
不错,精华!!

 IT中不算精英的我 回复于:2003-10-08 09:33:58
我要收藏。Delbert.Ma@sohu.com

 mula 回复于:2003-10-08 10:53:47
请给我也发一份mula59@21cn.com

 kevin0830 回复于:2003-10-08 12:47:51
我也想要,谢谢!!
kevin810830@163.com

 arlune 回复于:2003-10-08 13:42:50
我也要,谢谢!!!
alex_lun@126.com

 qiuliao 回复于:2003-10-08 14:04:45
请辛苦给我一份:qiuliao@263.net,谢谢了

 nologin 回复于:2003-10-08 14:37:19
wwn5000@yahoo.com.cn

谢谢!!!

 hait 回复于:2003-10-08 14:38:55
我也要一份
haiti@eyou.com,谢谢
顺便闻一下,linux下这两个进程是什么

 qxfdd 回复于:2003-10-08 16:22:13
好文章,给我一份,qxfdd@yahoo.com.cn,谢谢老大

 hlliujob 回复于:2003-10-23 11:09:45
丁页,给俺发也发一份。谢谢。hlliujob@163.com

 hlliujob 回复于:2003-10-23 11:10:28
丁页,给俺发也发一份。谢谢。hlliujob@163.com

 goldenperson 回复于:2003-10-23 11:49:13
我收下了

 考拉熊 回复于:2003-10-24 15:25:18
我也要一份 
hailerer@163.net
谢了

 LeeSharp 回复于:2003-10-24 15:55:33
些的好,我也要一份,谢谢china_guy1@yahoo.com.cn

 oracle2003 回复于:2003-10-24 17:26:02
好东东 ,hgpost@xinhuanet.com,先谢拉

 hrbym 回复于:2003-12-01 14:12:47
yangming@cpst.com.cn :em02:

 dainh 回复于:2003-12-01 14:54:36
dainh@lianchuang.com
谢谢楼主

 soloarrow 回复于:2003-12-01 17:07:08
也给我一份吧?soloarrow@21cn.com
  谢谢!

 jxgcyzdh 回复于:2003-12-01 17:13:35
能不能给我发一份   jxgcyzdh@163.net

 indigo 回复于:2003-12-02 14:45:58
好像是翻译了一下hpux的系统管理文档

 zz_008 回复于:2003-12-02 15:31:27
zzfei123@hotmail.com
thanks

 月光爱人 回复于:2003-12-03 11:43:23
我也要tangchunling.student@sina.com

 wangcf 回复于:2003-12-03 22:18:50
wangcf_1978@yahoo.com.cn

谢谢了:)

 mazu 回复于:2003-12-05 10:53:11
crazy_mazu@sina.com

先谢了

 jfunix 回复于:2003-12-06 12:59:09
我也想要:weizheng_tan@hotmail.com

 woshiffes 回复于:2003-12-06 21:38:08
能否给小弟一份,我的E-MAIL是changyuan1234@sina.com.cn

 城市农民 回复于:2003-12-08 20:43:39
给我一份hlpost@163.com

 chaly 回复于:2004-06-16 10:14:41
我也想要,谢谢。
liuye@cpichq.com.cn

 netzh 回复于:2004-08-28 04:12:24
有几个错误,今天有幸看了原文,帮楼主纠正一下
lossfree应该是lotsfree,
mxswapchunks应该是maxswapchunks,
schunk应该是swchunk
pri-4应该是pri=4
图片中的命令第一个字母都是小写,楼主的word可能自作聪明了
swapon -P 4 -l 4m /paging
应该是
swapon -p 4 -l 4M /paging
优先级是4,最大为4M

呵呵,看出这么几个问题,请大伙注意

 beyond2003 回复于:2004-12-08 16:46:10
帮忙发一份 weimin_33@sina.com

 jlqidan 回复于:2004-12-08 22:19:31
还发吗?
jlqidan@yahoo.com.cn
谢谢!

 khinese 回复于:2004-12-11 17:54:35
还能要吗?
xinshimingda@yahoo.com.cn
谢谢!期待!

 mike_salon 回复于:2004-12-13 15:11:53
也给俺一份,谢谢!
mike_salon@163.com

 小鼠标 回复于:2004-12-14 10:24:14
也给我一份吧,谢谢了!doudou_yy@163.com

 yumiao007 回复于:2004-12-14 13:52:50
不错,我也要一份,yumiao888@sina.com.cn,
谢谢

 day_dream 回复于:2004-12-15 20:49:09
老贴新发

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网