查看php-fpm内存占用命令

来自linux中国网wiki
跳到导航 跳到搜索

php-fpm内存占用

命令讲解详情

用到的ps命令的选项如下 
 
-l或l:采用详细的格式来显示程序状况。

-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位。 Do not show flags; show rss in place of addr.  This option can only be used with -l.

-C by command name <指令名称>:指定执行指令的名称,并列出该指令的程序的状况

命令1 
[~]$ ps -lC   php-fpm
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
5 S   498  6349 21556  0  80   0 - 803311 inet_c ?       00:01:45 php-fpm
5 S     0 21556     1  0  80   0 - 75039 ep_pol ?        00:01:15 php-fpm
5 S   498 21557 21556  0  80   0 - 2048885 inet_c ?      00:04:44 php-fpm
5 S   498 21558 21556  0  80   0 - 2046997 inet_c ?      00:04:43 php-fpm
5 S   498 21559 21556  0  80   0 - 2048469 inet_c ?      00:04:42 php-fpm

命令2 由1 进步而来 

查看每个FPM的内存占用:#RSS段为内存
ps -ylC php-fpm --sort:rss
S   UID   PID  PPID  C PRI  NI   RSS    SZ WCHAN  TTY          TIME CMD
S     0 21556     1  0  80   0  8388 75039 ep_pol ?        00:01:16 php-fpm
S   498  6349 21556  0  80   0 11728 811119 inet_c ?       00:01:46 php-fpm
S   498 21564 21556  0  80   0 14940 2053445 inet_c ?      00:04:42 php-fpm
S   498 21693 21556  0  80   0 14944 2054981 inet_c ?      00:04:44 php-fpm
S   498 21735 21556  0  80   0 14944 2054789 inet_c ?      00:04:45 php-fpm


由上可见单个php-fpm(php7) 程占用14M左右;( ps :php5.6的大概是19M ; 网上说的 23M 应该 是 php5.3 ) 

#php-fpm 进程总数
ps -ylC php-fpm --sort:rss|wc -l
402

所有的内存使用问题 差不多6G都不到呢 
15M × 400=6000M

和上面的计算出来差不多
php进程占用内存的大小,GB为单位
ps --no-headers -o rss -C php-fpm |awk '{ sum+=$1 } END { print (sum/1024/1024,"GB") }'
4.12779 GB

一个php-cgi 5.3 进程,大概占用多少内存呢,大概是20MB(具体的要看你的php加载了多少模块)。可以通过pmap指令查看哪些地方占用了内存。所以,尽量不要加载不必要的php扩展模块,可以减少不必要的内存浪费。
而php-fpm(php7) 程占用14M左右; ps :php5.6的大概是19M ;
所以建议在打包时 能不要的模块尽量不要喽,虽然php哥都喜欢大而全 哈哈



ps找出消耗内存的元凶 找出最占用内存的进程
ps -A --sort -rss -o comm,pmem,pcpu   |uniq -c | head -10
      1 COMMAND         %MEM %CPU
      1 java             1.5  4.9
      1 java             1.3  0.2

      8 nginx            0.1  0.8

SEE ALSO

php-fpm占用内存过高分析及解决

查看php-fpm内存占用命令

谁贪占了我的系统资源 php-fpm