如何优化Linux交换空间使用?

日期: 2010-09-08 作者:Sander van Vugt翻译:Mark 来源:TechTarget中国 英文

Linux用户中,很多人对交换空间感到困惑。到底需要多少?有什么方法可以优化它的使用呢?   Linux系统默认地会给你的计算机分配一些交换空间。有些使用者认为需要给计算机分配相当于RAM两倍的交换空间。但是情况并非如此,Linux只会使用那些它真正需要的交换空间。

因此,在许多情况下,甚至对一些较忙的游戏服务器来说,1GB的交换空间足够。   对那些交换速度慢的现象有一个很好的解释。当RAM用光的时候,Linux才会开始使用交换空间。这时,你会马上注意到RAM已经用完了。

正常运行的程序会突然变的慢下来。那是因为在你的计算机硬盘上会效仿RAM来划出一块区域作为交换空间使用,但是计算机硬盘的读写速……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Linux用户中,很多人对交换空间感到困惑。到底需要多少?有什么方法可以优化它的使用呢?

  Linux系统默认地会给你的计算机分配一些交换空间。有些使用者认为需要给计算机分配相当于RAM两倍的交换空间。但是情况并非如此,Linux只会使用那些它真正需要的交换空间。因此,在许多情况下,甚至对一些较忙的游戏服务器来说,1GB的交换空间足够。

  对那些交换速度慢的现象有一个很好的解释。当RAM用光的时候,Linux才会开始使用交换空间。这时,你会马上注意到RAM已经用完了。正常运行的程序会突然变的慢下来。那是因为在你的计算机硬盘上会效仿RAM来划出一块区域作为交换空间使用,但是计算机硬盘的读写速度会比RAM慢1000倍。

  在你启动计算机的那一刻,其它系统都会习惯性地开启数据交换,而Linux系统知道对于计算机的运行来说,交换空间没有任何好处,如果计算机的RAM几乎用光了,它就会很正常地开启数据交换。在这种情况下,“几乎”就是参考着这个系统文件(/proc/sys/vm/swappiness)来调整。在这个文件中,你指定一个值来标志计算机数据交换的大小。这个值越大,数据交换就越快。所以如果你想让这个计算机数据交换更快的话,就把这个默认值60改的更大一些(最大设为100)。作为proc下面的这个接口文件,你不能直接写它,你可以通过使用echo命令映射一个新值进去。例如:echo 80 > /proc/sys/vm/swappiness。

  计算机在重新启动之后,如果你想让新的数值可用的话,要确保sysctl服务打开,并且在这个文件中/etc/sysctl.conf是包括这个数值的。

  在多数情况下它都正常运行,如果你把交换空间的值分配得很小,在RAM用完后,只有你加大这个值,才能确保你的服务器能够继续运行。对于这种情况,1GB或2GB就足够了。

交换空间使用的例外

  对于交换空间有一些例外。首先是在笔记本电脑上。作为一个笔记本电脑用户,你想要看到一些对休眠的支持。为了使计算机休眠,你需要把当前的数据写入RAM。所以在RAM中,对于休眠的维护,至少需要更多的数据交换,对于服务器来说这不是一个问题。

  服务器上的问题是,应用程序有自己的方法来交换空间。两个著名的例子是SAP和Oracle。这些应用程序需要相当于1.5倍RAM的交换空间。所以,一个RAM有16GB的平均文件服务器只要有2GB的交换就可以运作良好,Oracle服务器具有16GB的RAM将需要默认24GB的交换。对于这些应用程序,确保您是按照应用程序本身的建议执行。

  如果你的确需要在计算机上做许多数据交换,那么你必须满足交换空间的负载平衡。这意味着对于不同的存储设备设置不同的交换空间是很有必要的。Linux内核将会自动对这些不同的存储设备之间做到负载平衡,这将使数据交换运行的更好。如果某一个存储设备提示需要运行更快的话,在从/etc/fstab挂载它时,你可以通过设置优先级来满足需要。这么做的话,当挂载它时使用prio=nn选项;数字加的越高,对于设备的优先级就越高。

结论

  在现代服务器中有许多RAM,人们多数情况下会忽略交换空间。然而,对于一些应用程序来说,交换空间对于计算机的运行仍然很重要,现在你意识到与默认分配的交换空间相比较,添加更多的交换空间是很有道理的。

相关推荐