어떤 프로세스가 디스크 공간을 차지하고 있는지 확인하는 방법

어떤 프로세스가 디스크 공간을 차지하고 있는지 확인하는 방법

주말 동안 여유 공간이 부족하여 Debian 기반 에이전트가 충돌했습니다. 재부팅 후 다시 괜찮아져서 월요일에 토요일 중단에 대한 로그 및/또는 설명을 찾아보았지만 아무것도 찾을 수 없었습니다.

/var/log/*에서 모든 종류의 콘텐츠를 찾고, crontab, 메일 대기열을 확인하세요... 제가 찾은 유일한 것은 syslog에서 시스템 에코를 모니터링하는 것입니다. 여유 공간은 매분마다 중요해집니다(30분에 약 80GB가 채워집니다). 데몬 오류 등이 없습니다.

실시간으로 무슨 일이 일어나고 있는지 이해하는 데 아무런 문제가 없지만 과거에 이러한 문제를 추가로 디버깅하는 방법을 모릅니다. 어떤 제안이 있으십니까?

이런 일은 1년여 만에 처음입니다. 가동 시간은 짧았고 다음 며칠 동안 문제가 재발하지 않았습니다.

감사해요

답변1

당신은 그것을 사용할 수 있습니다atop이런 식으로 디버깅합니다. atop은 실시간으로 실행되지만 더 중요한 것은 로그에 캡처된 과거 스냅샷을 표시하고 분석할 수 있다는 것입니다. 다양한 측정 항목을 기록하므로 나중에는 "젠장, 그걸 기록했으면 좋겠어"라고 생각하지 않을 것입니다. :-)

데비안에서는 apt-get install atop.init 관리자를 사용하여 부팅 시 이를 시작하고 활성화할 수 있습니다. 예를 들어, systemd에서는 systemctl enable atop && systemctl start atop이제 atop이 로깅을 시작합니다. 일반적으로 /var/log/atop/<date>.

기록 로그를 보는 데 사용하고 atop -r <log file>, 앞으로 보는 데 사용하고 t, 뒤로 보는 데 사용할 수 있습니다 T. ?키를 .

디스크에 많은 양의 데이터를 쓰는 애플리케이션을 찾아야 합니다. WRDISK 열에서 이를 확인할 수 있습니다. 디스크 사용량을 기준으로 정렬할 수도 있습니다 D.

분명히 이것은 녹음이 시작되기 전으로 돌아갈 수는 없지만 다음에 제대로 조사할 수 있도록 백그라운드에서 실행하고 녹음하도록 할 수 있습니다.

답변2

또한 특히 lsof $partition_var_lives_on | grep deleted >> somefile.

관련 정보