728x90
OSError: [Errno 28] No space left on device
오류는 파일을 쓰거나 데이터를 저장하려 할 때, 디스크 용량이 부족하여 발생합니다. 운영체제 수준에서 저장 장치의 여유 공간이 0에 가까워지면, 파이썬에서 파일 입출력 시 이 오류가 발생하게 됩니다.
주로 대용량 로그 저장, 반복적인 파일 생성, 캐시 또는 임시 파일 누적 등으로 디스크가 꽉 찼을 때 나타나며, Docker 또는 가상환경에서 제한된 디스크를 사용하는 경우에도 자주 발생합니다.
● 오류 발생 예시
with open("output.txt", "w") as f:
f.write("a" * (10**10)) # 매우 큰 파일 저장 시도
디스크 용량이 부족한 상태에서 대용량 데이터를 쓰면 OSError
가 발생합니다.
OSError: [Errno 28] No space left on device
● 해결 방법
- 디스크 사용량 확인:
df -h
(Linux/Mac), 디스크 관리 도구 (Windows) - 불필요한 파일 삭제 및 캐시 정리
- 임시 디렉토리(
/tmp
) 또는 로그 폴더 점검 - 저장 경로 변경 (외장 드라이브, 다른 파티션 등)
● 자주 하는 실수
- 반복 저장 테스트 중 디스크 용량 고갈
- 로그 누적을 방치하거나 백업 파일을 삭제하지 않음
- 임시 파일을 자동으로 정리하지 않음
● 결론
OSError - No space left on device
오류는 물리적인 디스크 공간 부족으로 인해 발생하는 문제입니다. 시스템 상태를 정기적으로 점검하고, 대용량 작업 시에는 저장 공간 확보를 우선적으로 고려해야 합니다.
728x90