728x90
리눅스(또는 WSL)에서 React·Vue·Angular 같은 프런트엔드 개발 서버를 돌리다 보면 이런 오류를 만나는 경우가 있습니다.
Error: ENOSPC: System limit for number of file watchers reached
원인
개발 서버(webpack, Vite 등)는 파일이 바뀌면 자동으로 다시 빌드하기 위해 소스 파일들을 감시(watch)합니다. 리눅스는 이 감시를 inotify라는 커널 기능으로 처리하는데, 한 사용자가 동시에 감시할 수 있는 파일 수(max_user_watches)에 상한이 있습니다. 프로젝트가 크거나 node_modules가 방대하면 이 한도를 초과해 오류가 납니다. (ENOSPC = "No Space" 이지만, 여기서는 디스크가 아니라 watcher 슬롯이 부족한 것)
해결 — 감시 한도 늘리기
커널 파라미터 fs.inotify.max_user_watches를 크게 올리고 즉시 적용합니다.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
명령을 뜯어보면:
- max_user_watches=524288 — 감시 한도를 약 52만 개로 상향(기본값은 보통 8192로 매우 작음)
- | sudo tee -a /etc/sysctl.conf — 이 설정을 sysctl 설정 파일에 영구 추가(재부팅 후에도 유지)
- && sudo sysctl -p — 재부팅 없이 즉시 적용
참고
- 값 524288은 관례적인 권장치입니다. 메모리를 조금 더 쓰지만(감시 항목당 약 1KB), 개발 환경에서는 부담 없는 수준입니다.
- 현재 값 확인:
cat /proc/sys/fs/inotify/max_user_watches - 근본적으로는 감시 대상을 줄이는 것도 방법입니다 — 번들러 설정에서
node_modules나 빌드 산출물 폴더를 watch 제외하면 슬롯 소모가 줄어듭니다. - WSL2에서도 동일하게 적용되며, macOS는 inotify가 아니라 다른 메커니즘을 써서 이 오류가 나지 않습니다.
Error: ENOSPC: System limit for number of file watchers reached,
가끔 react 를 가지고 열심히 일을 하다보면 라는 에러를 내뱉는 경우를 볼 수 있다. 이럴 경우 라고 터미널에 입력해주면 아주 깔끔하게 처리된다.원인은 너무 열심히 일을 해서 시스템의 파일와
velog.io
728x90
'푸닥거리' 카테고리의 다른 글
| free data explore mongodb with vscode and php (0) | 2022.05.30 |
|---|---|
| 온라인 일방향 침해사고 대응 훈련(중급, 스피어 피싱 대응 - 기본과정) (0) | 2022.05.29 |
| AI를 위한 파이썬 핵심문법-2 (0) | 2022.05.24 |
| AI를 위한 파이썬 핵심문법-1 (0) | 2022.05.24 |
| windows11 edge 브라우저에서 IE activex 사용하기 (0) | 2022.05.23 |
댓글