我的 centos vps 需要交换内存吗?
它会提高性能吗?如果会,我该如何设置它?
我找到了这个链接(http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-swap-adding.html),但它显示了三种设置交换内存的方法。我不确定我需要哪一种。
图像(代表数量不足,无法嵌入):http://s15.postimage.org/manb5yu6j/Capture.png
答案1
交换是有益的,因为它允许将不活动的内存块写入磁盘,从而释放实际内存用于文件系统缓存等。交换还(在一定程度上)可以保护您免受短暂的内存需求激增的影响。Linux(默认情况下)会过度使用实际内存,这取决于大多数应用程序请求的内存量超过其实际需要,但如果它们突然都需要内存,则交换可以缓冲应用程序崩溃的情况。
长期使用交换而不是实际内存会降低性能,但在短期内,交换可以提高性能并防止某些故障情况。只有在极少数情况下,我才会不使用交换。
如果不知道您的 VPS 是如何配置的,就很难建议使用哪种方法来添加交换空间,但是,我对 VPS 的一般经验是您的磁盘空间已经被划分,因此我会使用选项 3(创建一个常规文件),它比使用逻辑卷效率低,但我不知道您是否可以在您的 VPS 上创建任何逻辑卷。选项 1 仅适用于扩展您显然没有的现有交换空间。
答案2
如果您租用了使用 Parallels Virtuozzo/OpenVZ 容器的虚拟机,那么您就无法拥有交换空间。该技术不允许容器拥有自己的交换空间,因为所有容器都使用共享内核.因此只有主机可以拥有交换空间。
讽刺的是,最新版本的 OpenVZ 有一个名为VSwap它不会真正为容器提供真正的交换空间,而是为其提供虚假的交换空间,如果容器使用它,则会减慢容器的速度以模拟使用交换的速度损失。当然,你还如果主机由于超额认购而开始交换,则速度会进一步减慢……
答案3
添加交换内存不会使其更快,但它确实允许您运行更多的应用程序。
如果您的应用程序开始使用足够的内存以致于您的交换空间被使用,您的系统将会明显变慢但至少不会崩溃,而如果您的 RAM 耗尽,最终就会发生崩溃。
看起来你有 5GB 的 RAM,我建议2GB在这种情况下交换文件。
另一件需要考虑的事情是,您使用的 VPS 通常具有较差的磁盘 I/O(取决于您的邻居),因此交换可能比专用机器还要慢。
答案4
如果正常内存使用量不足,则交换内存会发挥作用。假设您选择了 1GB RAM。如果正在运行的应用程序消耗了 1GB 内存使用量,则 SAWP 内存会发挥作用,它充当另一个 512 MB 或 1 GB 的虚拟 RAM