如何决定掉期大小

我想确定Swap分区的大小应该是多少。 很多地方都说交换大小应该是RAM大小的两倍。 有人还告诉我它不应该超过8 GB。如果RAM的两倍大于8 GB, Swap分区应该有多大?

来自SOURCE的摘录:( 请点击链接阅读来源获取更多信息)

无意义规则:服务器主系统RAM的两倍大小

根据OpenBSD FAQ :

许多人遵循旧的经验法则,您的交换分区应该是主系统RAM的两倍。 这条规则是无稽之谈。 在一个现代系统中,这是一个很大的交换,大多数人更喜欢他们的系统永远不会交换。 你不希望你的系统耗尽RAM +交换,但你通常宁愿在系统中有足够的RAM,所以它不需要交换。

红帽建议为RHEL 5设置如下:

实际情况是系统所需的交换空间量实际上并不是它所具有的RAM量的函数,而是该系统上运行的内存工作负载。 只要匿名内存和系统V共享内存的总和小于RAM的3/4,红帽企业Linux 5系统就可以正常运行,没有交换空间。 在这种情况下,系统将简单地将匿名和系统V共享内存锁定到RAM中,并使用剩余的RAM来缓存文件系统数据,这样当内存耗尽时,内核只回收页面缓存内存。

考虑到:

  1. 在配置交换空间的安装时,没有简单的方法来预先确定工作负载所需的内存,以及

  2. 系统具有的RAM越多,它通常需要的交换空间就越少,交换空间就越大

结论

如果Linux内核一次使用超过2GiB的交换空间,那么所有用户都会感受到热量。 或者,您获得更多RAM(推荐)并转向更快的存储以改善磁盘I / O. 没有规则,每个设置和配置都是唯一的。 根据您的要求调整值。 选择适合您的交换量。

我所知道的交换空间的唯一硬规则是1x RAM到Hibernate。 System Monitor或CLI free命令将告诉您使用特定硬件配置和使用模式的交换空间量。 有了2GB的RAM,我的系统很少使用任何交换空间,而且我从未见过超过.4GB。

交换不是你想要使用的东西。 这是你想要作为最后手段的东西,因为交换速度不快,而且速度很慢。 如果您使用的是1 GB的交换,那么您的系统响应速度会非常慢。

SWAP内存的重点是当可用内存不足时没有系统崩溃。 除非你真的需要,否则你不能将它作为额外的记忆或你真正想要使用的东西。

所以对于大小,我会说5 GB,但如果你真的做了很多使用大量内存的东西,那么你最多可以达到8 GB。 但实际上如果你开始使用超过1 GB的交换,就开始查杀进程了。 所以你不要崩溃。

通常你不想(也不应该)使用那么多的交换,所以是的,超过8 gb似乎很多。 我的桌面上有8 GB的RAM和8 GB的交换,我认为我没有使用超过1 GB的交换。 2x规则对于少量RAM是有意义的,但是对于~6 + gb的RAM来说它有点疯狂。

当然这取决于你用电脑做什么……