Ubuntu 14.04.4 LTS에서 버그를 발견했습니다. NFS 클라이언트가 NFS 서버에 대한 연결이 끊어지면 시스템의 로드가 30 이상으로 급증합니다.
로드를 줄이는 유일한 방법은 NFS 공유의 마운트 해제를 지연하는 것입니다.umount -l /path/to/share
문제는 시스템 리소스 사용량을 알려주는 모든 일반 도구가 도움 top
이 되지 htop
않는다는 것 iotop
입니다 perf top
. 높은.sar
mpstat
내 가정은 NFS가 Linux 커널에서 구현되었기 때문에 이러한 도구는 무슨 일이 일어나고 있는지 단순히 볼 수 없다는 것입니다. 이 문제를 해결하는 더 좋은 방법이 있습니까? 전통적인 도구는 작동하지 않는 것 같기 때문입니다. Linux에서 실행 대기열을 모니터링하는 방법이 있습니까?
답변1
다음 프로세스의 수를 계산하여 로드 평균을 계산합니다.
- 현재 실행 중
- 실행할 준비가 되었지만 스케줄링을 기다리는 중(다른 프로세스가 CPU를 점유함)
- I/O 대기 차단(무중단 절전,
top
/ 에서 "D"로 표시됨ps
)
그리고 가중 평균(시간 경과에 따라 1분, 5분, 15분 값 획득)을 기준으로 합니다.
따라서 높은 로드 평균은 CPU가 과부하되었음을 의미하지 않습니다(%Cpu top
등을 확인하여 확인). NFS 서버에 액세스하려고 시도하는 동안 여러 프로세스가 차단되었음을 의미할 수 있습니다.