Ubuntu 서버가 매일 오전 9시에 느려집니다.

Ubuntu 서버가 매일 오전 9시에 느려집니다.

이 서버는 Ubuntu 12.04.5 LTS를 실행하며 웹 서버(apache 2.2.22) 및 ftp 서버(proftpd 1.3.4a)로 사용됩니다. 이런 일이 5분 정도 지속되면 누구도 웹페이지에 접근할 수 없습니다. (이것은 가상 사설 서버입니다)

이때 top 명령의 출력은 다음과 같습니다.

top - 09:06:58 up 16 days, 14:29,  1 user,  load average: 36.01, 23.39, 10.79
Tasks: 161 total,  38 running, 123 sleeping,   0 stopped,   0 zombie
Cpu(s): 18.8%us, 56.2%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi, 25.0%si,  0.0%st
Mem:   8171872k total,  8043880k used,   127992k free,   164308k buffers
Swap:  2096124k total,        0k used,  2096124k free,  7007256k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5348 root      20   0 37536 7092 2104 R   43  0.1   0:43.40 archive.pl
 5354 www-data  20   0  174m 6984 4804 R   42  0.1   0:14.65 cron_job_creati
   35 root      20   0     0    0    0 R   41  0.0  11:40.57 kswapd0
   26 root      20   0     0    0    0 S   39  0.0   1:17.96 sync_supers
 5353 www-data  20   0  174m 6984 4804 R   38  0.1   0:13.32 cron_job_creati
 5352 www-data  20   0  174m 7232 4940 R   31  0.1   0:10.36 cron_job_creati
 5371 root      20   0 25108  308    0 R   24  0.0   0:00.87 master
 5358 www-data  20   0  296m 7476 1060 R   21  0.1   0:03.24 apache2
  948 root      20   0 25108 1604 1296 S   18  0.0   2:50.30 master
 5365 root      20   0  102m 2332  832 R   17  0.0   0:01.10 proftpd
  988 root      20   0  102m 2228  728 R   15  0.0  10:38.37 proftpd
 5317 www-data  20   0  304m  17m 3344 R   15  0.2   0:28.07 apache2
 5369 root      20   0  102m 1916  416 R   15  0.0   0:01.89 proftpd
 5225 www-data  20   0  305m  18m 3408 R   11  0.2   0:31.17 apache2
 5256 www-data  20   0  304m  17m 3344 R    9  0.2   0:29.83 apache2
 5254 www-data  20   0  303m  17m 3336 R    8  0.2   0:27.67 apache2
 5345 www-data  20   0  297m 8156 1720 R    6  0.1   0:04.92 apache2
 5357 root      20   0 17336 1356  972 R    4  0.0   0:04.48 top
 5368 www-data  20   0  296m 6976  624 R    3  0.1   0:00.98 apache2
 5363 root      20   0  102m 2128  628 R    1  0.0   0:01.45 proftpd
    1 root      20   0 24204 1760  912 S    0  0.0   1:31.62 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   0:53.40 ksoftirqd/0
    5 root      20   0     0    0    0 S    0  0.0   0:00.49 kworker/u:0
    6 root      RT   0     0    0    0 S    0  0.0   0:00.62 migration/0
    7 root      RT   0     0    0    0 S    0  0.0   3:14.39 watchdog/0
    8 root      RT   0     0    0    0 S    0  0.0   2:49.77 migration/1
   10 root      20   0     0    0    0 S    0  0.0   0:12.92 ksoftirqd/1
   12 root      RT   0     0    0    0 S    0  0.0   4:01.38 watchdog/1
   13 root      RT   0     0    0    0 S    0  0.0   0:34.39 migration/2
   15 root      20   0     0    0    0 S    0  0.0   0:12.88 ksoftirqd/2
   16 root      RT   0     0    0    0 S    0  0.0   3:31.75 watchdog/2
   17 root      RT   0     0    0    0 S    0  0.0   1:10.81 migration/3
   19 root      20   0     0    0    0 S    0  0.0   0:08.38 ksoftirqd/3
   20 root      RT   0     0    0    0 S    0  0.0   3:30.11 watchdog/3
   21 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset
   22 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper
   23 root      20   0     0    0    0 S    0  0.0   0:00.00 kdevtmpfs
   24 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns
   25 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/u:1
   27 root      20   0     0    0    0 S    0  0.0   0:00.08 bdi-default
   28 root       0 -20     0    0    0 S    0  0.0   0:00.00 kintegrityd
   29 root       0 -20     0    0    0 S    0  0.0   0:00.00 kblockd
   30 root       0 -20     0    0    0 S    0  0.0   0:00.00 ata_sff
   31 root      20   0     0    0    0 S    0  0.0   0:00.00 khubd

kswapd0, sync_supers가 이 시간에만 실행되는 것을 확인했습니다. 그것들은 무엇입니까? 물리적 메모리가 충분하므로 스왑 메모리가 필요하지 않습니까? archive.pl 및 cron_으로 시작하는 기타 명령은 10분마다 실행되는 제가 작성한 스크립트입니다. 그들은 하드 디스크에 많이 액세스하지만 서버 실행 속도를 저하시키지는 않습니다. 5분정도 지나면 정상으로 돌아옵니다. 미리 감사드립니다.

답변1

한 가지 확실한 점은 로드 평균이 통제 불능이라는 것입니다 load average: 36.01, 23.39, 10.79. 커널 스레드를 보면 VM에 4개의 vCPU가 있는 것으로 보이며 CPU에 대해 정규화한 후 로드 평균은 9,5.84, 2.70으로 이는 정말 높습니다. 1.0을 초과하는 로드 평균은 I/O, 메모리 또는 CPU 과부하에 대해 조사되어야 합니다.

귀하의 경우 디스크 I/O는 문제가 되지 않는 것으로 보이며 0.0%waCPU가 I/O를 기다리는 데 시간을 낭비하지 않고 상태에 프로세스가 없는 것으로 나타납니다 D.

메모리 - 스와핑이 보이지 않으며 실제 메모리 사용량이 RES좋아 보입니다.

CPU - 작업이 있고 상위 출력에서 ​​CPU 주기를 놓고 경합하는 상태 38 running의 많은 프로세스를 볼 수 있습니다 .R

나는 통과하는 것을 추천하고 싶다이 리눅스 저널 링크높은 부하 평균 문제를 해결합니다. 예를 들어 크론 작업을 오전 9시 창 밖으로 이동하여 시작할 수 있습니다.

관련 정보