Linux用户中,很多人对交换空间感到困惑。到底需要多少?有什么方法可以优化它的使用呢? Linux系统默认地会给你的计算机分配一些交换空间。有些使用者认为需要给计算机分配相当于RAM两倍的交换空间。但是情况并非如此,Linux只会使用那些它真正需要的交换空间。
因此,在许多情况下,甚至对一些较忙的游戏服务器来说,1GB的交换空间足够。 对那些交换速度慢的现象有一个很好的解释。当RAM用光的时候,Linux才会开始使用交换空间。这时,你会马上注意到RAM已经用完了。
正常运行的程序会突然变的慢下来。那是因为在你的计算机硬盘上会效仿RAM来划出一块区域作为交换空间使用,但是计算机硬盘的读写速……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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,人们多数情况下会忽略交换空间。然而,对于一些应用程序来说,交换空间对于计算机的运行仍然很重要,现在你意识到与默认分配的交换空间相比较,添加更多的交换空间是很有道理的。
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。
-
关于apt-get:非Linux管理员应该知道的那些事
Apt-get是广泛应用在Unix和Linux系统中的应用程序管理器,Windows和Linux管理员也可以受益于其功能。