|
本帖最后由 0cean 于 2011-9-17 18:52 编辑
+ R# T- ^* v! |. e/ l
3 y& N4 D, f# t% lWebOS是一个以linux为核心的嵌入式操作系统,以下讨论建立在linux基础上。
d8 L6 |4 M( k5 o5 h% ^2 I4 h5 I7 pSwap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap空间中,等到那些程序要运行时,再从swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行swap交换。
: d9 g5 j# Q9 K# w6 t$ N7 m关于linux下swap增大是否会让系统运行更流畅,网上看到的资料中,在一份讨论邮件中:
* Q6 ]5 A0 f/ }/ r: s Linus明确的说明了,在Linux2.4.x中,内存管理(MM)策略的改变。就如 Windows98向Windows2000转变一样,微软在内存和交换区中保存了更多的脏页,而不是及时回收内存,大幅提高了系统的效率。(见 Widnows核心编程第18章的论述)。
* j2 Q6 z; r+ ^) {+ H o% j# i 那么,swap是不是必须的?很多人认为是,其实,普通意义上所谓的swap是内存的2倍只是一个给新手使用的经验值,实际使用swap的大小是根据程序对内存使用状况需要调整的。如果机器在运行时对内存的需求量不大,就没有必要要swap。; P& S2 u1 R6 A, P, H
Palm Pre的内存是256M,这点内存仅够加载系统,开机后即占用230M左右,即使通过精简掉一些程序也降低不了多少内存占用,所以swap空间对程序运行有很大影响。
: ^3 r: T+ c1 n8 l# k WebOS2.1官方rom的swap空间大小是106M,在palm pre上测试发现,在随意运行了七八个程序后,查看系统swap占用,可看到已使用70M,随后几分钟会达到swap最大值106M,接下来系统运行会非常缓慢,响应时间变长。- |. q/ p% \# J
2 a, S/ v0 C. } Swap空间越大越好吗?为什么官方开发人员没有把swap分区设置大一些?当然不是越大越好,太大的swap 空间会造成kernel 以为有巨大的内存空间而毫不节制的想要把数据捉进内存中,从而导致kernel 一直在做memory swap,拖慢系统。个人认为官方人员基于pre plus的512M内存的硬件制作的webOS2.1 rom,在pre plus内存较大的情况下可能更多的考虑的是swap过大会拖慢系统,而对于pre用户本身内存不足,系统运行缓慢的情况下,增大swap会对pre的运行速度有一定改善。
* w# j! _9 e! ?' G/ K: A / D% z% \! i5 J/ Y6 f0 W
ps:来论坛多年了,一直作为潜水党和伸手党,无以回报无私分享的各位版主,论坛网友,在此感谢各位网友,版主, 寂夜清风,吹友吧,奔迈公司 ,惠普公司,中国电信,ccav。又矫情了一回 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
|