![du -sh 및 df -h는 다른 출력을 제공합니다.](https://linux55.com/image/73970/du%20-sh%20%EB%B0%8F%20df%20-h%EB%8A%94%20%EB%8B%A4%EB%A5%B8%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%A0%9C%EA%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
3개의 마운트 지점이 91% 찼으므로 파일을 지워야 한다는 경고가 표시됩니다. 명령어를 실행하면 마운트 포인트가 91% 찼다고 나오는데, 파일을 지우고 싶은 디렉터리에서 실행 df -h
하려고 하면 차지하는 공간이 거의 1GB로 표시되지 않습니다. du -sh *
또한, 실행해 보면
find /mount-point -xdev -size +100000000c -exec ls -lhtr {} \;
파일 크기 측면에서 만족스러운 출력을 제공하지 않습니다.
위 문제에 대한 해결책을 찾도록 도와주실 수 있나요? 내 생각은 해당 마운트 지점에 대해 열린 파일 목록을 찾은 다음 PID를 종료하여 공간을 소비하는 죽은 파일이 있으면 정리할 수 있지만 이를 수행할 방법을 찾을 수 없다는 것입니다.
(Solaris 10에서는 이 작업을 수행하기 위한 퓨저 및 lsof 구문을 찾을 수 없습니다.)
답변1
연결되지 않은 열린 파일이 있는 모든 프로세스를 검색합니다. 경로와 일치하는 경로를 찾아서 삭제하세요.
기본적으로 lofs는 Solaris에 존재하지 않습니다.
find /proc/*/fd -type f -links 0 -exec ls -lrt {} \;