Ubuntu serverに入れてるDropboxが変なメッセージを出すようになった
ちょっと前くらいからこんなメッセージが出るようになった
$ Unable to monitor entire Dropbox folder hierarchy. Please run "echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches" and restart Dropbox to correct the problem.
わけもわからず言われるがままコマンド叩いてたんだけど、毎日ログインVM起動する度に表示されてていい加減鬱陶しくなったので調べた。
/proc/sys/fs/inotify/max_user_watches とは
引用の引用
/proc インターフェース
以下のインターフェースは、inotify で消費されるカーネルメモリの総量を制限するの
に使用できる:/proc/sys/fs/inotify/max_queued_events
このファイルの値は、アプリケーションが inotify_init(2) を呼び出すときに使用さ
れ、対応する inotify インスタンスについてキューに入れられるイベントの数の上限
を設定する。この制限を超えたイベントは破棄されるが、 IN_Q_OVERFLOW イベントが
常に生成される。/proc/sys/fs/inotify/max_user_instances
1 つの実ユーザ ID に対して生成できる inotify インスタンスの数の上限を指定す
る。/proc/sys/fs/inotify/max_user_watches
作成可能な監視対象の数の実 UID 単位の上限を指定する。
だそうです。要するに監視対象のファイル数が上限をオーバーしたってことか。
/etc/sysctl.conf
/proc/sys/fs/inotify/max_user_wathces は直接書き換えても再起動の度にリセットされるらしいので、/etc/sysctl.conf を編集する
こいつはカーネルパラメータを設定するファイルだそうです。そんな事言われたらインフラ知識からっきしな僕は怖くて手が震えてしまうんですががが。
[ThinkIT] 第5回:カーネルをチューニングする (1/4)
管理者権限で開く。
$ sudo vi /etc/sysctl.conf
以下の行を追加する
fs.inotify.max_user_watches = 100000
追加後にこの設定を反映させるために以下のコマンドを叩く
$ sudo sysctl -p
これでたぶん直ったはず。