Unix 시스템의 공간 확인

Unix 시스템의 공간 확인

내 UNIX 서버 중 하나에 공간 문제가 있습니다. 공간 활용도를 확인하기 위해 다음 명령을 실행하고 있습니다. 하지만 이 명령은 매우 느리고 결과를 제공하는 데 몇 시간이 걸립니다.

du -sg * | sort -nr >> /my/home/dir/space_20150303

공간 활용도를 확인하는 더 좋은 방법이 있습니까?

답변1

이것은 놀라운 일이 아닙니다. 시스템이 이미 사용자를 추적하고 있지 않는 한 디스크 사용량 명령은 모든 디렉토리 항목을 반복하고 크기를 읽고 합계를 계산해야 합니다.

파일 시스템이 원격으로 마운트된 경우(NFS, Samba...) du가능하면 서버에서 실행하는 것이 원격 클라이언트에서 실행하는 것보다 훨씬 빠릅니다.

모든 파일에 대해 알고 싶기 때문에 디스크 사용량을 추적하고 즉각적인 피드백을 받을 수 있는 방법이 있습니다. 그러나 이는 시스템 관리자가 활성화해야 합니다. 이 길은. 제한을 설정하지 않고도 할당량을 활성화할 수 있습니다. 이렇게 하면 각 사용자가 사용하는 공간을 계속 추적할 수 있습니다.

답변2

df

파일 시스템 디스크 공간 사용량 확인

df -a

모든 파일 시스템의 디스크 공간 사용량에 대한 정보를 표시합니다.

df -h

사람이 읽을 수 있는 형식으로 디스크 공간 사용량 및 파일 시스템 정보를 GB 단위로 표시합니다.

df -hT /home

/home파일 시스템 정보 표시

답변3

종종 예상치 못한 양의 공간을 차지하는 대용량 파일일 수도 있습니다. 이 정보를 찾는 것은 빠르며 일반적으로 1~2분 정도 소요됩니다.

이것들을 찾아보세요

cd (mount point)
find . -xdev -size +20000 -ls > /tmp/bigfiles

마운트 지점은 루트 파일 시스템의 / 또는 관심 있는 경우 /home이 될 수 있습니다. 예를 들어 CD /home

-xdev는 꽉 찬 파일 시스템에만 관심이 있으므로 마운트 지점을 다른 파일 시스템으로 넘지 않는다는 의미입니다.

+20000은 20000 x 512바이트 블록보다 큰 파일이나 디렉터리만 찾는다는 의미입니다. 예를 들어 20000은 약 10MB입니다.

-ls는 ls -ld와 유사하게 파일 또는 디렉터리 정보 나열을 의미합니다.

나는 보통 출력을 /tmp/bigfiles로 보내서 각 문제를 해결한 후 find cmd를 다시 실행할 필요 없이 다음 문제를 볼 수 있습니다.

find cmd의 출력을 보려면 less /tmp/bigfiles를 사용하십시오.

관련 정보