버퍼 메모리가 0으로 떨어짐

버퍼 메모리가 0으로 떨어짐

시스템에 접근할 수 없는 문제가 발생했습니다. 특징은 1) 차단 및 실행 대기열의 급격한 급증, 2) 버퍼 메모리가 0으로 떨어지는 것입니다.

증상은 1) 기존 프로세스가 문제 없이 계속 실행되고, 2) 새 프로세스가 실패하기 시작하거나 심각하게 지연되는 것입니다. 따라서 예를 들어 SSH 및 PAM의 연속 프로세스와 스레드가 지연되거나 응답하지 않기 때문에 새 SSH 세션이 참여하지 못할 수도 있습니다. 또 다른 예는 CRON에서 생성된 스크립트입니다. 버퍼 메모리가 0이면 새로운 CRON 주기가 차단되어 연쇄 스크립트가 발생합니다.

차단된 새 프로세스는 스택 메모리와 관련이 있다고 생각합니다. 그러나 내가 읽은 증상은 버퍼 메모리(I/O와 더 관련이 있음)의 급격한 감소입니다.

스냅샷 세션이 연결될 수 있습니다. 스냅샷은 NFS 볼륨을 동적으로 마운트하여 백업 파일을 수집하는 것으로 나타났습니다. 사용 가능한 버퍼 용량을 초과합니까?

2020년 8월 11일에 추가됨

이것이 "답변"인지 확실하지 않지만 문제가 명확해지기 시작합니다. 우리는 스냅샷 프로세스를 추적하는 Puppet 스크립트가 30분마다 실행되고 있음을 발견했습니다. 스냅샷은 기본적으로 백업 프로세스 중에 디렉터리 트리를 복사하므로 상상할 수 있듯이 스크립트에 포함된 무고한 df 명령이 전체 데이터 트리를 컴파일하는 데 바쁜 폭군으로 변할 수 있습니다. Puppet 스크립트가 완료되지 않았고 cron에서 호출될 때마다 단순히 스택되었기 때문에 df 명령이 자주 나타나고 계단식으로 배열되는 것을 확인했습니다.

Puppet 프로세스를 제거한 후 시스템이 더욱 안정됩니다. 하지만 오늘 아침에 차단 진행 상황이 또다시 급증하고 있으니 계속 지켜봐 주시기 바랍니다. 이 미스터리는 아직 해결되지 않았을 수도 있습니다.

관련 정보