樱家冢 发表于 2005-4-2 00:23:37

[讨论]SWAP到底应该有多大?

不考虑作为服务器的问题,因为基本上也没有人用Magic做服务器。
那么,以个人应用而言,SWAP到底应该分多大?发现很多初学者都会被告知要分出物理内存的1-2倍大的SWAP分区,这是否真的有其必要?考虑到现在使用512M甚至1G内存的大有人在,如果需要分两倍大的SWAP,这其中的空间浪费是很大的。
在以前,SWAP仅仅只有128M,并且不可以分得更大,如果需要更大的SWAP,只能用分多个SWAP的方式来实现,当然,这是当时客观条件限制导致的,并非不需要大的SWAP,而是只能那么大。
但是,由于Linux采用尽量多占用内存,并把暂时不需要使用的内存作为磁盘缓存来用的追求性能最大化的策略,它先天的比Windows要更少的依赖于虚拟内存(交换空间),只有当物理内存耗尽的情况下,Linux才会使用SWAP分区,这也是很多人在查看内存使用的时候发现SWAP几乎没有被使用到的原因。
在目前大内存(当然这是相对的,在比尔·盖茨发表计算机只需要640KB的内存的谬论的时候,1M内存是巨大的)相当普及的情况下,我们完全没有必要划分出512M甚至1G这么大的SWAP空间,以我而言,我使用512M内存,划分了256M的SWAP空间,在日常使用中可以看到SWAP基本没有被用到,最多的时候也从来不曾超过30%,如果不是喜欢开着一堆窗口的狂人的话,我相信,256M甚至是128M的SWAP已经足够了。
相反的,当你的内存相当小的情况下,比如128M,你可能更需要大的SWAP空间,虽然一般的书上仅仅建议你划分1.5-2倍的空间,但是这是基于什么样配置的机器跑什么样的程序的常理而言,而目前Linux下软件的发展应该已经超出128M的机器的能力了,如果再不划分更大的SWAP的话,这样的机器跑起来就更捉襟见肘了。

所以,我的意见和一般书上的讲法恰恰相反,在桌面应用环境下,使用大内存的人可以使用较小的SWAP如256M甚至是128M的SWAP,而是用小内存的人反而需要更大的SWAP,如512M等等。
今夜大放厥词,如有不当,敬请大家拍砖。

connor 发表于 2005-4-2 00:39:40

同感。

我的内存192(本来可以256的,一条插槽坏了),给SWAP分区380M。查看SWAP分区的使用率,最多就用了40%不到。个人觉得LINUX的内存使用机制导致程式反应不快。不知是否我的内存太少了?

ajinn 发表于 2005-4-2 01:07:53

建议顺便讨论一下swap的工作原理,至于大小大家自己拿主意
swap好像算虚拟存储器吧,跟内存好像有什么映像关系,所以一般就是成正比,
要是内存足够大,也可以不用虚拟
偶是这么理解的

turingcat 发表于 2005-4-2 11:04:06

我512M内存,基本用不到swap分区

baif 发表于 2005-4-2 11:39:27

你做个800MB的ISO试试,或许会用得到。

limit 发表于 2005-4-2 12:04:33

以前一般分给SWAP1G的空间:evil:
但是这次没有1.2F的时候,我没有分给她SWAP:evil:
因为用不上 :x

ps,我是一般同时开着二十来个窗口的狂人:evil:

superpig 发表于 2005-4-2 14:13:40

我的服务器一台内存4G、一台内存2G,自己台式机和其中一台笔记本都是512M。
除了服务器的交换分区大概在2G左右外,台式机和笔记本的交换分区都是512M,经过我的观察,一般情况下台式机和笔记本的交换分区没有怎么用到过!

樱家冢 发表于 2005-4-3 01:19:00

嗯嗯,看来结论很明显了,呵呵。

lophyxp 发表于 2005-4-9 19:37:11

还是设大点好,SWAP到用时方恨少。
如果SWAP满的话会造成短时间内CPU、硬盘疯狂工作,然后某个程序会被关闭。

winme 发表于 2005-4-9 19:45:22

我内存256M,分了16M给显卡,SWAP 512M
一般情况SWAP被使用了一半。

樱家冢 发表于 2005-4-9 22:15:43

还是设大点好,SWAP到用时方恨少。
如果SWAP满的话会造成短时间内CPU、硬盘疯狂工作,然后某个程序会被关闭。
。。。。。。
所以说内存大的话就可以小点,内存小当然要大咯。

tip2002 发表于 2005-4-10 11:10:05

是啊,平时用的时候发现SWAP不会到100M
我内存是512的,有时在用大程序发现SWAP也不会用很多,

看来我设SWAP为512,太浪费了,下次分少点

lockfan 发表于 2005-4-11 13:05:59

和WIN下的页面文件应该是一回事儿,有2G内存时没有SWAP也无所谓,还省去了HD的读写步骤,对HD也有好处(难不成这时的SWAP要4G!?偶可没那么多HD空间...)
我的512内存从1.1F一直到1.2B4都没有分过SWAP,用WINEX玩WAR3也照样很流畅
现在分了一个512的SWAP,看电影+编译+BT+网页也才刚把物理内存用完的说,SWAP还是0/512……
还是要量体裁衣,根据个人情况设置

linky_fan 发表于 2005-4-11 16:02:50

如果使用Software Suspend 2 的话, swap应该为实际内存的3倍(用于存放内存的映象).
这个对本本来说实用些, 台式机还是免了吧 :wink:

樱家冢 发表于 2005-4-11 16:50:51

两倍就可以了吧? :?:
页: [1] 2
查看完整版本: [讨论]SWAP到底应该有多大?