

LightsailのWordPress@BitnamiインスタンスでElementorを入れて固定ページを組んでいるとメモリ消費量が著しく、いつの間にかElementor編集画面を開くだけで数百MBとか、編集画面を保存するとGB単位でメモリを消費するようになっていてインスタンスがハングアップするようになった。
当初、最も小さいインスタンスで十分だったが、メモリだけきつくてだましだましで10USDコースまで引き上げたがまだまだ足りない。この調子ではいくらスケールアップしても安心できない。
Elementorがメモリ食いというのは検索すると情報はあるものの、セーフモードとか再起動とか根本的な対策を探し当てることができず、自力でも何に喰っているのか分からずお茶を濁したロードマップ。
試してみたこと
メモリを食いそうな要因についてダイエットを試したがいずれも芯を食ってない。
- 画像のサイズ縮小、圧縮、パララックス解除 → 効果小
- 投稿一覧ウィジェットを削除 → 効果小
- js実装削除 → 効果なし
- 未使用のプラグインをお掃除 => 効果なし
結論
メモリがスパイクするのはElementor編集している時だけなので、編集時のスパイクをSwapfileで凌ぐ。
通常のページ閲覧は物理メモリで十分賄えているのでパフォーマンスに影響はない。
sh
# Swap領域がない状態
free
total used free shared buff/cache available
Mem: 1994048 1204604 625100 56884 164344 603616
Swap: 0 0 0
# 2GBのswapfileを作成して0埋め
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# パーミッション設定
sudo chmod 600 /swapfile
# スワップ領域として設定
sudo mkswap /swapfile
# スワップファイルを有効化(マウント)する
sudo swapon /swapfile
# 起動時にswapfileを自動的にマウント
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# swapfileとして認識されたこと
free
total used free shared buff/cache available
Mem: 1994048 1204604 625100 56884 164344 603616
Swap: 2097148 214272 1882876