Назад | Перейти на главную страницу

Случайная высокая загрузка ЦП

У меня есть сервер, который внезапно достигает пика средней нагрузки от 4 до 6 в случайное время дня и не может определить причину. В большинстве случаев средняя нагрузка колеблется от 1,5 до 2, а затем внезапно увеличивается до 4 или 6 и снова падает. У меня работает mariadb и процессы apache, но когда я проверяю свой apache, чтобы увидеть, есть ли скачок трафика, он выглядит примерно так же, как и количество запросов, обрабатываемых с помощью mariadb.

вот верх:

top - 23:58:16 up 2 days,  7:05,  1 user,  load average: 3.64, 3.07, 2.93
Tasks: 290 total,   1 running, 289 sleeping,   0 stopped,   0 zombie
%Cpu(s): 18.5 us, 10.8 sy,  0.0 ni, 70.3 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem : 13174942+total, 11137099+free,  3200604 used, 17177824 buff/cache
KiB Swap:  4190204 total,  4190204 free,        0 used. 12759236+avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                       
  934 mysql     20   0 8965860 1.360g   9376 S 353.8  1.1   4240:34 mysqld                        
    9 root      20   0       0      0      0 S   0.3  0.0   5:48.98 rcu_sched                     
   43 root      20   0       0      0      0 S   0.3  0.0   0:04.45 ksoftirqd/7                   
  798 root      20   0   24192   1700   1380 S   0.3  0.0   0:09.10 systemd-logind                
17627 apache    20   0  586792  22372   8652 S   0.3  0.0   0:00.61 httpd                         
24715 root      20   0       0      0      0 S   0.3  0.0   0:04.30 kworker/u24:0                 
    1 root      20   0  191404   4356   2404 S   0.0  0.0   0:20.04 systemd                       
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                      
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.80 ksoftirqd/0                   
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                  
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.17 migration/0       

Еще несколько деталей:

              total        used        free      shared  buff/cache   available
Mem:         128661        3534      104646          88       20480      124164
Swap:          4091           0        4091
Total DISK READ :   0.00 B/s | Total DISK WRITE :    1574.60 K/s
Actual DISK READ:   0.00 B/s | Actual DISK WRITE:       0.00 B/s

Похоже, это проблема, связанная с процессором, поскольку у меня все еще много оперативной памяти, а SSD не работает ни с чем, близким к своей скорости чтения / записи. Я подозреваю, что я запускаю все свои таблицы базы данных на движке MyISAM, и я вижу много "ожиданий блокировок на уровне таблиц", но в то же время я чувствую, что операции чтения / записи согласованы в течение дня, поэтому я не уверен почему это просто внезапно вспыхнуло. Также не похоже, чтобы выбросить больше памяти или SSD помогло бы, поскольку он почти не использует что-либо из этого. Может быть, у меня плохая конфигурация MariaDB?

  1. Попробуйте использовать общий журнал запросов, чтобы узнать, есть ли у вас процессы cron или другие запросы. https://mariadb.com/kb/en/mariadb/general-query-log/
  2. Такие инструменты, как Monit, newrelic или datadog, можно использовать для подтверждения того, что использует ваш процессор, сколько и когда