ここ数ヶ月、ブログの管理画面や更新・投稿など、反応が鈍くて、WordPress記事投稿では、CloudFlareを通してタイムアウトの症状も多発し、いわゆる重くなっておりました。
だいたい重くなる原因と言うと、WordPressのプラグイン関連やデータベースのMySQL関連による負荷が多いかと思います。
しかし、WordPressのプラグインを確認・削減、データベースの異常・最適化など試みても、ほぼ変化なしといったところでした。
参考記事
ちょっと、WordPressから外れて、Linux周辺を調べてみました。
ブログ運用に関するプログラムでは、私の環境では、Nginx、MySQL、php-fpm辺りが該当します。
こちら↓の記事を参考にさせていただきました。
nginx、php-fpm、MySQLの設定では、ほぼ改善されているので、変更する部分は見当たらず。
次に、記事内でも明記されていたSwap関連を調べてみました。
Swap解放では、こちら↓の記事も参考にさせていただきました。
Swapの調査
少し長くなりますが、Swapの調査
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 3801012 158216 41976 602180 1 1 34 26 2 1 4 0 95 1 0
1 0 3801012 157084 42288 602204 0 0 344 96 1581 446 34 1 61 4 0
1 1 3801012 149768 42452 602256 0 0 164 4 1259 354 24 2 66 8 0
1 0 3801012 128564 42552 602308 0 0 104 0 2180 789 43 5 48 4 0
2 0 3801012 121472 42552 602308 0 0 0 0 2036 1793 34 2 64 0 0
....
$ dstat -Tclmdrn Terminal width too small, trimming output. --epoch--- ----total-cpu-usage---- ---load-avg--- ------memory-usage-----> epoch |usr sys idl wai hiq siq| 1m 5m 15m | used buff cach free> 1504663417| 4 0 95 1 0 0|0.06 0.15 0.11|1097M 43.4M 591M 145M> 1504663418| 0 0 100 0 0 0|0.06 0.15 0.11|1097M 43.4M 591M 145M> ....
$ ps alx | grep mysql | awk '{printf ("%d\t%s\n", $8,$13)}'
292 /bin/sh
188836 /usr/libexec/mysqld
$ ps alx | grep php | awk '{printf ("%d\t%s\n", $8,$13)}' 71656 php-fpm: 72228 php-fpm: 976 php-fpm: 70352 php-fpm: 72296 php-fpm: 68900 php-fpm: 71432 php-fpm: 72216 php-fpm: 71704 php-fpm: 75012 php-fpm: 74500 php-fpm:
$ free -m
total used free shared buffers cached
Mem: 1876 1733 142 61 45 593
-/+ buffers/cache: 1095 781
Swap: 4031 3711 320
かなり、Swap領域が大量に使用されていました。
Swapの解放
# swapoff -a && swapon -a swapoff: /dev/mapper/vg_xxx1213uf-lv_swap: swapoffは失敗しました: メモリを確保できません
メモリに空きがないので、案の定、メモリを解放できません。
ブログ関連のプログラムを停止
# service stop mysqld # service stop nginx stop # service stop redis # service stop php-fpm
この後、再度メモリ解放を行ってみましたが、同様のエラーでswapoffが失敗
$ free -m total used free shared buffers cached Mem: 1876 1733 142 61 45 593 -/+ buffers/cache: 1095 781 Swap: 4031 3711 320
プログラムを停止してもメモリが足りないようなので、psやtopで更に調べてみたところ、アンチウイルスソフトのAVGが原因でした。
# service stop avgd
AVGを停止し、Swap解放を再度行う
# swapoff -a && swapon -a
# free -m
total used free shared buffers cached
Mem: 1876 715 1161 279 10 315
-/+ buffers/cache: 389 1487
Swap: 4031 0 4031
ようやく解放出来たようです。
ここのブログ環境では、さくらのVPS2Gプランなので、さすがに物理メモリ2GBでSwapに4GBを大量に使われていたのが原因のようで、ひとまずSwap問題は解決といったところです。
そろそろ、メモリ増強したいかも。
コメント