統計php-fpm內存占用


查看php-fpm的內存占用

 

1、查看php-fpm的進程個數

ps -ef |grep "php-fpm"|grep "pool"|wc -l

2、查看每個php-fpm占用的內存大小

ps -ylC php-fpm --sort:rss

3.查看PHP-FPM在你的機器上的平均內存占用

ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'

4.查看單個php-fpm進程消耗內存的明細

pmap $(pgrep php-fpm) | less

 

php-fpm的參數優化

pm = dynamic #對於專用服務器,pm可以設置為static。#如何控制子進程,選項有static和dynamic。如果選擇static,則由pm.max_children指定固定的子進程數。如果選擇dynamic,則由下開參數決定:
pm.max_children #子進程最大數
pm.start_servers #啟動時的進程數
pm.min_spare_servers #保證空閑進程數最小值,如果空閑進程小於此值,則創建新的子進程
pm.max_spare_servers #保證空閑進程數最大值,如果空閑進程大於此值,此進行清理

 

對於內存大的服務器(比如8G以上)來說,指定靜態的 max_children 實際上更為妥當,因為這樣不需要進行額外的進程數目控制,會提高效率。

對於內存小的服務器,使用動態方式。具體最大數量根據 內存/20M 得到。比如512M的VPS,建議 pm.max_spare_servers 設置為20。至於 pm.min_spare_servers ,則建議根據服務器的負載情況來設置,比較合適的值在5~10之間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM