CentOS 7中php fpm进程太多怎么办
php fpm进程太多的解决办法:首先查看php进程总数;然后列出消耗内存最多的前50个进程;接着通过修改配置文件来优化“php-fpm”;最后重启服务器即可。
推荐:《PHP视频教程》
解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题
什么是php-fpm:
php-fpm即FastCGI进程管理器,用于控制php的内存和进程等。
操作环境:
CentOS 7
问题检查:
首先查看php进程总数:
pstree|grep php-fpm
回显:
|-php-fpm---20*[php-fpm]
根据回显信息可知,查询时有20个php-fpm进程。
也可以通过下面的命令列出消耗内存最多的前50个进程:
ps auxw|head -1;ps auxw|sort -rn -k4|head -50
解决过程:
下面我们通过修改配置文件来优化php-fpm,以达到降低内存使用率的目的。
我的php-fpm配置文件在 …/server/php/etc/ 目录下,进入该目录。
先备份一下原配置文件:
cp php-fpm.conf php-fpm.conf.bak
注:使用vim打开配置文件后,按Esc键,之后输入”/”, 再输入“xxx”可以查找“xxx”这个字符串。
具体配置参数如下:
pm.max_children = 100改为:pm.max_children = 25 pm.start_servers = 20改为pm.start_servers = 5 pm.min_spare_servers = 5改为pm.min_spare_servers = 2 pm.max_spare_servers = 35改为pm.max_spare_servers = 10
重启服务器:
reboot
重启后可以发现内存使用率相比于之前降低了。
注:
php-fpm.conf中参数作用的说明:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
进行上述设置时,我将php-fpm的执行方式设置成了动态:
pm = dynamic
php-fpm有两种执行方式:
一种是Static静态,另一种是Dynamic动态。如果设置成静态,那么只有 pm.max_children 这个参数起作用。如果设置成动态则有 pm.start_servers 、 pm.min_spare_servers 和 pm.max_spare_servers 这三个参数起作用。设置成动态后,当php-fpm启动时会按照 pm.start_servers 的参数设置启动相应个数的进程,之后php-fpm的进程数量将维持在 pm.min_spare_servers 和 pm.max_spare_servers 指定的个数之间。
如何选择使用php-fpm的静态还是动态执行方式:
动态php-fpm执行方式允许php-fpm释放多余进程,从而节约内存资源。
静态php-fpm执行方式不允许php-fpm释放多于进程,避免了频繁开启或停止php-fpm进程,从而降低了服务器在某些情况下的响应时间。
Atas ialah kandungan terperinci CentOS 7中php fpm进程太多怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini menerangkan cara mengkonfigurasi putaran log di CentOS menggunakan logrotat, memperincikan pemasangan, konfigurasi, dan faedah seperti pengurusan ruang dan keselamatan cakera.

Artikel membincangkan pemasangan, konfigurasi, dan penyelesaian masalah MySQL/MariaDB di CentOS, termasuk keperluan sistem dan langkah -langkah keselamatan. (159 aksara)

Artikel ini membincangkan menggunakan Pengurusan Volume Logik (LVM) di CentOS untuk pengurusan storan yang cekap, memperincikan langkah -langkah untuk proses persediaan, lanjutan, dan sandaran/pemulihan, dan menonjolkan kelebihan LVM ke atas pembahagian tradisional.

Artikel ini menerangkan cara menguruskan perkhidmatan sistem menggunakan SystemD pada CentOS, meliputi permulaan, berhenti, membolehkan perkhidmatan boot, dan penyelesaian masalah.

Butiran artikel ini membina aplikasi PHP-FPM yang tinggi di CentOS. Ia menangani isu-isu utama seperti konfigurasi pelayan (perkakasan, tetapan PHP-FPM, pengimbangan beban), caching, pengoptimuman pangkalan data, kecekapan kod, dan pemantauan sumber.

Artikel ini membincangkan pemantauan prestasi sistem CentOS menggunakan TOP, HTOP, dan VMSTAT, memperincikan ciri, perbezaan, dan penyesuaian untuk analisis sistem yang berkesan.

Artikel ini memperincikan CentOS Backup dan Pemulihan Bencana (DR) amalan terbaik. Ia menekankan pendekatan pelbagai aspek yang merangkumi sandaran biasa (penuh, tambahan, perbezaan), penyimpanan luar tapak, dan ujian yang ketat. Kelompok ketersediaan yang tinggi

Artikel ini membincangkan menggunakan YUM dan DNF untuk pengurusan pakej di CentOS, memperincikan perintah, perbezaan, dan penyelesaian masalah mereka. Perbezaan utama termasuk kelajuan, resolusi ketergantungan, dan modulariti, dengan DNF menjadi lalai dalam CentOS 8.
