是否应该在 AWS EC2 上启用虚拟内存?

是否应该在 AWS EC2 上启用虚拟内存?

当我启动 EC2 实例时,我注意到虚拟内存未启用。

$ free
             total       used       free     shared    buffers     cached
Mem:       1017260     344956     672304         60     141252     136976
-/+ buffers/cache:      66728     950532
Swap:            0          0          0

而在典型的 Linux 安装中,它会默认创建交换分区。为什么默认情况下 EC2 上不启用虚拟内存?还是我的 EC2 获得的内存已经是部分物理内存/部分交换内存?

答案1

我认为除非你需要,否则你不应该启用虚拟内存。对于大多数实例,你的 EBS 磁盘跨网络且相对较慢,因此如果你进行大量交换,它会减慢你的服务器速度。如果你有一个实例磁盘,机器内部有一个 SSD,那么它会非常快。

但是,如果您需要更多内存,并且它没有主动交换,那么一点虚拟内存可以帮助您在较小的 VM 上运行更多软件。我运行一个具有 512MB RAM 和 512MB 交换的 t2.nano,它运行良好。有了它,我可以毫无问题地运行 Nginx、PHP 5.6、MySQL 和一些实用程序。

我有一个关于如何向我的实例添加交换空间的教程这里

这是我的服务器内存设置

[ec2-user@aws ~]$ free
             total       used       free     shared    buffers     cached
Mem:        500984     458016      42968     118864      13164     171068
-/+ buffers/cache:     273784     227200
Swap:       524284     141252     383032

相关内容