さくらのVPSでメモリ枯渇

centos9を動かしているさくらのVPSにsshしてdnfしたらsshが切れる。

調べてもそんな例は見当たらない。何度やっても、どこからつないでも切れるのでコンソール(さくらの管理画面から)につないでdnfしてみたら、物騒なメッセージが出ていた。


# dnf update

[25559685.849171] dnf invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0

[25559685.852614] CPU: 1 PID: 2780910 Comm: dnf Not tainted 5.14.0-252.el9.x86_64 #1

[25559685.853720] Hardware name: Red Hat Linux KVM, BIOS 0.5.1 01/01/2011

[25559685.854759] Call Trace:

[25559685.855521]  <TASK>

(以下略)


oom-killer?

検索してみるとメモリ枯渇の時に出るようだった。

freeを実行してみるとSwapが0 ... ?


# free

               total        used        free      shared  buff/cache   available

Mem:          986668      393268       63280        2956      671788      593400

Swap:              0           0           0


freeなんていつも見ないので、この状態が異常なのか普通なのかわからない...

メモリ不足ということはなんか余計なものが動いているのだろうと思い、メモリを多く使用しているプロセスを確認するコマンドを調べて実行した。

ps aux --sort rss

試しにzabbixをインストールしたときに動かしたが使っていないmariadbだのsnmpdだのが多くのメモリを使っているようだったのでそれらを停止、アンインストールした。

dnf updateができるようになった。

が、よく見るとupdateでzabbixのモジュールを更新しようとしている。


もうzabbixはいらないのに。調べると、リポジトリ置き場(/etc/yum.repos.d)に「zabbix」のついたものがある。

ほかにもいろいろ入っている。これらは何かをインストールするときに「これを追加する」と書いてあるのをそのまま鵜呑みにして追加してそのままになっていたものだ。zabbixなんとかを名前を変えて消す。

などやって、freeを見ると、空き領域は増えたようだ。

swapは相変わらずゼロ。多分、swapを使っていないのだろう。

これはどうかと思うが、とりあえず、今回はok


# free

               total        used        free      shared  buff/cache   available

Mem:          986668      332612      416868        4788      412608      654056

Swap:              0           0           0


ちなみに私が使っているサーバのメモリは1Gである。

さくらのVPSはなんだかんだで10年くらい使っているだろうか?そんな古くない?

今調べたらさくらがVPSを提供開始したのは2010年とある。わたしはレンタルサーバを使っていて、これはいいと思ってすぐ使い始めた覚えがあるのでやはり10年以上使ってきた。

でもメモリの不足を感じたことは一度もなかった。

スケールアップしようかな...

それよりswap設定の方が先か...