我目前正在运行一个ec2微实例,我发现实例偶尔会内存不足。

除了使用更大的实例大小,还可以做什么?


当前回答

您可以使用以下脚本在Amazon Linux上添加交换。

https://github.com/chetankapoor/swap

使用wget下载脚本:

wget https://raw.githubusercontent.com/chetankapoor/swap/master/swap.sh -O swap.sh

然后按照如下格式运行脚本:

sh swap.sh 2G

要获得完整的教程,您可以访问:

https://installvirtual.com/shell-script-to-create-swap/

其他回答

如果你在t2个实例上(t2。微,t2。Medium, t2.small),没有可用的临时存储或实例存储。因此,您只需要在EBS中创建交换,这取决于您的用例,可能是一个好主意,也可能不是。 否则,请遵循@David的回答,并在临时存储上创建交换,以避免支付EBS成本。

更多信息:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html有一个表,显示了每个实例类型有多少临时存储。

试试swapspace http://pqxx.org/development/swapspace/

大多数发行版都打包了它。

在EC2上,您可能希望将“swappath”更改为/mnt或高iops磁盘。

我们可以在任何服务器中添加交换空间

使用dd命令创建文件

 #dd if=/dev/zero of=/swapfile bs=1M count=2048
                    or
 #dd if=/dev/zero of=/swapfile bs=1024M count=2

bs为块大小,count为MB或GB大小

反之亦然

创建后修改文件权限:

 #chmod 600 /swapfile 

然后交换文件:

 #mkswap /swapfile 

然后使用swapon命令启用交换文件:

 #swapon  /swapfile 

使用free命令检查是否启用swap:

 #free -h
 #swapon -s

在应用ajtricards提到的步骤之后,您可以使用这个命令检查您的amazon free tier实例是否正在使用swap

cat /proc/meminfo

结果:

ubuntu@ip-172-31-24-245:/$ cat /proc/meminfo
MemTotal:         604340 kB
MemFree:            8524 kB
Buffers:            3380 kB
Cached:           398316 kB
SwapCached:            0 kB
Active:           165476 kB
Inactive:         384556 kB
Active(anon):     141344 kB
Inactive(anon):     7248 kB
Active(file):      24132 kB
Inactive(file):   377308 kB
Unevictable:           0 kB
Mlocked:               0 kB

SwapTotal: 1048572 kB

SwapFree: 1048572 kB

Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148368 kB
Mapped:            14304 kB
Shmem:               256 kB
Slab:              26392 kB
SReclaimable:      18648 kB
SUnreclaim:         7744 kB
KernelStack:         736 kB
PageTables:         5060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1350740 kB
Committed_AS:     623908 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7420 kB
VmallocChunk:   34359728748 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB

您可以使用以下脚本在Amazon Linux上添加交换。

https://github.com/chetankapoor/swap

使用wget下载脚本:

wget https://raw.githubusercontent.com/chetankapoor/swap/master/swap.sh -O swap.sh

然后按照如下格式运行脚本:

sh swap.sh 2G

要获得完整的教程,您可以访问:

https://installvirtual.com/shell-script-to-create-swap/