이미지를 빌드하는 명령을 실행하려고 하는데 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 설정을 사용하여 파일 감시자에서 대용량 폴더를 제외하는 옵션이 하나만 있습니다.
답변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