1. apt install sysstat

  2. edit file www-conf pada /etc/php/8.2/fpm/pool.d


edit baris berikut ini menjadi :
pm = dynamic pm.max_children = 25 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 20 pm.max_requests = 500

lalu save

systemctl restart php8.2-fpm

  1. Buat File di /var/www/html/restart-php-fpm.sh

  2. chmod +x restart-php-fpm.sh

  3. lalu isikan script berikut ini : 


#!/bin/bash


CPU=$(sar 5 5 | grep "Average" | sed 's/^.* //')

CPU=$( printf "%.0f" $CPU )


DATE=$(date "+%Y-%m-%d %H:%M:%S")


if [ "$CPU" -lt 18 ]

then

    sudo service php8.2-fpm restart

    echo "$DATE direstart, High CPU, sisa $CPU%" >> /var/www/html/cpu_usage.log

else

    echo "$DATE Low CPU, sisa $CPU%" >> /var/www/html/cpu_usage.log

fi


  1. lalu coba jalankan dengan perintah berikut ./restart-php-fpm.sh

maka akan muncul seperti pada gambar dibawah ini 



  1. Buat script tersebut berjalan di cron selama lima menit

  2. crontab -e

  3. masukan peintah berikut di paling bawah 

3 * * * * cd /var/www/html/ && sh restart-php-fpm.sh


lalu simpan

maka script tersebut akan berjalan selama 5 menit sekali