/root 아래의 대용량 파일/디렉터리를 추적할 수 없습니다.

/root 아래의 대용량 파일/디렉터리를 추적할 수 없습니다.

운영체제: RHEL 6.9

문제
/dev/mapper/vg_rayruhsso-lv_root마운트된 파일 시스템 에 /사용 가능한 크기가 없습니다.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_rayruhsso-lv_root
                      148G  145G     0 100% /
tmpfs                  20G     0   20G   0% /dev/shm
/dev/sda1             477M   41M  411M   9% /boot
/dev/mapper/vg_rayruhsso-lv_home
                      270G   54G  202G  22% /home

내가 해결하고 싶은 것
전체 공간을 소비한 것이 무엇인지 파악합니다(지난주에 52G에서 148G로 확장되었기 때문에 크기를 확장하고 싶지 않습니다). 문제는 추적하던 중 발견한 사실입니다./뿌리많은 공간(128G)을 소비하고 있습니다.

# du -sh *
984K
9.3M    bin
39M     boot
4.0K    CdbsMutex
4.0K    cgroup
180K    dev
41M     etc
54G     home
215M    lib
28M     lib64
16K     lost+found
4.0K    media
0       misc
4.0K    mnt
0       net
70M     opt
du: cannot access `proc/4754/task/4754/fd/4': No such file or directory
du: cannot access `proc/4754/task/4754/fdinfo/4': No such file or directory
du: cannot access `proc/4754/fd/4': No such file or directory
du: cannot access `proc/4754/fdinfo/4': No such file or directory
0       proc
128G    root
17M     sbin
0       selinux
4.0K    srv
0       sys
5.5M    tmp
12G     u01
3.2G    usr
2.0G    var

하위 디렉터리를 확인한 결과 du -sh128G가 표시되지만 가장 큰 파일/디렉터리는 330M이라는 것을 알았습니다.

#du -sh /root/*
4.0K    /root/anaconda-ks.cfg
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
64K     /root/install.log
12K     /root/install.log.syslog
4.0K    /root/Music
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
330M    /root/veritas
4.0K    /root/Videos

# cd /root/
# du -sh
128G    

뭐가 문제 야? 이 공간을 모두 소비하고 있는 파일을 조사하는 방법은 무엇입니까?

열려 있는 파일을 찾으려고 했지만 아무 결과도 반환되지 않았습니다.

lsof | grep deleted

어떤 아이디어?

편집하다:

# du -h --max-depth=1 /root | sort -h
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
4.0K    /root/.gvfs
4.0K    /root/Music
4.0K    /root/.nautilus
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
4.0K    /root/Videos
8.0K    /root/.abrt
8.0K    /root/.ssh
12K     /root/.dbus
16K     /root/.gnote
16K     /root/.gnupg
16K     /root/.thumbnails
20K     /root/.cache
28K     /root/.gnome2
64K     /root/.config
144K    /root/.pulse
276K    /root/.gconf
364K    /root/.local
396K    /root/.kde
330M    /root/veritas
128G    /root

답변1

약간의 왕복과 개인적인 토론 후에 ...

du -h --max-depth=1 /root | sort -h공간을 많이 차지하는 항목을 검색하는 데 사용합니다 .

현재 .glob 확장으로 인해 도트 파일과 도트 디렉터리를 건너뛰고 있습니다 du -sh /root/*.

이제 편집의 도트 파일 및 도트 폴더를 포함한 결과를 보면 공간을 차지하는 파일이 /root.
가장 많은 공간을 차지하는 파일에 대한 개요를 얻으려면 /root다음 명령을 사용하십시오.

ls -alhSr /root

답변2

삭제 명령을 실행했지만 삭제하려는 파일이 일부 응용 프로그램에서 사용 중이어서 종료되지 않았을 가능성이 있습니까?

다음을 실행해 보세요.

/usr/bin/lsof | grep deleted

위 명령은 삭제 대기 중이며 프로세스에서 사용 중인 모든 파일을 표시합니다.

그러한 파일이 존재하는 경우 해당 프로세스를 종료하고 용량을 다시 확인하십시오.

설명:

Linux 또는 Unix 시스템에서 rm 또는 파일 관리자 응용 프로그램을 통해 파일을 삭제하면 파일 시스템의 디렉터리 구조에서 파일 연결이 해제됩니다. 그러나 파일이 여전히 열려 있으면(실행 중인 프로세스에서 사용 중) 이 프로세스에서 계속 액세스할 수 있으며 디스크 공간을 계속 차지하게 됩니다. 따라서 해당 파일 공간이 파일 시스템에서 정리되기 전에 해당 프로세스를 다시 시작해야 할 수도 있습니다.

이 주제에 대한 추가 정보를 찾을 수 있습니다여기.

답변3

을 살펴보실 수도 있습니다 ncdu. 이는 treesize와 매우 흡사하며 대용량 파일과 디렉터리 구조를 찾는 데 여러 번 도움이 되었습니다.

관련 정보