當我啟動 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,速度會很快。
但是,如果您需要更多內存並且沒有主動交換一點虛擬內存,則可以幫助您在較小的虛擬機器上運行更多軟體。我運行具有 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