UPSが大量の警告
Ubuntu 26.04 の導入により Linux の Kernel も linux-image-7.0.0-14-generic になったが、移行後の Load Average が高い。
原因を調べると(後述)、apcupsd で kernel が以下の警告を毎秒くらいの頻度で出ている。APC ES 750 を使っているけど、4byte の返答があるはずなのに2byteしか返ってこないという内容らしい。このため、syslog のファイル出力でシステム負荷が 0.4 ほどに上がっている。
4月 24 23:05:29 ... kernel: hid-generic ... :Event data for report 22 was too short (4 vs 2)
以前の Kernel なら、同様のエラーはでていたのかもしれないが、syslog に警告を記録していなかったから、問題にはならなかった。Kernel が 7.0 になり、この辺の対応がきちんとするようになったのが原因のようだ。

しかたがないので、syslog でこのメッセージを記録しないように設定したけど、それでも 負荷が 0.2 ほどになる。
以前の Kernel なら、0.1 程度だったので、 なんとなくヤな感じ。
負荷の原因の見つけ方
今回、UPS の原因を見つけるにあたり、Gemini を活用しまくり。top の出力を Gemini にかけて、pidstat, vmstat などの結果を確認して…の繰り返し。
$ top
$ htop # あまり重い処理がみつからない
$ sudo pidstat 2 5 # 2秒おきの集計を5回表示
$ sudo vmstat 1 5 # 負荷の原因が、計算かディスク待ちか
$ sudo iotop -o # どのプロセスが入出力しているか
# ここで、systemd-jounald が原因というのが判明
$ sudo journalctl -f # Syslog を確認
# ここで、UPS のログが見つかる
UPSのエラー対策
UPS のエラー警告だけど、UPS の状況を確認すると、apcaccess コマンドの結果が、「ONLINE:つながってるけど NOBATT:バッテリーがつながっていない」との出力がでている。充電電圧も出力されていてバッテリーは動いているはずなのに…。Gemini に聞いても「UPS のよくある故障だし、Syslog を無視するようにして問題なく、他の機能が正しく動いているなら無視していい」とのアドバイス。
$ apcaccess : STARTTIME: 2026-04-24 17:54:04 +0900 MODEL : APC ES 750G STATUS : ONLINE NOBATT
Syslog をフィルタリングしてディスクI/Oが改善しているとはいえ、以前より負荷が高い状態は気持ち悪いので、USPを交換した際の予備(バッテリー交換済み APC ES 550)があったので、元に戻した。
交換したら、UPS の警告は出なくなり、Syslog フィルタリング処理も不要になって、負荷も 0.1 程度に落ち着いたので、これで良し!!
