PHP Apple의 편집자가 "temp 폴더가 갑자기 꽉 차는 문제를 해결하는 방법? tmp 폴더가 100%를 차지하는 문제 분석"을 분석해 드립니다. 임시 폴더가 갑자기 가득 차서 tmp 폴더가 100% 사용되면 시스템이나 응용 프로그램에 임시 파일이 너무 많아서 발생할 수 있습니다. 해결 방법에는 임시 파일 수동 정리, 파일 삭제를 방해하는 프로그램 오류가 있는지 확인, 임시 파일 저장 경로 수정, 자동 정리 정책 설정 등이 포함됩니다. 적절한 조치를 취하면 임시 폴더가 너무 많은 디스크 공간을 차지하는 문제를 효과적으로 해결하고 시스템의 정상적인 작동을 보장할 수 있습니다.
Tmp 폴더가 100% 점유 문제 분석
1. df -h를 통해 디스크 사용량을 확인하고 /dev/vdb1(파일 저장 경로)이 42%를 차지하므로 충분한 공간을 차지하지만 /tmp 폴더가 100%를 차지합니다. .
df -h
여기에는 공간의 일부가 공개되어 /tmp가 91%를 차지합니다.
2. 점유 확인을 위해 /tmp 경로를 입력해 보니 파일 점유량은 5.7M에 불과하고, 실제 총 용량은 16G인 것으로 확인되었습니다.
cd /tmp
3.tmp는 임시폴더이기 때문에 파일은 사용 후 자동으로 삭제되지만 공간은 공개되지 않는 것으로 추측됩니다. lsof /tmp를 통해 파일 상태를 확인하고 많은 수의 파일이 삭제되었지만 여전히 프로세스에 의해 점유되어 공간을 확보할 수 없는지 확인합니다.
lsof /tmp
4. 위 스크린샷을 보면 점유된 파일의 프로세스 PID는 3860289로, 배포되지 않은 springboot 프로젝트입니다. 일반적인 상황에서는 프로젝트를 다시 시작하면 해제할 수 있지만 현재는 온라인 프로젝트이므로 다시 시작하면 사용자 사용에 영향을 미칩니다. 따라서 다시 시작하지 않고 여유 공간을 확보해야 합니다.
문제 해결
1. 파일 점유 프로세스 ls -i /proc/{process PID}/fd의 파일 fd 정보를 쿼리합니다. 예:
ls -i /proc/3860289/df
2. Pass >/proc/{Process pid}/fd/{File fd} 점유된 공간을 해제합니다(파일 fd는 위 그림에서 빨간색 부분의 첫 번째 숫자입니다). 예:
>/proc /3860289/fd/999
3. 파일 점유의 일괄 해제는 쉘 스크립트를 작성하여 해결할 수 있습니다. 예: pid 3860289 및 fd 500 ~ 1000인 파일을 삭제합니다.
#! /bin/bash
for i in {500..1000}
do
/proc/3860289/fd/$i
done
4. 마지막으로 문제가 됩니다. 응용 프로그램을 다시 시작하면 문제를 해결할 수 있습니다. kill -9 {PID}
kill -9 3860289
위 내용은 임시 폴더가 갑자기 꽉 찼을 때 문제를 해결하는 방법은 무엇입니까? tmp폴더가 100%를 차지하는 문제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!