AWS EC2 (t1.micro) のメモリがいっぱいの人はSwap領域を作成しよう

AWS EC2 (t1.micro) のメモリがいっぱいの人はSwap領域を作成しよう:


AWSの脆弱サーバの余ってるHDD領域を有効活用しよう

自分の趣味でやっているwordpressのサイトのメモリがいっぱいになってmySQLがガンガン落ちて全くつながらないのでなんとかした件のまとめ。

ここではAWSのEC2 t1.microという非常に弱い&安いサーバでの運用。


ユーザーの切り替え

[ec2-user@ip-**-134-***-183 ~]$ sudo su 
[root@ip-**-134-***-183 ec2-user]# 
ec2-userでログインはするものの、rootユーザーに切り替えましょう。

接続後にIP出てたから一部伏せ字。


メモリの容量確認

[root@ip-**-134-***-183 ec2-user]# grep Mem /proc/meminfo 
MemTotal:         550440 kB 
MemFree:           75476 kB 


Swapの容量確認

[root@ip-**-134-***-183 ec2-user]# grep Swap /proc/meminfo 
SwapCached:            0 kB 
SwapTotal:             0 kB 
SwapFree:              0 kB 


メモリの利用状況

[root@ip-**-134-***-183 ec2-user]# free 
             total       used       free     shared    buffers     cached 
Mem:        550440     543724       6716          0      14936     105952 
-/+ buffers/cache:     422836     127604 
Swap:            0          0          0 
メモリのfreeなさすぎワロタw


ディスクの利用状況

[root@ip-**-134-***-183 ec2-user]# df 
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置 
/dev/xvda1            51606140  31917732  19604552  62% / 
tmpfs                   275220         0    275220   0% /dev/shm 
半分は超えてるけど、使う枠はいっぱいある。。。


そうだ、Swap領域を作ろう

[root@ip-**-134-***-183 ec2-user]# fallocate -l 4G /swapfile 
fallocate が楽だった。
dd if=/dev/zero of=/swapfile bs=1G count=512 とかでも良いんですが、なんかオプションいくつもあってよくわからんので調べるの面倒だし、fallocateで作っちゃいました。

[root@ip-**-134-***-183 ec2-user]# chmod 600 /swapfile 
rootのみが読み書き。他は除外するpermissionを設定。

[root@ip-**-134-***-183 ec2-user]# mkswap /swapfile 
スワップ空間バージョン1を設定します、サイズ = 4194300 KiB 
ラベルはありません, UUID=4ee87db1-055a-4864-99ce-c4f96665d300 
作った。

UUIDは適当に発行されるけど今回は特に必要としてないのでどうでもよい。

[root@ip-**-134-***-183 ec2-user]# swapon /swapfile 
[root@ip-**-134-***-183 ec2-user]# swapon -s 
Filename                Type        Size    Used    Priority 
/swapfile                               file        4194300 211328  -1 
swapon ファイル名でswap領域をアタッチする。
swapon -sで状況を調べて、なにかしら表示がされるはず。 


Swapの容量を再度確認(ちゃんと付いたかな?)

[root@ip-**-134-***-183 ec2-user]# grep Swap /proc/meminfo 
SwapCached:         3704 kB 
SwapTotal:       4194300 kB 
SwapFree:        3987632 kB 
最初の方でやったgrep Swapでもいいし、

[root@ip-**-134-***-183 ec2-user]# free 
             total       used       free     shared    buffers     cached 
Mem:        550440     426864     123576          0      20812      69872 
-/+ buffers/cache:     336180     214260 
Swap:      4194300     211564    3982736 
freeなどで調べてSwapが0じゃないことを確認すればOKです。


余談:Swapの破棄

[root@ip-**-134-***-183 ec2-user]# swapoff /swapfile 
[root@ip-**-134-***-183 ec2-user]# rm /swapfile 
swapoffして削除するだけ。


結論

強いEC2インスタンスを用意するのがいい。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)