티스토리 뷰
그외 기록/트러블 슈팅
[PM2] ENOSPC: no space left on device, write 에러 해결 (log 용량 비우기)
github.com/zlrloy 2026. 5. 12. 08:02갑자기 서버에 CORS 에러가 났다.
PM2 로그($pm2 logs)를 확인해보니
Error: ENOSPC: no spase left on device, write
/home/ubuntu/.pm2/logs/api-error.log last 15 lines:
0|api | throw er; // Unhandled 'error' event
0|api | ^
0|api |
0|api | Error: ENOSPC: no space left on device, write
0|api | Emitted 'error' event at:
0|api | at WriteStream.<anonymous> (/home/ubuntu/calvak-api/node_modules/file-stream-rotator/FileStreamRotator.js:697:15)
0|api | at WriteStream.emit (node:events:390:28)
0|api | at WriteStream.emit (node:domain:475:12)
0|api | at emitErrorNT (node:internal/streams/destroy:157:8)
0|api | at emitErrorCloseNT (node:internal/streams/destroy:122:3)
0|api | at processTicksAndRejections (node:internal/process/task_queues:83:21) {
0|api | errno: -28,
0|api | code: 'ENOSPC',
0|api | syscall: 'write'
0|api | }
원인은 디스크 용량 부족.
write가 있는거 보니 무언가를 파일에 쓰려고 했으나 실패했나보다.
디스크 용량 확인
디스크가 얼마나 꽉 차 있는지 확인해보자.
df -h
# 결과
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 15G 3.5M 100% /
디스크가 100% 꽉 차 있었다.
남은 용량은 3.5M
서버는 요청이 올 때마다 요청로그, 에러로그, DB쿼리로그 등을 디스크 파일로 계속 기록한다.
서버는 요청이 올 때마다
요청 로그
에러 로그
DB 쿼리 로그
이걸 디스크 파일로 계속 기록합니다.
그래서 로그가 많으면 디스크가 금방 찹니다.
요청 로그
에러 로그
DB 쿼리 로그
이걸 디스크 파일로 계속 기록합니다.
그래서 로그가 많으면 디스크가 금방 찹니다.
로그 용량 확인하기
어떤 로그가 문제인지 용량을 확인해보자.
ls -lh ~/.pm2/logs
여기서 로그 파일 크기를 보면 된다.
-rw-r--r-- 1 ubuntu ubuntu 8.2G api-out.log
-rw-r--r-- 1 ubuntu ubuntu 4.1G api-error.log
몇 GB 크기의 로그 파일이 확인된다면,
디스크 용량을 상당 부분 차지하고 있는 원인으로 의심할 수 있다.
로그 비우기 (삭제X)
로그 파일은 삭제보다 내용만 비우는 방식이 안전하다.
위에서 큰 용량을 차지하는 파일 내용을 비워준다.
truncate -s 0 ~/.pm2/logs/npm-start-out.log
truncate -s 0: 파일 크기를 0바이트로 줄인다. (파일 유지하고 내용만 비움)
디스크 확인
다시 디스크를 확인해보자.
df -h
이전:
# 이전
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 15G 3.5M 100%
# 로그 정리 후
/dev/root 15G 8G 7G 53%
서버는 정상화되었고, 로그 기록도 다시 정상 동작했다.
결론: 서버는 멀쩡했고 로그가 너무 열심히 일한 탓🤣
📋 명령어 정리
- 디스크 상태 확인
df -h
- 어떤 폴더가 용량 먹는지 확인
du -sh /*
- PM2 로그 확인
ls -lh ~/.pm2/logs
- 로그 비우기
truncate -s 0 ~/.pm2/logs/api-error.log
'그외 기록 > 트러블 슈팅' 카테고리의 다른 글
- Total
- Today
- Yesterday