イメージをビルドするコマンドを実行しようとすると、bitbake
次のエラーが表示されます。
ERROR: No space left on device or exceeds fs.inotify.max_user_watches?
ERROR: To check max_user_watches: sysctl -n fs.inotify.max_user_watches.
ERROR: To modify max_user_watches: sysctl -n -w fs.inotify.max_user_watches=<value>.
ERROR: Root privilege is required to modify max_user_watches.
どのプロセスにいくつの監視回数があるかを確認するためにスクリプトを実行すると、次のような結果が得られます。
INOTIFY
WATCHER
COUNT PID CMD
----------------------------------------
11978 15732 /snap/sublime-text/97/opt/sublime_text/plugin_host 15717 --auto-shell-env
11978 15717 /snap/sublime-text/97/opt/sublime_text/sublime_text
51 10165 /usr/lib/unity-settings-daemon/unity-settings-daemon
12 1759 /usr/lib/gvfs/gvfsd-trash --spawner :1.6 /org/gtk/gvfs/exec_spaw/0
...
次のコマンドを実行すると、設定された最大監視回数より大きい値が返されますが、11978
同じエラーが表示されます。
$ sysctl -n fs.inotify.max_user_watches
12288
私が調査しなければならない他のものがありますか?
答え1
VS Code Remote-SSHを使用している場合、このエラーが発生します。このエラーを回避するには、VS Code を閉じるか、 files.watcherExclude 設定を使用してファイルウォッチャーから大容量フォルダーを除外するオプションが 1 つしかありません。
答え2
以下のリンクの解決策で問題を解決しました。
https://forum.proxmox.com/threads/error-no-space-left-on-device.27809/post-141252
簡単に言うと:
現在の制限を確認してください。
cat /proc/sys/fs/inotify/max_user_watches
私には64000です。
値を大きくして問題が解決するかどうかを一時的にテストします。 (次の再起動時にデフォルトの8192にリセットされます。)
echo 1048576 > /proc/sys/fs/inotify/max_user_watches
それぞれのサイズは〜1kなので、クロックのRAM消費量は〜8MBから〜1GBに増えます。おそらくこのような大きなものは必要ありません。 RAMを節約するには、小さいものを試してください。
上記の方法で問題が解決したら、再起動して問題を恒久的にすることができます。
/etc/sysctl.confを編集してください。
nano /etc/sysctl.conf
次の行を追加します(またはすでに存在する場合は編集)。
fs.inotify.max_user_watches=128000
上記のように、必要に応じて128000の値を編集します。
再起動するか、次の手順を実行します。
sysctl -p /etc/sysctl.conf