😇
メモリをケチったRocky9でdnf install すると終わる件
状況
さくらのVPS(メモリ1G)でRocky Linux 9をインストールし、certbotを入れようとepel-releaseをインストールし、dnf updateって打ったらシェルのレスポンスがなくなった。
コントロールパネルから再起動するしかなくなった。
原因究明
/var/log/yum.log
2024-07-02T23:51:04+0900 DEBUG repo: downloading from remote: epel
2024-07-02T23:51:04+0900 DEBUG Failed to retrieve a default SELinux context
2024-07-02T23:51:04+0900 DEBUG Failed to set default SELinux context to "system_u:object_r:rpm_var_cache_t:s0"
2024-07-02T23:51:04+0900 DEBUG countme: no event for epel: budget to spend: 1
SELinuxはデフォルトでdisabledだから関係が無い。
昨今、設定一つでこういったおかしい挙動があるならすぐバグ報告されるはずだが見つからず、おそらくdnf自体のバグではない。
となると、メモリをケチってるのが原因か?でも普通スワップに落ちるから。。。と思って
freeで見てみると
# free
total used free shared buff/cache available
Mem: 787464 230468 324328 288 356612 556996
ふーん、SWAP存在してないじゃん。
ということでとりあえず2GBのSWAP領域を作ってマウント、再起動したらepel-release有効のままdnf install snapできました。
/var/log/messages
Jul 3 03:57:24 b4ch1-sakuravps-002 kernel: Out of memory: Killed process 776 (dnf) total-vm:751864kB, anon-rss:605832kB, file-rss:16kB, shmem-rss:0kB, UID:0 pgtables:1364kB oom_score_adj:0
Jul 3 06:44:44 b4ch1-sakuravps-002 kernel: out_of_memory+0xed/0x2e0
でもこれ、コマンド打ったときには出てないんだよな(おそらくdnf定期実行時のOOM)
Discussion