我目前正在运行一个ec2微实例,我发现实例偶尔会内存不足。
除了使用更大的实例大小,还可以做什么?
我目前正在运行一个ec2微实例,我发现实例偶尔会内存不足。
除了使用更大的实例大小,还可以做什么?
当前回答
在应用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
其他回答
我们可以在任何服务器中添加交换空间
使用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
试试swapspace http://pqxx.org/development/swapspace/
大多数发行版都打包了它。
在EC2上,您可能希望将“swappath”更改为/mnt或高iops磁盘。
你可以用下面的命令给你的实例添加一个1gb的交换空间:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo mkswap /swapfile
sudo swapon /swapfile
为了在重启后默认启用它,将这一行添加到/etc/fstab:
/swapfile swap swap defaults 0 0
解决这个问题的方法是向实例添加交换(即分页)空间。
分页的工作原理是在你的硬盘驱动器上创建一个区域,并使用它作为额外的内存,这个内存比正常的内存慢得多,尽管它有更多的可用内存。
要将这个额外的空间添加到你的实例,输入:
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1
如果您需要超过1024,则将其更改为更高的值。
为了在重启后默认启用它,将这一行添加到/etc/fstab:
/var/swap.1 swap swap defaults 0 0
在应用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