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

Что это за 99 +% пиков в использовании ЦП Google Cloud VM?

Итак, у меня есть виртуальная машина Google Cloud, на которой работает магазин woocommerce. Он работает нормально, но теперь я столкнулся с этой проблемой во второй раз. ВМ Использование процессора внезапно идет более 99% на длительный период времени. В это время сайт практически отключен.

Когда я останавливаю виртуальную машину, а затем перезапускаю ее, она возвращается к нормальному использованию ЦП. <1% большую часть времени и 1-10% некоторые периоды времени.

Также, когда я использую sudo kill с идентификаторами процесса .php-fpm.bin он решает проблему на несколько часов, но затем запускает .php-fpm.bin снова под другим PID.

Также, когда я использую killall на .php-fpm.bin сайт полностью отключается.

Это большая проблема что очень скоро может стать очень плохим, и я новичок в серверах.

Любая помощь с первопричиной этого будет очень-очень ценится!

--РЕДАКТИРОВАТЬ--

Вот мое использование ЦП, показанное с помощью 'top'по SSH:

результат вверху по ssh

Что-то необычное происходит с .php-fpm.binКто-нибудь знает, кем я могу быть?

Это видно, когда я печатаю ps auxв SSH:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
daemon   10048 99.9  0.9 286860 71564 ?        R    13:13  83:15 php-fpm: pool wordpress 

Если вам нужна другая статистика мониторинга, сообщите мне, что вам нужно знать, и я поищу ее для вас.

Предостережение: я тоже не сервер / системный администратор, но в начале этого года мне пришлось заняться этим.

Я столкнулся с подобными проблемами производительности при запуске процессов node.js. Возможно, есть параллели с тем, что вы видите. В моем случае, на основе изменений, с которыми я экспериментировал, похоже, что это связано с достижением максимального количества страниц.

Это внесенные мной изменения конфигурации, которые помогли решить проблемы:

В /etc/security/limits.d/custom.conf

root soft nofile 1000000
root hard nofile 1000000
* soft nofile 1000000
* hard nofile 1000000

В /etc/sysctl.d/99-sysctl.conf

fs.file-max = 1000000
fs.nr_open = 1000000
net.nf_conntrack_max = 1048576

Чтобы обновить запущенные процессы:

sudo sysctl -w fs.file-max=1000000
sudo sysctl -w fs.nr_open=1000000
sudo sysctl -w net.nf_conntrack_max=1048576

Как root:

ulimit -n 1000000

Ваш пробег может варьироваться в зависимости от того, что управляет вашими процессами.

Вот некоторая документация с дальнейшими настройками sysctl, некоторые из которых я планирую изучить и реализовать: https://easyengine.io/tutorials/linux/sysctl-conf/

@luissimo На этом сервере нет места подкачки (см. верхние заголовки), поэтому он не может выгружать процессы. Выделите диск (вероятно, минимум 200 ГБ). У вас 8 ГБ памяти. Поэтому используйте fdisk для разделения диска на две части, скажем, 1-й раздел размером 16 ГБ в качестве области подкачки, 2-й раздел для остальных. Посмотрим, поможет ли это.