큰 파일을 삭제 한 후 변경 사항을 적용하는 데 df가 얼마나 걸립니까?


12

우분투 서버에서 2.3GB 로그 파일을 삭제했는데 df변경 사항을 적용하지 않는 것 같습니다. 일반적으로 df큰 파일이 삭제되었음을 감지 하기 전에 지연 이 있습니까?

답변:


20

일부 프로세스에서 파일이 여전히 열려있는 것 같습니다. 디스크 공간을 확보하려면 해당 서비스를 다시 시작해야합니다.


1
로그 파일의 경우 특히 그렇습니다. 많은 프로그램이 시작될 때 로그 파일을 열고 종료 할 때까지 닫지 않습니다.
mattdm

1
그리고 아직 사용 중이고 누가 lsof를 사용하는지 알 수 있습니다
Joris

좋은 질문과 좋은 답변. 나는 이것을 얼마 동안 궁금해했다. 또한 파일 핸들을 SIGHUP을 보내 파일 핸들을 닫을 수 있습니다. 예를 들어, 프로세스 12345에 "삭제 된"파일이 열려 sudo kill -HUP 12345있으면 해당 프로세스에서 파일 을 닫을 수 있습니다. (물론 프로세스가 SIGHUP 신호를 처리하는 방법에 따라 다릅니다. 그러나 많은 데몬 지향 파일은 SIGHUP을받을 때 파일 핸들을 닫았다가 다시 엽니 다.)
Mark E. Haase

열린 파일을 삭제할 수 없다고 생각했습니다!
Ashish Karpe

1
@AshishKarpe 아니요, 열린 파일을 삭제할 수 있지만 파일을 연 프로세스는 파일의 내용을 디스크에 유지합니다. 기존 파일 이름으로 참조되지 않아 파일을 다른 프로세스에서 볼 수 없지만 파일을 연 프로세스는 여전히 파일을 읽고 쓸 수 있습니다. 해당 프로세스가 파일을 닫으면 내용이 삭제되어 디스크 공간을 회수합니다.
Jonathan Hartley

2

파일 시스템의 공간이 부족하면 파일 시스템의 예약 된 공간이 부족할 수 있습니다. ext2 / 3 / 4 파일 시스템에는 루트를 위해 예약 된 공간이 있습니다. 기본적으로 이것은 5 %입니다. 따라서 가득 차서 2.3GB가 드라이브 공간의 5 % 미만이면 파일 시스템이 여전히 가득 찬 것으로 나타납니다.

이 상황에서는 두 가지 선택이 있습니다. 사용 가능한 여유 공간이있는 지점까지 공간을 계속 확보하거나 파일 시스템이 예약 한 공간의 양을 수정하십시오. 예약 된 공간의 양을 수정하려면 tune2fs -m 0 /dev/sda10을 원하는 예약 된 공간의 백분율로 바꾸고 / dev / sda1을 적절한 장치로 바꾸십시오.

자세한 내용은 이 질문에 대한 대답을 참조하십시오.


0

오래지 않아 파일이 여전히 사용 중일 가능성이 높습니다. 해당 프로세스를 종료 할 때까지 디스크 공간이 해제되지 않습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.