저는 노트북에서 Fedora 12를 사용하고 있습니다. 10GB의 디스크 공간이 있고 그 중 2GB는 무료입니다. 2~3일의 가동 시간이 지나면 공간이 종료되고 재부팅해야 합니다. 재부팅 후 2GB의 여유 공간을 되찾았습니다. 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?
저는 주로 Firefox, Chrome, Gedit, Rhythmbox 및 백엔드(httpd, mysqld, conky)를 사용합니다. 메모리: 1GB, 스왑 공간: 1.2GB.
답변1
먼저, 당신의 공간을 침해하고 있는 것이 무엇인지 알아내야 합니다. 해당 크기까지 커지는 실제 파일이나 디렉터리를 추적하는 것이 좋습니다.
가장 쉬운 방법은 /
사용 중인 디렉토리를 확인하는 것입니다. (다음과 같이 실행하는 것이 좋습니다.뿌리)
# du -hs /* 2> /dev/null
4.2M /bin
25M /boot
204K /dev
6.7M /etc
19G /home
112M /lib
16K /lost+found
12K /media
16K /mnt
4.0K /multimedia
1018M /opt
0 /proc
15M /root
8.6M /sbin
12K /srv
4.2M /storage
0 /sys
108K /tmp
16G /usr
4.3G /var
이제 컴퓨터가 방금 부팅되었고 아직 공간을 차지하지 않았을 때 명령을 실행하고 출력을 파일( ~/record-space
) 에 저장합니다.
$ sudo du -hs /* 2> /dev/null 1> ~/record-space
그런 다음 컴퓨터가 "FULL" 상태에 가까워지면 명령을 다시 실행하여 출력을 두 번째 파일에 저장할 수 있습니다.
$ sudo du -hs /* 2> /dev/null 1> ~/record-space2
이제 이 두 파일( ~/record-space
및 ~/record-space2
)을 비교하여 홈 디렉토리가 어떻게 다른지 확인할 수 있습니다.
파일을 비교하는 가장 좋아하는 방법은 다음을 사용하는 것입니다 diff
.
$ diff ~/record-space{,2}
고쳐 쓰다:이 답변에 대한 Jill의 의견을 참조하십시오.
du -hs /*
사용하는 대신 du -xsh /tmp/* /var/*/* ~/.*
.
답변2
일부 배포판이나 데스크톱 환경에서는 여유 디스크 공간이 특정 임계값 아래로 떨어지면 경고가 표시될 수 있습니다. 다음은 이를 직접 통합할 수 있는 방법입니다. 터미널에서 다음을 입력하세요.crontab -e
(루트 아님) 편집기가 나타납니다. 다음 줄을 입력하십시오.
*/5 * * * * if [ "$(df -P / | awk 'NR==2 {print $4}')" -le 1048576 ]; then df /; fi
즉 */5 * * * *
, 5분마다( ) 사용 가능한 디스크 공간( "$(df -P / | …)"
)이 1048576KB(1GB) 아래로 떨어지면( [ … -le … ]
) 사용 가능한 디스크 공간이 포함된 로컬 메일을 받게 됩니다(cron에서 보내는 출력 df /
).
"사용됨" 및 "사용 가능" 열이 전체의 95%만을 차지한다는 것을 알 수 있습니다.예약된 공간고객님의 문제에 대해 책임지지 않습니다. (예약 금액은 시간이 지나도 변하지 않습니다.)
디스크 공간을 가장 많이 차지할 가능성이 있는 위치는 /tmp
홈 /var
디렉터리(하위 디렉터리 포함)입니다. 나는 두 번째이다스테판의 조언기준 du
출력을 설정하고 디스크가 가득 찼을 때의 출력과 비교합니다.
시작 시 공간이 확보되는 경우에는 여러 가지 이유가 있을 수 있습니다. 일부 프로그램은 큰 임시 파일을 생성할 수 있습니다. 프로그램이 종료될 때 이러한 파일이 정리될 수도 있고, 시작 중에 정리될 수도 있고, 프로그램이 다시 시작될 때 정리될 수도 있습니다. 관찰할 수 없는 한 가지는 du
대용량 파일이 프로그램에서 사용되고 삭제되는 경우입니다. 유닉스 시스템에서 파일을 삭제하면 먼저 파일 이름만 사라지고(파일은 "링크 해제"됩니다) 파일에 대한 참조가 더 이상 없을 때만 파일의 내용도 사라집니다. 파일에 대해 열려 있는 프로세스가 없습니다. 즉, 프로그램이 대용량 파일을 생성하고 열고 삭제하는 경우 프로그램이 파일을 닫을 때만 공간이 회수됩니다(프로그램이 종료되면 자동으로 발생함). 삭제된 파일은 을 사용하여 볼 수 없지만 du
를 사용하여 볼 수 있습니다.lsof
("나나에스티오펜에프"):
lsof | grep '(deleted)'
lsof 출력에서 파일 이름(열 7) 앞의 마지막에서 두 번째 숫자는 파일 크기입니다.