MPM Prefork Apache使用荒谬的内存量

时间:2010-03-22 22:21:12

标签: apache memory apache2 apache-config apache2.2

帮助!我的apache进程在启动时都使用了115MB的内存。

相关信息:

Linux版本(uname -a)

Linux 2.6.31-14-generic-pae #48-Ubuntu SMP Fri Oct 16 15:22:42 UTC 2009 i686 GNU/Linux

Apache版本(/ usr / sbin / apache2 -v)

Server version: Apache/2.2.8 (Ubuntu)
Server built:   Mar  9 2010 20:45:36

顶部显示(顶部-u www-data)

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
23377 www-data  20   0  115m  94m 3908 S   28  1.6   0:04.59 apache2
23375 www-data  20   0  119m  99m 5892 S    9  1.6   0:05.04 apache2
23324 www-data  20   0  116m  96m 5144 S    2  1.6   0:04.73 apache2
23283 www-data  20   0  115m  95m 4480 S    1  1.6   0:04.89 apache2
23259 www-data  20   0  116m  96m 5380 S    0  1.6   0:05.55 apache2
23370 www-data  20   0  115m  94m 4396 S    0  1.6   0:04.75 apache2
23229 www-data  20   0  116m  96m 6096 S    0  1.6   0:05.43 apache2
... and so on ...

内存映射(pmap $(pidof apache2))(实际上,只是一个apache2进程)

大部分记忆是[anon],见第5行

23324:   /usr/sbin/apache2 -k start     
08048000    332K r-x--  /usr/sbin/apache2
0809b000      8K rw---  /usr/sbin/apache2
0809d000     12K rw---    [ anon ]       
093a0000  92812K rw---    [ anon ]      
b5b6c000      4K rw---    [ anon ]       
b5b6d000    512K rw-s-    [ shmid=0x13528003 ]
b5fa8000     16K r-x--  /lib/tls/i686/cmov/libnss_dns-2.7.so
b5fac000      8K rw---  /lib/tls/i686/cmov/libnss_dns-2.7.so
b5fae000    120K r-x--  /usr/lib/php5/20060613+lfs/suhosin.so
b5fcc000     16K rw---  /usr/lib/php5/20060613+lfs/suhosin.so
b5fd0000      4K rw---    [ anon ]                           
b5fd1000     76K r-x--  /usr/lib/php5/20060613+lfs/pdo.so    
b5fe4000      8K rw---  /usr/lib/php5/20060613+lfs/pdo.so    
b5fe6000     92K r-x--  /usr/lib/php5/20060613+lfs/mysqli.so 
b5ffd000      8K rw---  /usr/lib/php5/20060613+lfs/mysqli.so 
b5fff000   1648K r-x--  /usr/lib/libmysqlclient.so.15.0.0    
b619b000    268K rw---  /usr/lib/libmysqlclient.so.15.0.0    
b61de000      4K rw---    [ anon ]                           
b61f0000     92K r-x--  /usr/lib/libxcb.so.1.0.0             
b6207000      4K rw---  /usr/lib/libxcb.so.1.0.0             
b6208000    164K r-x--  /usr/lib/libfontconfig.so.1.3.0      
b6231000      4K rw---  /usr/lib/libfontconfig.so.1.3.0      
b6232000    124K r-x--  /usr/lib/libjpeg.so.62.0.0           
b6251000      4K rw---  /usr/lib/libjpeg.so.62.0.0           
b6252000    136K r-x--  /usr/lib/libpng12.so.0.15.0          
b6274000      4K rw---  /usr/lib/libpng12.so.0.15.0          
b6275000     60K r-x--  /usr/lib/libXpm.so.4.11.0            
b6284000      4K rw---  /usr/lib/libXpm.so.4.11.0            
b6285000    912K r-x--  /usr/lib/libX11.so.6.2.0             
b6369000     12K rw---  /usr/lib/libX11.so.6.2.0             
b636c000    424K r-x--  /usr/lib/libfreetype.so.6.3.16       
b63d6000     12K rw---  /usr/lib/libfreetype.so.6.3.16       
b63d9000    236K r-x--  /usr/lib/libt1.so.5.1.1              
b6414000     12K rw---  /usr/lib/libt1.so.5.1.1              
b6417000     84K rw---    [ anon ]                           
b642c000    116K r-x--  /usr/lib/libgd.so.2.0.0              
b6449000    128K rw---  /usr/lib/libgd.so.2.0.0              
b6469000     16K rw---    [ anon ]                           
b646d000     88K r-x--  /usr/lib/php5/20060613+lfs/gd.so     
b6483000     16K rw---  /usr/lib/php5/20060613+lfs/gd.so     
b6487000    192K r-x--  /usr/lib/libidn.so.11.5.30           
b64b7000      4K rw---  /usr/lib/libidn.so.11.5.30           
b64b8000    232K r-x--  /usr/lib/libcurl.so.4.0.1            
b64f2000      4K rw---  /usr/lib/libcurl.so.4.0.1            
b64f8000     44K r-x--  /usr/lib/php5/20060613+lfs/mysql.so  
b6503000      4K rw---  /usr/lib/php5/20060613+lfs/mysql.so  
b6504000    268K r-x--  /usr/lib/libgmp.so.3.4.2             
b6547000      4K rw---  /usr/lib/libgmp.so.3.4.2             
b6548000    648K r-x--  /usr/lib/libclamav.so.5.0.4          
b65ea000     44K rw---  /usr/lib/libclamav.so.5.0.4          
b65f8000     52K r-x--  /usr/lib/php5/20060613+lfs/curl.so   
b6605000      4K rw---  /usr/lib/php5/20060613+lfs/curl.so   
b6606000    148K r-x--  /usr/lib/libmcrypt.so.4.4.7          
b662b000      8K rw---  /usr/lib/libmcrypt.so.4.4.7          
b662d000     28K rw---    [ anon ]                           
b6634000     24K r-x--  /usr/lib/php5/20060613+lfs/pdo_mysql.so
b663a000      4K rw---  /usr/lib/php5/20060613+lfs/pdo_mysql.so
b663b000     16K r-x--  /usr/lib/libXdmcp.so.6.0.0             
b663f000      4K rw---  /usr/lib/libXdmcp.so.6.0.0             
b6640000     12K r-x--  /usr/lib/php5/20060613+lfs/clamav.so   
b6643000      4K rw---  /usr/lib/php5/20060613+lfs/clamav.so   
b6644000   1036K r-x--  /usr/lib/libc-client.so.2007.0         
b6747000     28K rw---  /usr/lib/libc-client.so.2007.0         
b674e000      4K rw---    [ anon ]                             
b6750000     24K r-x--  /usr/lib/libltdl.so.3.1.6              
b6756000      4K rw---  /usr/lib/libltdl.so.3.1.6              
b6757000     32K r-x--  /usr/lib/php5/20060613+lfs/mcrypt.so   
b675f000      4K rw---  /usr/lib/php5/20060613+lfs/mcrypt.so   
b6760000     88K r-x--  /usr/lib/php5/20060613+lfs/imap.so     
b6776000      4K rw---  /usr/lib/php5/20060613+lfs/imap.so     
b6777000    104K r-x--  /usr/local/lib/libssh2.so              
b6791000      4K rw---  /usr/local/lib/libssh2.so              
b6792000   1324K r-x--  /usr/lib/ZendOptimizer.so              
b68dd000     68K rw---  /usr/lib/ZendOptimizer.so              
b68ee000     20K rw---    [ anon ]                             
b68f3000      8K r-x--  /usr/lib/libXau.so.6.0.0               
b68f5000      4K rw---  /usr/lib/libXau.so.6.0.0               
b68f6000     52K r-x--  /usr/lib/php5/20060613+lfs/ssh2.so     
b6903000      4K rw---  /usr/lib/php5/20060613+lfs/ssh2.so     
b6904000    252K r----  /usr/lib/locale/en_US.utf8/LC_CTYPE    
b6974000     64K rw-s-  /dev/zero (deleted)                    
b6984000     36K r-x--  /lib/tls/i686/cmov/libnss_files-2.7.so 
b698d000      8K rw---  /lib/tls/i686/cmov/libnss_files-2.7.so 
b698f000     32K r-x--  /lib/tls/i686/cmov/libnss_nis-2.7.so   
b6997000      8K rw---  /lib/tls/i686/cmov/libnss_nis-2.7.so   
b6999000     28K r-x--  /lib/tls/i686/cmov/libnss_compat-2.7.so
b69a0000      8K rw---  /lib/tls/i686/cmov/libnss_compat-2.7.so
b69a2000     36K r-x--  /lib/libpam.so.0.81.6                  
b69ab000      4K rw---  /lib/libpam.so.0.81.6                  
b69ac000     28K r--s-  /usr/lib/gconv/gconv-modules.cache     
b69b3000      8K r-x--  /usr/lib/apache2/modules/mod_userdir.so
b69b5000      4K rw---  /usr/lib/apache2/modules/mod_userdir.so
b69b6000    148K r-x--  /usr/lib/apache2/modules/mod_ssl.so    
b69db000      8K rw---  /usr/lib/apache2/modules/mod_ssl.so    
b69dd000      8K rw---    [ anon ]                             
b69df000      8K r-x--  /usr/lib/apache2/modules/mod_setenvif.so
b69e1000      4K rw---  /usr/lib/apache2/modules/mod_setenvif.so
b69e2000   1128K r-x--  /usr/lib/libxml2.so.2.6.31              
b6afc000     20K rw---  /usr/lib/libxml2.so.2.6.31              
b6b01000      4K rw---    [ anon ]                              
b6b02000     80K r-x--  /lib/tls/i686/cmov/libnsl-2.7.so        
b6b16000      8K rw---  /lib/tls/i686/cmov/libnsl-2.7.so        
b6b18000      8K rw---    [ anon ]                              
b6b1a000    140K r-x--  /lib/tls/i686/cmov/libm-2.7.so          
b6b3d000      8K rw---  /lib/tls/i686/cmov/libm-2.7.so          
b6b3f000     60K r-x--  /lib/libbz2.so.1.0.4                    
b6b4e000      4K rw---  /lib/libbz2.so.1.0.4                    
b6b4f000      4K r-x--  /usr/lib/libxcb-xlib.so.0.0.0           
b6b50000      4K rw---  /usr/lib/libxcb-xlib.so.0.0.0           
b6b51000     56K r-x--  /usr/lib/apache2/modules/mod_rewrite.so 
b6b5f000      4K rw---  /usr/lib/apache2/modules/mod_rewrite.so 
b6b60000   5060K r-x--  /usr/lib/apache2/modules/libphp5.so     
b7051000    208K rw---  /usr/lib/apache2/modules/libphp5.so     
b7085000     20K rw---    [ anon ]                              
b708a000     28K r-x--  /usr/lib/apache2/modules/mod_negotiation.so
b7091000      4K rw---  /usr/lib/apache2/modules/mod_negotiation.so
b7092000     12K r-x--  /usr/lib/apache2/modules/mod_mime.so       
b7095000      4K rw---  /usr/lib/apache2/modules/mod_mime.so       
b7096000     36K r-x--  /usr/lib/apache2/modules/mod_include.so    
b709f000      4K rw---  /usr/lib/apache2/modules/mod_include.so    
b70a0000      4K r-x--  /usr/lib/apache2/modules/mod_env.so        
b70a1000      4K rw---  /usr/lib/apache2/modules/mod_env.so        
b70a2000      4K r-x--  /usr/lib/apache2/modules/mod_dir.so        
b70a3000      4K rw---  /usr/lib/apache2/modules/mod_dir.so        
b70a4000     20K r-x--  /usr/lib/apache2/modules/mod_cgi.so        
b70a9000      4K rw---  /usr/lib/apache2/modules/mod_cgi.so        
b70aa000     28K r-x--  /usr/lib/apache2/modules/mod_autoindex.so  
b70b1000      4K rw---  /usr/lib/apache2/modules/mod_autoindex.so  
b70b2000      4K r-x--  /usr/lib/apache2/modules/mod_authz_user.so 
b70b3000      4K rw---  /usr/lib/apache2/modules/mod_authz_user.so 
b70b4000      8K r-x--  /usr/lib/apache2/modules/mod_authz_host.so 
b70b6000      4K rw---  /usr/lib/apache2/modules/mod_authz_host.so 
b70b7000      8K r-x--  /usr/lib/apache2/modules/mod_authz_groupfile.so
b70b9000      4K rw---  /usr/lib/apache2/modules/mod_authz_groupfile.so
b70ba000      8K rw---    [ anon ]                                     
b70bc000     12K r-x--  /lib/libgpg-error.so.0.3.0                     
b70bf000      4K rw---  /lib/libgpg-error.so.0.3.0                     
b70c0000      4K rw---    [ anon ]                                     
b70c1000      8K r-x--  /lib/libkeyutils-1.2.so                        
b70c3000      4K rw---  /lib/libkeyutils-1.2.so                        
b70c4000     28K r-x--  /usr/lib/libkrb5support.so.0.1                 
b70cb000      4K rw---  /usr/lib/libkrb5support.so.0.1                 
b70cc000    136K r-x--  /usr/lib/libk5crypto.so.3.1                    
b70ee000      4K rw---  /usr/lib/libk5crypto.so.3.1                    
b70ef000    300K r-x--  /lib/libgcrypt.so.11.2.3                       
b713a000      8K rw---  /lib/libgcrypt.so.11.2.3                       
b713c000     80K r-x--  /usr/lib/libz.so.1.2.3.3                       
b7150000      4K rw---  /usr/lib/libz.so.1.2.3.3                       
b7151000      4K rw---    [ anon ]                                     
b7152000     60K r-x--  /usr/lib/libtasn1.so.3.0.12                    
b7161000      4K rw---  /usr/lib/libtasn1.so.3.0.12                    
b7162000    160K r-x--  /usr/lib/libgssapi_krb5.so.2.2                 
b718a000      4K rw---  /usr/lib/libgssapi_krb5.so.2.2                 
b718b000      8K r-x--  /lib/libcom_err.so.2.1                         
b718d000      4K rw---  /lib/libcom_err.so.2.1                         
b718e000    556K r-x--  /usr/lib/libkrb5.so.3.3                        
b7219000      8K rw---  /usr/lib/libkrb5.so.3.3                        
b721b000   1192K r-x--  /usr/lib/i686/cmov/libcrypto.so.0.9.8          
b7345000     84K rw---  /usr/lib/i686/cmov/libcrypto.so.0.9.8          
b735a000     16K rw---    [ anon ]                                     
b735e000    248K r-x--  /usr/lib/i686/cmov/libssl.so.0.9.8             
b739c000     16K rw---  /usr/lib/i686/cmov/libssl.so.0.9.8             
b73a0000    452K r-x--  /usr/lib/libgnutls.so.13.9.1                   
b7411000     20K rw---  /usr/lib/libgnutls.so.13.9.1                   
b7416000     88K r-x--  /usr/lib/libsasl2.so.2.0.22                    
b742c000      4K rw---  /usr/lib/libsasl2.so.2.0.22                    
b742d000     60K r-x--  /lib/tls/i686/cmov/libresolv-2.7.so            
b743c000      8K rw---  /lib/tls/i686/cmov/libresolv-2.7.so            
b743e000      8K rw---    [ anon ]                                     
b7440000      8K r-x--  /lib/tls/i686/cmov/libdl-2.7.so                
b7442000      8K rw---  /lib/tls/i686/cmov/libdl-2.7.so                
b7444000     36K r-x--  /lib/tls/i686/cmov/libcrypt-2.7.so             
b744d000      8K rw---  /lib/tls/i686/cmov/libcrypt-2.7.so             
b744f000    160K rw---    [ anon ]                                     
b7477000     28K r-x--  /lib/tls/i686/cmov/librt-2.7.so                
b747e000      8K rw---  /lib/tls/i686/cmov/librt-2.7.so                
b7480000     12K r-x--  /lib/libuuid.so.1.2                            
b7483000      4K rw---  /lib/libuuid.so.1.2                            
b7484000    124K r-x--  /usr/lib/libexpat.so.1.5.2                     
b74a3000      8K rw---  /usr/lib/libexpat.so.1.5.2                     
b74a5000    396K r-x--  /usr/lib/libsqlite3.so.0.8.6                   
b7508000      8K rw---  /usr/lib/libsqlite3.so.0.8.6                   
b750a000    120K r-x--  /usr/lib/libpq.so.5.1                          
b7528000      4K rw---  /usr/lib/libpq.so.5.1                          
b7529000   1172K r-x--  /usr/lib/libdb-4.6.so                          
b764e000      8K rw---  /usr/lib/libdb-4.6.so                          
b7650000      4K rw---    [ anon ]                                     
b7651000     48K r-x--  /usr/lib/liblber-2.4.so.2.0.5                  
b765d000      4K rw---  /usr/lib/liblber-2.4.so.2.0.5                  
b765e000    244K r-x--  /usr/lib/libldap_r-2.4.so.2.0.5                
b769b000      4K rw---  /usr/lib/libldap_r-2.4.so.2.0.5                
b769c000      8K rw---    [ anon ]                                     
b769e000   1316K r-x--  /lib/tls/i686/cmov/libc-2.7.so                 
b77e7000      4K r----  /lib/tls/i686/cmov/libc-2.7.so                 
b77e8000      8K rw---  /lib/tls/i686/cmov/libc-2.7.so                 
b77ea000     12K rw---    [ anon ]                                     
b77ed000     80K r-x--  /lib/tls/i686/cmov/libpthread-2.7.so           
b7801000      8K rw---  /lib/tls/i686/cmov/libpthread-2.7.so           
b7803000      8K rw---    [ anon ]                                     
b7805000    136K r-x--  /usr/lib/libapr-1.so.0.2.11                    
b7827000      4K rw---  /usr/lib/libapr-1.so.0.2.11                    
b7828000      4K rw---    [ anon ]
b7829000    100K r-x--  /usr/lib/libaprutil-1.so.0.2.11
b7842000      4K rw---  /usr/lib/libaprutil-1.so.0.2.11
b7843000    152K r-x--  /usr/lib/libpcre.so.3.12.1
b7869000      4K rw---  /usr/lib/libpcre.so.3.12.1
b786a000      4K r-x--  /usr/lib/apache2/modules/mod_authz_default.so
b786b000      4K rw---  /usr/lib/apache2/modules/mod_authz_default.so
b786c000      4K r-x--  /usr/lib/apache2/modules/mod_authn_file.so
b786d000      4K rw---  /usr/lib/apache2/modules/mod_authn_file.so
b786e000     24K r-x--  /usr/lib/apache2/modules/mod_auth_digest.so
b7874000      4K rw---  /usr/lib/apache2/modules/mod_auth_digest.so
b7875000      8K r-x--  /usr/lib/apache2/modules/mod_auth_basic.so
b7877000      4K rw---  /usr/lib/apache2/modules/mod_auth_basic.so
b7878000      8K r-x--  /usr/lib/apache2/modules/mod_alias.so
b787a000      4K rw---  /usr/lib/apache2/modules/mod_alias.so
b787b000      8K rw---    [ anon ]
b787d000      4K r-x--    [ anon ]
b787e000    104K r-x--  /lib/ld-2.7.so
b7898000      8K rw---  /lib/ld-2.7.so
bfd68000     76K rwx--    [ stack ]
bfd7b000      8K rw---    [ anon ]
 total   119008K

我不知道发生了什么。我已经尝试调整通常的参数(MaxClients,MaxRequestsPerClient等,但那些没有做任何事情。)另请注意,这是启动时的内存使用 - 它没有增长,它只是这样开始然后保持或多或少不变。

以下是值:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
StartServers 1
MinSpareServers 1
MaxSpareServers 5
MaxClients 50
MaxRequestsPerChild 0

我们还加载了以下模块(未编译):

alias auth_basic auth_digest authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dir env include mime negotiation php5 rewrite setenvif ssl userdir 

想法?

1 个答案:

答案 0 :(得分:0)

事实证明,问题实际上不是Apache的错,而是ClamAV的错。 (病毒扫描程序)。它将病毒数据库加载到各处的内存中,而不是需要的地方。

这是一种特殊情况,但请检查以确保ClamAV没有加载80-Mb病毒数据库。如果你需要ClamAV,使用dlopen等从PHP加载它,而不是让Apache加载它。