728x90
반응형
문제가 발생 이유
보통 시스템을 오래 켜 둔 상태에서 발생한다고 한다. 그 이유는 특정 프로세스가 file descriptor 를 연 후에 file descriptor 가 가리키는 파일을 지웠는데 그 프로세스가 여전히 파일을 읽고 쓰고 있는 것이다.
실제 IO의 write, read 함수는 df 명령어와 관계가 있다.
즉, 실제는 데이터가 비워져도 「df -h」상으로 데이터가 꽉 차있으면 더이상 파일 쓰기가 되지 않으니 아래 작업을 통해 용량 확보를 해야한다.
따라서 lsof 명령어를 통해 문제가 있는 프로세스를 찾을 수 있다.
# lsof
또는 해당 디렉토리 검색
# lsof [DIRECTORY]
grep 명령어로 deleted 만 검색
# lsof | grep deleted
lsof 명령어를 통해 확인해보면 NAME 마지막에 (deleted) 라고 되어있는 프로세스를 확인할 수 있다.
이 경우에는 파일을 지웠지만 아직까지 남아있어 용량을 차지하고 있는 프로세스다.
나이따라서 해당 프로세스의 PID를 kill 명령어를 통해 죽이면 된다.
# kill -9 [PID]
그리고 다시 확인해보면 정상으로 돌아와있는 것을 확인할 수 있다.
df 명령어의 경우 특정 상황에서 정확한 실제 용량을 반영해주지 못하는 경우가 발생한다.
따라서 lsof 명령어를 통해 문제 있는 프로세스를 찾아 죽이는 방법을 통해 정상적으로 돌아오게 할 수 있다.
만약 위 과정을 진행했지만 용량이 비워지지 않는 경우 관련 프로세스 데몬을 재시작하거나 리부팅을 해야한다.
728x90
반응형
LIST
'linux > 기타' 카테고리의 다른 글
nGrinder 설치 (부하 테스트) (0) | 2022.03.25 |
---|---|
CentOS vnc 설치 및 사용 (Tigervnc) (0) | 2021.10.14 |
stress 테스트 (0) | 2021.10.01 |
lsync 설치 및 설정 (실시간 동기화) (0) | 2021.08.31 |
sftp 상위 디렉터리 접근 제한 (0) | 2021.08.31 |