Linux 서버를 운영하다 보면 디스크 용량이 빠르게 증가하는 경우가 있습니다. 디스크 사용량을 확인했는데 저장 공간이 부족하다면 어떤 디렉터리가 많은 용량을 사용하는지 먼저 확인해야 합니다.
대부분의 디스크 부족 문제는 로그 디렉터리, 백업 디렉터리, 사용자 데이터, 캐시 파일처럼 특정 폴더에 데이터가 집중되면서 발생합니다. Linux에서는 du, sort, head 명령어를 사용하여 용량이 큰 디렉터리를 빠르게 찾을 수 있습니다.
이번 글에서는 Linux에서 가장 큰 디렉터리를 찾는 방법과 저장 공간을 효율적으로 분석하는 방법을 자세히 알아보겠습니다.
가장 큰 디렉터리를 확인해야 하는 이유
디스크 용량이 부족하다고 해서 모든 파일을 확인할 필요는 없습니다.
먼저 용량이 큰 디렉터리를 찾으면 문제의 원인을 훨씬 빠르게 확인할 수 있습니다.
로그 파일, 백업 파일, 업로드 파일처럼 데이터가 많이 저장되는 위치를 우선적으로 분석하는 것이 효율적입니다.
현재 디스크 사용량 확인하기
먼저 전체 디스크 사용량을 확인합니다.
다음 명령어를 실행합니다.
df -h
사용률이 높은 디스크를 확인한 후 해당 파일 시스템을 분석하는 것이 좋습니다.
현재 위치의 디렉터리 용량 확인하기
현재 디렉터리 아래의 모든 폴더 용량을 확인하려면 다음 명령어를 실행합니다.
du -sh *
각 디렉터리의 전체 용량이 사람이 읽기 쉬운 형식으로 출력됩니다.
현재 작업 디렉터리를 분석할 때 가장 많이 사용하는 방법입니다.
특정 디렉터리의 하위 폴더 용량 확인하기
예를 들어 /var 디렉터리를 분석하려면 다음 명령어를 실행합니다.
du -h --max-depth=1 /var
하위 디렉터리별 사용량을 확인할 수 있습니다.
어떤 폴더가 가장 많은 저장 공간을 사용하는지 쉽게 확인할 수 있습니다.
용량이 큰 순서대로 정렬하기
디렉터리를 용량 순으로 정렬하려면 다음 명령어를 사용합니다.
du -h --max-depth=1 /var | sort -hr
가장 큰 디렉터리부터 순서대로 출력됩니다.
디스크 정리 작업에서 가장 많이 사용하는 명령어 중 하나입니다.
가장 큰 디렉터리 10개만 확인하기
상위 10개의 디렉터리만 확인하려면 다음 명령어를 실행합니다.
du -h --max-depth=1 / | sort -hr | head -10
용량이 큰 디렉터리만 빠르게 확인할 수 있습니다.
대용량 서버에서도 자주 사용하는 방법입니다.
사용자 홈 디렉터리 분석하기
사용자 데이터가 많은 서버에서는 홈 디렉터리도 확인하는 것이 좋습니다.
다음 명령어를 실행합니다.
du -h --max-depth=1 /home | sort -hr
각 사용자 계정이 사용하는 저장 공간을 확인할 수 있습니다.
사용자별 디스크 사용량을 분석할 때 유용합니다.
로그 디렉터리 분석하기
로그 파일은 디스크 용량 증가의 대표적인 원인입니다.
다음 명령어를 실행합니다.
du -h --max-depth=1 /var/log | sort -hr
로그 파일이 저장된 하위 디렉터리별 사용량을 확인할 수 있습니다.
로그가 계속 증가한다면 logrotate 설정도 함께 확인하는 것이 좋습니다.
디렉터리와 파일을 함께 분석하기
큰 디렉터리를 찾은 후에는 내부의 큰 파일도 함께 확인하는 것이 좋습니다.
예를 들어 다음 순서로 분석할 수 있습니다.
- df -h로 전체 디스크 사용량 확인
- du로 큰 디렉터리 확인
- find로 큰 파일 확인
- 불필요한 파일 정리
- 다시 디스크 사용량 확인
이 순서대로 진행하면 디스크 부족 문제를 빠르게 해결할 수 있습니다.
디렉터리 분석 시 주의할 점
용량이 큰 디렉터리를 발견했다고 바로 삭제하는 것은 권장되지 않습니다.
현재 서비스에서 사용하는 데이터인지 먼저 확인해야 합니다.
운영 서버에서는 로그, 데이터베이스, 백업 디렉터리를 삭제하기 전에 반드시 백업과 서비스 영향을 함께 검토하는 것이 안전합니다.
자주 묻는 질문
Linux에서 가장 큰 디렉터리는 어떻게 찾나요?
다음 명령어를 사용합니다.
du -h --max-depth=1 / | sort -hr
특정 디렉터리만 분석할 수 있나요?
가능합니다.
예를 들어 /var 디렉터리는 다음 명령어를 사용합니다.
du -h --max-depth=1 /var
가장 큰 디렉터리 몇 개만 확인할 수 있나요?
가능합니다.
다음 명령어를 사용합니다.
du -h --max-depth=1 / | sort -hr | head -10
마무리
디스크 용량을 효율적으로 관리하려면 큰 파일뿐 아니라 큰 디렉터리도 함께 분석해야 합니다. du, sort, head 명령어를 활용하면 저장 공간을 많이 사용하는 폴더를 빠르게 찾을 수 있으며, 디스크 부족 문제의 원인을 효율적으로 분석할 수 있습니다. 정기적으로 디렉터리 사용량을 점검하면 불필요한 데이터가 계속 쌓이는 것을 방지하고 안정적인 Linux 서버 운영에 도움이 됩니다.