大多数Linux安装建议您包括SWAP分区。对于习惯将整个操作系统都放在一个分区上的Windows用户而言,这似乎很奇怪。
那么SWAP分区有什么用,您甚至需要一个分区,它应该有多大?这些都是重要的问题,只要有正确的答案,就能严重改善系统的性能。
内存溢出
这听起来像是增加可用内存量的简便方法没有实际获得更多的RAM,但是事实并非如此。 RAM是理想的内存存储设备,因为它的运行速度非常快,而相对而言,硬盘驱动器则非常慢。固态驱动器的到来已经大大提高了速度,对性能的影响不大,但即使它们无法匹配RAM,而且,您也不想在固态驱动器上造成额外的磨损。
与SWAP分区最接近的类比是Windows的页面文件,尽管两者之间存在许多技术差异。
优先级排序
SWAP分区也可以提供帮助将某些项目从内存中移到硬盘驱动器,以便为更重要的项目留出更多空间。这意味着很少接触的项目将移至SWAP分区。
“稀有"的阈值取决于“灵活性"(是的,这是实际使用的术语),即是可配置的。较高的交换性意味着项目更有可能被移至SWAP分区;较低的可交换性意味着项目不太可能移动到SWAP分区。
启用休眠状态
最后,只要您告诉SWAP分区,它就会用作内存内容的目的地您的系统进入休眠状态。这意味着没有SWAP分区,Linux上的休眠是不可能的。
当然,对于用户来说,使用休眠功能实际上很少见,因此对您来说可能并不重要。
优点:
缺点:
什么? SWAP分区并不总是有助于提高性能吗?让我解释一下这样的情况:拥有一个SWAP分区实际上比没有一个更糟糕。
我在一台只有1GB内存和5400rpm硬盘的上网本上安装了Linux。只有1GB的内存,您可以想象它可以用几个打开的浏览器选项卡很快填满。 SWAP分区使我可以保持它们全部处于打开状态,因为内存溢出只是发生了。
但是由于硬盘驱动器的5400rpm速度,出现了瓶颈。由于硬盘驱动器太慢,并且系统一直希望访问SWAP分区,因此上网本变得非常缓慢,以至于除非我关闭所有内容以释放一些内存,否则上网本几乎无法使用。
设置的交换性不能保证即使内存中现在有空间,SWAP分区中的所有内容也将移回。取而代之的是,许多内容将保留在SWAP分区中,从而导致上网本继续呆滞。这只能通过重新启动来解决,无论如何都要花一些时间,因为系统必须在关闭前从SWAP分区中删除所有内容。
建议
所以,这就是我的建议:
更改Swappiness
您输入的值表示您何时希望Linux开始主动将进程从内存移动到SWAP分区。因此,例如,值为10表示在内存使用率达到90%时将移动进程; Ubuntu中的默认swappiness值为60,表示在内存使用率达到40%时将移动进程。
还有很多其他细节,但这只会使事情更加混乱。
结论
SWAP分区可以对系统性能产生重大影响-有时会变得更好,有时会变得更糟。既然您已经受过良好的教育,那么您应该能够做出正确的决定。
是否正在寻找其他方法来加速Linux系统?查看其他四个快速简便的技巧。
您对SWAP分区有何了解?您认为它们值得使用吗?在评论中让我们知道!
标签: