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

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,人们多数情况下会忽略交换空间。然而,对于一些应用程序来说,交换空间对于计算机的运行仍然很重要,现在你意识到与默认分配的交换空间相比较,添加更多的交换空间是很有道理的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值