Linux Ubuntu에서 평균 기묘함로드 all

지난 며칠 동안 저는 우리 인프라에서 발생하는 이상한 점을 이해하려고 노력했지만 그 사실을 파악할 수 없었기 때문에 몇 가지 힌트를주기 위해 여러분에게 의지하고 있습니다.

나는 약 2 시간마다 치명적인 규칙 성으로 발생하는 load_avg의 급증으로 Graphite에 주목했습니다. 정확히 2 시간은 아니지만 매우 규칙적입니다. Graphite에서 가져온 스크린 샷을 첨부하고 있습니다.

Averag로드-확대하려면 클릭

나는 이것을 조사하는 데 갇혔습니다.이 규칙은 나를 cron 작업이나 그와 비슷한 것으로 생각하게 만들었습니다. 그러나이 서버에서 cronjobs는 실행되지 않습니다. 실제로 이들은 Rackspace 클라우드에서 실행되는 VM입니다. 내가 찾고있는 것은 이러한 문제의 원인이 될 수 있음을 나타내는 것이며 일종의 추가 조사 방법입니다.

서버가 상당히 유휴 상태입니다. 이는 스테이징 환경이므로 트래픽이 거의 없거나로드가 없어야합니다. 이들은 모두 4 개의 가상 코어 VM입니다. 내가 확실히 알고있는 것은 약 10 초마다 많은 흑연 샘플을 수집한다는 것입니다. 그러나 그것이 부하의 원인이라면 다른 서버에서 2 시간마다 발생하는 것이 아니라 지속적으로 높을 것으로 기대합니다.

이것을 조사하는 방법에 대한 도움은 대단히 감사하겠습니다!


app01에 대한 sar의 일부 데이터는 위의 그림에서 첫 번째 파란색 스파이크입니다. 데이터에서 결론을 도출 할 수 없었습니다. 또한 30 분마다 (2 시간마다) 발생하는 바이트 쓰기 급증은 요리사 클라이언트가 30 분마다 실행하기 때문입니다. 이미 수행했지만 더 많은 데이터를 수집하려고 시도하지만 실제로 그로부터 결론을 이끌어 낼 수는 없습니다.

하중

09:55:01 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:05:01 PM         0       125      1.28      1.26      0.86         0
10:15:01 PM         0       125      0.71      1.08      0.98         0
10:25:01 PM         0       125      4.10      3.59      2.23         0
10:35:01 PM         0       125      0.43      0.94      1.46         3
10:45:01 PM         0       125      0.25      0.45      0.96         0
10:55:01 PM         0       125      0.15      0.27      0.63         0
11:05:01 PM         0       125      0.48      0.33      0.47         0
11:15:01 PM         0       125      0.07      0.28      0.40         0
11:25:01 PM         0       125      0.46      0.32      0.34         0
11:35:01 PM         2       130      0.38      0.47      0.42         0
11:45:01 PM         2       131      0.29      0.40      0.38         0
11:55:01 PM         2       131      0.47      0.53      0.46         0
11:59:01 PM         2       131      0.66      0.70      0.55         0
12:00:01 AM         2       131      0.81      0.74      0.57         0

CPU

09:55:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:05:01 PM     all      5.68      0.00      3.07      0.04      0.11     91.10
10:15:01 PM     all      5.01      0.00      1.70      0.01      0.07     93.21
10:25:01 PM     all      5.06      0.00      1.74      0.02      0.08     93.11
10:35:01 PM     all      5.74      0.00      2.95      0.06      0.13     91.12
10:45:01 PM     all      5.05      0.00      1.76      0.02      0.06     93.10
10:55:01 PM     all      5.02      0.00      1.73      0.02      0.09     93.13
11:05:01 PM     all      5.52      0.00      2.74      0.05      0.08     91.61
11:15:01 PM     all      4.98      0.00      1.76      0.01      0.08     93.17
11:25:01 PM     all      4.99      0.00      1.75      0.01      0.06     93.19
11:35:01 PM     all      5.45      0.00      2.70      0.04      0.05     91.76
11:45:01 PM     all      5.00      0.00      1.71      0.01      0.05     93.23
11:55:01 PM     all      5.02      0.00      1.72      0.01      0.06     93.19
11:59:01 PM     all      5.03      0.00      1.74      0.01      0.06     93.16
12:00:01 AM     all      4.91      0.00      1.68      0.01      0.08     93.33

IO

09:55:01 PM       tps      rtps      wtps   bread/s   bwrtn/s
10:05:01 PM      8.88      0.15      8.72      1.21    422.38
10:15:01 PM      1.49      0.00      1.49      0.00     28.48
10:25:01 PM      1.54      0.00      1.54      0.03     29.61
10:35:01 PM      8.35      0.04      8.31      0.32    411.71
10:45:01 PM      1.58      0.00      1.58      0.00     30.04
10:55:01 PM      1.52      0.00      1.52      0.00     28.36
11:05:01 PM      8.32      0.01      8.31      0.08    410.30
11:15:01 PM      1.54      0.01      1.52      0.43     29.07
11:25:01 PM      1.47      0.00      1.47      0.00     28.39
11:35:01 PM      8.28      0.00      8.28      0.00    410.97
11:45:01 PM      1.49      0.00      1.49      0.00     28.35
11:55:01 PM      1.46      0.00      1.46      0.00     27.93
11:59:01 PM      1.35      0.00      1.35      0.00     26.83
12:00:01 AM      1.60      0.00      1.60      0.00     29.87

회로망:

10:25:01 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
10:35:01 PM        lo      8.36      8.36      2.18      2.18      0.00      0.00      0.00
10:35:01 PM      eth1      7.07      4.77      5.24      2.42      0.00      0.00      0.00
10:35:01 PM      eth0      2.30      1.99      0.24      0.51      0.00      0.00      0.00
10:45:01 PM        lo      8.35      8.35      2.18      2.18      0.00      0.00      0.00
10:45:01 PM      eth1      3.69      3.45      0.65      2.22      0.00      0.00      0.00
10:45:01 PM      eth0      1.50      1.33      0.15      0.36      0.00      0.00      0.00
10:55:01 PM        lo      8.36      8.36      2.18      2.18      0.00      0.00      0.00
10:55:01 PM      eth1      3.66      3.40      0.64      2.19      0.00      0.00      0.00
10:55:01 PM      eth0      0.79      0.87      0.08      0.29      0.00      0.00      0.00
11:05:01 PM        lo      8.36      8.36      2.18      2.18      0.00      0.00      0.00
11:05:01 PM      eth1      7.29      4.73      5.25      2.41      0.00      0.00      0.00
11:05:01 PM      eth0      0.82      0.89      0.09      0.29      0.00      0.00      0.00
11:15:01 PM        lo      8.34      8.34      2.18      2.18      0.00      0.00      0.00
11:15:01 PM      eth1      3.67      3.30      0.64      2.19      0.00      0.00      0.00
11:15:01 PM      eth0      1.27      1.21      0.11      0.34      0.00      0.00      0.00
11:25:01 PM        lo      8.32      8.32      2.18      2.18      0.00      0.00      0.00
11:25:01 PM      eth1      3.43      3.35      0.63      2.20      0.00      0.00      0.00
11:25:01 PM      eth0      1.13      1.09      0.10      0.32      0.00      0.00      0.00
11:35:01 PM        lo      8.36      8.36      2.18      2.18      0.00      0.00      0.00
11:35:01 PM      eth1      7.16      4.68      5.25      2.40      0.00      0.00      0.00
11:35:01 PM      eth0      1.15      1.12      0.11      0.32      0.00      0.00      0.00
11:45:01 PM        lo      8.37      8.37      2.18      2.18      0.00      0.00      0.00
11:45:01 PM      eth1      3.71      3.51      0.65      2.20      0.00      0.00      0.00
11:45:01 PM      eth0      0.75      0.86      0.08      0.29      0.00      0.00      0.00
11:55:01 PM        lo      8.30      8.30      2.18      2.18      0.00      0.00      0.00
11:55:01 PM      eth1      3.65      3.37      0.64      2.20      0.00      0.00      0.00
11:55:01 PM      eth0      0.74      0.84      0.08      0.28      0.00      0.00      0.00

cronjobs에 관심이있는 사람들을 위해. 다음은 서버에 설정된 모든 cronjob의 요약입니다 (app01을 선택했지만 동일한 cronjob이 설정된 다른 서버에서도 발생합니다)

$ ls -ltr /etc/cron*
-rw-r--r-- 1 root root  722 Apr  2  2012 /etc/crontab

/etc/cron.monthly:
total 0

/etc/cron.hourly:
total 0

/etc/cron.weekly:
total 8
-rwxr-xr-x 1 root root 730 Dec 31  2011 apt-xapian-index
-rwxr-xr-x 1 root root 907 Mar 31  2012 man-db

/etc/cron.daily:
total 68
-rwxr-xr-x 1 root root  2417 Jul  1  2011 popularity-contest
-rwxr-xr-x 1 root root   606 Aug 17  2011 mlocate
-rwxr-xr-x 1 root root   372 Oct  4  2011 logrotate
-rwxr-xr-x 1 root root   469 Dec 16  2011 sysstat
-rwxr-xr-x 1 root root   314 Mar 30  2012 aptitude
-rwxr-xr-x 1 root root   502 Mar 31  2012 bsdmainutils
-rwxr-xr-x 1 root root  1365 Mar 31  2012 man-db
-rwxr-xr-x 1 root root  2947 Apr  2  2012 standard
-rwxr-xr-x 1 root root   249 Apr  9  2012 passwd
-rwxr-xr-x 1 root root   219 Apr 10  2012 apport
-rwxr-xr-x 1 root root   256 Apr 12  2012 dpkg
-rwxr-xr-x 1 root root   214 Apr 20  2012 update-notifier-common
-rwxr-xr-x 1 root root 15399 Apr 20  2012 apt
-rwxr-xr-x 1 root root  1154 Jun  5  2012 ntp

/etc/cron.d:
total 4
-rw-r--r-- 1 root root 395 Jan  6 18:27 sysstat
$ sudo ls -ltr /var/spool/cron/crontabs
total 0
$

보시다시피 HOURLY cronjobs는 없습니다. 매일 / 매주 만

나는 많은 통계 (vmstat, mpstat, iostat)를 모았습니다. 그러나 열심히 노력하고 있지만 VM 구성 요소의 오작동을 제안하는 리드를 볼 수 없습니다 … 하이퍼 바이저에서 잠재적 인 문제에 기대기 시작했습니다. 통계를 살펴보십시오 . 요점은 “불쾌한”시간에 sar -q 출력으로 시작한 다음 vm, mp 및 iostats를 볼 수 있습니다 ….

기본적으로 그것은 여전히 ​​나에게 총 신비입니다 …



답변

흥미 롭군

먼저 sar 로깅 빈도를 늘릴 수 있습니다. 10 분이 아닌 1 분마다 기록하십시오. sysstat cronjob은 구성 가능합니다.

다음으로 다음 명령을 스크립트로 작성하십시오.

ps auxf > /tmp/ps.out
vmstat 1 50 > /tmp/vm.out
mpstat -P ALL 1 50 > /tmp/mp.out
iostat -xdk 1 50 > /tmp/io.out
cat /proc/meminfo > /tmp/meminfo.out

로드 평균이 수동으로 또는 cron을 통해 증가 할 때마다 반복 할 때마다이 데이터 세트를 수집하십시오. 적어도 하루 근무일의 데이터를 갖는 것이 좋습니다.

이제 서버가 유휴 상태이지만 여전히 일부 응용 프로그램이 실행 중이라는 것을 알고 있습니다. 그들은 무엇인가?

perf 또는 oprofile과 같은 일부 프로파일 링 도구를 실행할 수 있습니까?

서버 하드웨어 구성 요소가 변경 되었습니까? 펌웨어 업그레이드 나 소프트웨어 업그레이드와 같은 무해합니다.

하나의 질문입니다. 실행중인 스케줄러는 무엇입니까? 나는 그것이 cfq라고 생각합니다. 언제든지 당신이 그것을 noop로 바꿀 수 있습니다. 넣어 elevator=noop커널 명령 줄 매개 변수와 시스템을 재부팅하고 그것을 개선 여부를 확인.


답변

로그 탑 프로세스

발생이 매우 규칙적이므로 해당 기간 동안 최고 프로세스를 모니터하도록 cron 작업을 설정하십시오.

#app01
20-59 0/2 * * * root /usr/bin/top -b -n 1 | /usr/bin/head -n 15 >> /var/log/top.log

로 변경 20-59하면 *짝수 시간마다 전체 시간이 기록됩니다. 두 경우 모두 크론 작업이 분당 한 번 실행됩니다.

top.log 파일을 로그 회전에 추가하여 비활성화하는 것을 잊었을 때 모든 공간을 차지하지 않도록 할 수 있습니다.

로그 파일 확인

높은로드 기간에 로그 파일 항목 검색

다음과 같은로드 항목을 예로 들어 보겠습니다.

10:25:01 PM         0       125      4.10      3.59      2.23         0

하다

grep ' 22:2' /var/log/*
grep ' 22:2' /var/log/apache2/*

에 대한 모든 로그 항목이 표시됩니다 22:2x:xx. 다른 로그 디렉토리를 포함해야 할 수도 있습니다.

일 1 월 6 일 21:00:07 2013 : xvda w_await spike

xvda Chart-w_await 스파이크가 일요일 1 월 6 일 21:00:07에 있습니다.


답변

내가 확인해야 할 한 가지는 :

  • 동일한 패턴에 대한 vSphere 그래프, 같은 호스트의 다른 VM이 CPU를 사용하고 있음 VM).

편집 : 처음에는 얻지 못했습니다 🙂 랙 공간에서 실행 중이므로 하이퍼 바이저에 대한 제어가 없지만 동일한 호스트의 다른 VM 에서이 패턴이 공통적인지 여부를 확인할 수 있는지 랙 공간에 문의하는 것이 좋습니다 .