Utilizarea ridicată a memoriei nu este întotdeauna o problemă - memoria este acolo pentru a fi folosită, astfel încât sistemul de operare / software-ul o folosește ca cache. Este o problemă doar dacă sistemul de operare începe să distrugă procesele deoarece nu are suficientă memorie.
Ne-ați oferit foarte puține informații, nici măcar rezultate „de top”, așa că ceea ce am pus mai jos este o presupunere.
În cazul dumneavoastră, bănuiesc că ați configurat PHP pentru a avea mai multe fire disponibile decât capacitatea de memorie disponibilă. Ar trebui să vă asigurați că nu ați supraalocat memorie fiecărui lucrător PHP și că nu aveți prea mulți lucrători configurați.
Pe Ubuntu, configurația mea este la /etc/php/7.4/fpm/pool.d/www.conf. Intrările cheie așa cum le-am configurat pentru serverul meu cu 512MB RAM și 1GB swap sunt mai jos.
pm = dinamic
pm.max_children = 3
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
Puteți folosi alternativ „pm = ondemand”, ceea ce înseamnă că nu sunt creați lucrători PHP până când nu sunt necesari. Acest lucru este util doar pentru site-urile web cu volum foarte mic, unde timpul de răspuns nu este prea important.
În php.ini dvs. (care pentru mine este /etc/php/7.4/fpm/php.ini) puteți configura limita de memorie pentru fiecare fir de lucru. Aceasta este cantitatea de memorie oferită fiecărui fir de lucru - ajustați-o cât mai puțin posibil, cât timp site-ul dvs. încă funcționează. Acesta este configurat pentru Wordpress.
limita_memorie = 128M