私はLinux mint MATE を日常的に使っているのですが、ここ数ヶ月の間
たまに何も自分では処理をさせているつもりがないのにOS全体がもっさりと
重くなることがありました。
今までずっと原因がわからずにいたのですが、今日判明して嬉しくなってこのエントリを書いていますw
状況ですが、OS起動して数分後から突然ストレージアクセスランプが点灯しっぱなしに十数分程
なってしまい、何をするにもIO待ちになってしまいます。
ストレージアクセスランプが光っぱなしなので、IO負荷がかかっていることは容易に分かっていたのですが
じゃあ、どのプロセスがIO負荷をかけているのか?までは掴みきれていませんでした。
今回重い腰を上げて、色々調べてみましたところ、Linuxには「iotop」という素晴らしいコマンドがありました。
このコマンドを実行すると、IO負荷が高いプロセス順にtopコマンドのような出力が得られました。
で、今回判明したプロセスはこれ
「fstrim」
初めて見るコマンドですが、こいつがIOを99%奪い続けていました。
なんだろうかと調べてみると、どうやらUbuntu 14.04ベースのLinuxでは
一週間に1回、自動的にこのコマンドを定期実行するように最初から
スケジューリングされていることが判明しました。
/etc/cron.weekly/fstrim
にしっかり定義されています。
このコマンドは、WindowsでいうところのHDDのデフラグみたいなコマンドらしい。
定期的に実行することでIOパフォーマンスが劣化しないようにしてくれてる模様。
PostgreSQLのvacuum みたいなイメージかなぁ・・・。
Linuxにもこの手のコマンドあるとは知りませんでした。
なんかたまにIO負荷ががくんと十数分上がりっぱなしになって原因がわからず
困っている人の何かしらの参考になれば・・・。
0 件のコメント:
コメントを投稿