昨日更新した FreeBSD/amd64 13.2 の不具合レポート第三弾。
13.2 に上げてから、次々に 12.4 時代と異なる症状が発生中。これが何によるものか切り分けできておらず、12.4 に戻したくなっているところです。
今回の異常現象は、気付くとスワップ領域が 50% を越えていたこと。
確かに過去に何度もスワップ領域を 50% 以上使用する状況は発生しました。たいていは再起動から1か月以上時間が経過していたり、MySQLがデータをアップデートしている最中だったりと、納得行くタイミングだったので気にしませんでした。
しかし今回は再起動から24時間経過していない!何がメモリを食ってる?
13.2 で新しくなった systat/swap 画面を見てみると、、、、
おい!
そのsystat 自身が、スワップを喰らっていた!なぜ、swap表示程度のジョブがメモリを数GB使う?
勘弁してほしいわ。
さて、本当にスワップ表示画面がメモリを喰らっているのかどうか知るために、対象のターミナルエミュレータを見つけて systat を終了し、スワップサイズを確認したところ 10%以下に戻りました。犯人は systat で確定。サブコマンドの swap かどうかは不明です。
発生状況ですが、昨日、サーバーを再起動した直後から systat で swap 表示させていました。約24時間後に気が付いたとき、スワップサイズが50%を越えていたというわけ。表示を、swap から io や vm に変更しても、再度swapを表示させると、スワップは確保されたまま。systat を終了するまで解放されません。
FreeBSD/amd64 だけかと思ったら、 32bit FreeBSD/arm でも systat が同様の傾向を示します。アーキテクチャ、ALUサイズ関係ないみたい。
次々と見つかる FreeBSD12.4 時代と異なる不都合。困ったもんだ。