로드 평균(LA)이 높은 이유를 이해할 수 없습니다.

로드 평균(LA)이 높은 이유를 이해할 수 없습니다.

32코어/64번째 CPU와 64GB RAM을 갖춘 베어메탈 서버가 있습니다. 우분투 18.04 온보드. 네트워크 작업을 위해 Python을 사용하여 pgsql(저부하), ~250개의 Docker 컨테이너를 실행합니다. htop에서 LA 120(1/5/15분)을 보여 주지만 이유를 찾을 수 없습니다.

  • htop은 모든 코어의 ~50% 로드를 표시합니다.
  • 12GB의 여유 RAM이 있습니다.
  • vnstat -l 네트워크 어댑터에 25% 로드 표시(양측 요약)
  • 최고 쇼 wa (iowait) 0.0
  • iostat는 HDD에 기록된 내용을 표시하지 않으며, iotop은 때때로 1초에 10-20Kb/초를 쓰는 프로세스를 표시합니다.
  • 꼭대기에는 빨간색 선이 표시되지 않습니다. 올 그레이(좋음).
  • "ps -eo stat | grep -c D" 및 "ps -eo stat | grep -c D"는 "1"을 표시합니다.

CPU, RAM, HDD, 네트워크 등을 모두 확인한 것 같습니다. 나는 Big LA의 뿌리, 즉 Python이 포함된 컨테이너를 이해합니다. 하지만 최적화를 위한 병목 현상을 찾고 싶습니다. LA가 높은 이유는 어디서 더 볼 수 있나요?

UPD:일부 추가. 내 생각에 CPU 어딘가에 병목 현상이 발생하는 것 같습니다. 왜냐하면 컨테이너 LA에서 pypy를 사용하면 다운되고 간단한 pyhton을 사용하면 LA가 커지기 때문입니다. 하지만 htop은 항상 CPU 로드를 <100%로 표시하기 때문에 그 이후를 이해할 수 없습니다.

답변1

Linux 로드 평균은 현재(활성) 실행 중이거나 실행 대기 중인 프로세스의 수입니다.

250개의 Docker 컨테이너와 시스템 프로세스 및 모니터링 도구가 있습니다. 이것은 단순히 엄청난 양의 프로세스입니다. 컨테이너 내부에서 실행되는 내용과 프로세스가 깨어나서 작업을 수행하는 빈도에 따라 다릅니다. Docker 컨테이너 수를 50% 줄이고 로드 평균도 50% 감소한다면 문제가 있는 것입니다.

관련 정보