Oracle Cloud(OCI)にある無料枠(Free Tier)、x86_64ベースのやつはメモリが1GBとなっている。
Oracle Linux 7時代は特に問題なかった。
Oracle Linux 8も最初は特に問題なかったのだが、最近、dnfコマンドを実行するとOOM Killerでプロセスが殺されることが増えてきた。
Oracle Linux 9になると、OOM Killer発動するまで長時間かかりdnfコマンドの応答が返ってこないままフリーズしてるようにみえる、という状況が続く、というなかなかめんどくさいことになっていた。
Oracle Linux 9でtopコマンド実行しながら、dnf updateを実行して観察していると、レポジトリのファイル容量が80MBを超えているとdnfコマンド内部処理中にswapが1000MB以上使われているというのが見えた。
インスタンスとしては3GB~4GBぐらいのスワップ領域があるとよさそう、という感じである。
で、運用している環境で起きたりおきてなかったりするのはなぜなんだろう?と各インスタンスの設定状況を調べていくと、swap領域の設定がOCIイメージの作成時期によって違う、というめんどくさい状態であることが判明した。
特にOracle Linux 8の容量のかわりようが結構謎である・・・
ディストリビューション | OCIイメージ名 | swap容量 | swap path |
Oracle Linux 7 x86_64 | Oracle-Linux-7.7-2019.08.28-0 | 8G | /dev/sda2 |
Oracle Linux 7 x86_64 | Oracle-Autonomous-Linux-7.8-2020.05-0 | 8G | /dev/sda2 |
Oracle Linux 8 x86_64 | Oracle-Linux-8.7-2023.01.31-3 | 1.9G | /.swapfile |
Oracle Linux 8 aarch64 | Oracle-Linux-8.3-aarch64-2021.05.12-0 | 4G | /.swapfile |
Oracle Linux 8 aarch64 | Oracle-Linux-8.4-aarch64-2021.10.25-0 | 8G | /.swapfile |
Oracle Linux 8 aarch64 | Oracle-Linux-8.5-aarch64-2022.03.17-1 | 4G | /.swapfile |
Oracle Linux 8 aarch64 | Oracle-Linux-8.6-aarch64-2022.05.30-0 | 4G | /.swapfile |
Oracle Linux 9 x86_64 | Oracle-Linux-9.3-2024.04.22-0 | 948M | /.swapfile |
Oracle Linux 9 x86_64 | Oracle-Linux-9.4-Minimal-2024.07.29-0 | なし | なし |
で、状況を総合的に考えると、Oracle CloudのFree TierでRHEL8.x/9.x系を使う場合は、swapを4GB確保していくべき、と判断でき、その運用を行っています。
2024/09/26 追加
Oracle Linux 9 Minimalで構築したところ、こちらはなんとswapなし設定でした。