由于unclose mysql连接导致apache休眠进程

时间:2018-04-24 05:46:19

标签: php mysql apache2 stack-trace

我目前正在开发一个LAMP服务器,上面有很多网站。我注意到,服务器因为Apache2有一些休眠过程而非常随机。

那些从未关闭的人,在几小时或几天后,达到允许的最大过程限制。因此,不允许新的连接。

这就是它的样子:

ps aux | grep "apache2"
www-data  6259 12.4  0.3 536604 53380 ?        S    07:26   0:03 /usr/sbin/apache2 -k start
www-data  6261  6.1  0.3 538120 54536 ?        S    07:26   0:01 /usr/sbin/apache2 -k start
pamartin  6269  0.0  0.0  12748  2168 pts/0    S+   07:27   0:00 grep apache2
www-data 13502  0.0  0.2 529276 37256 ?        S    avril23   0:01 /usr/sbin/apache2 -k start
root     20093  0.0  0.2 451640 35544 ?        Ss   avril23   0:19 /usr/sbin/apache2 -k start
www-data 30950  0.0  0.0 542220 16036 ?        S    avril23   0:06 /usr/sbin/apache2 -k start
www-data 30969  0.0  0.1 537472 17336 ?        S    avril23   0:14 /usr/sbin/apache2 -k start

如您所见,流程13502,30950和30969在几个小时后仍然存在(并且永远不会停止)。

当我在MySQL中执行SHOW FULL PROCESSLIST;时,我获得了完全相同的进程数。遗憾的是没有查询。这些SQL进程在超时28800秒后被杀死(但这并没有杀死相对的apache2进程)。

当我这样做时:

lsof -p 30950 to try to trace the process and find where this SQL con

    pamartin@sd-12345:~$ sudo lsof -p 30950
COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF     NODE NAME
apache2 30950 www-data  cwd    DIR                8,2     4096 78646280 /var/www/dickson_prod/web
apache2 30950 www-data  rtd    DIR                8,2     4096        2 /
apache2 30950 www-data  txt    REG                8,2   666552 67898205 /usr/sbin/apache2
apache2 30950 www-data  mem    REG                8,2    22952 45876984 /lib/x86_64-linux-gnu/libnss_dns-2.19.so
apache2 30950 www-data  mem    REG                8,2  1607728 67895931 /usr/lib/locale/locale-archive
apache2 30950 www-data  DEL    REG                0,4           2458124 /dev/zero
apache2 30950 www-data  DEL    REG                0,4           2481010 /dev/zero
apache2 30950 www-data  mem    REG                8,2    26258 67909552 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
apache2 30950 www-data  DEL    REG                0,4           2481008 /dev/zero
apache2 30950 www-data  mem    REG                8,2  4194305  1703969 /tmp/phptrace.ctrl
apache2 30950 www-data  mem    REG                8,2   260240 67912584 /usr/lib/x86_64-linux-gnu/libxslt.so.1.1.28
apache2 30950 www-data  mem    REG                8,2    87912 67904405 /usr/lib/x86_64-linux-gnu/libexslt.so.0.8.17
apache2 30950 www-data  mem    REG                8,2    44120 68027227 /usr/lib/php5/20131226/xsl.so
apache2 30950 www-data  mem    REG                8,2    60336 45877302 /lib/x86_64-linux-gnu/libbsd.so.0.7.0
apache2 30950 www-data  mem    REG                8,2   171800 45877051 /lib/x86_64-linux-gnu/libtinfo.so.5.9
apache2 30950 www-data  mem    REG                8,2   217760 67895755 /usr/lib/x86_64-linux-gnu/libedit.so.2.0.51
apache2 30950 www-data  mem    REG                8,2    31576 68029289 /usr/lib/php5/20131226/readline.so
apache2 30950 www-data  mem    REG                8,2    36168 68026380 /usr/lib/php5/20131226/pdo_mysql.so
apache2 30950 www-data  mem    REG                8,2   159656 68029301 /usr/lib/php5/20131226/mysqli.so
apache2 30950 www-data  mem    REG                8,2  3396448 67896211 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
apache2 30950 www-data  mem    REG                8,2    60504 68029302 /usr/lib/php5/20131226/mysql.so
apache2 30950 www-data  mem    REG                8,2    39392 67914654 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
apache2 30950 www-data  mem    REG                8,2   183080 67914547 /usr/lib/libmcrypt.so.4.4.8
apache2 30950 www-data  mem    REG                8,2    52168 68027240 /usr/lib/php5/20131226/mcrypt.so
apache2 30950 www-data  mem    REG                8,2    43880 45877308 /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
apache2 30950 www-data  mem    REG                8,2    39696 68026799 /usr/lib/php5/20131226/json.so
apache2 30950 www-data  mem    REG                8,2    55304 67901023 /usr/lib/x86_64-linux-gnu/libicuio.so.52.1
apache2 30950 www-data  mem    REG                8,2 23512848 67901025 /usr/lib/x86_64-linux-gnu/libicudata.so.52.1
apache2 30950 www-data  mem    REG                8,2  1546256 67900971 /usr/lib/x86_64-linux-gnu/libicuuc.so.52.1
apache2 30950 www-data  mem    REG                8,2  2166128 67901029 /usr/lib/x86_64-linux-gnu/libicui18n.so.52.1
apache2 30950 www-data  mem    REG                8,2   415232 68027250 /usr/lib/php5/20131226/intl.so
apache2 30950 www-data  mem    REG                8,2    20648 67898870 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
apache2 30950 www-data  mem    REG                8,2    14544 67897644 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
apache2 30950 www-data  mem    REG                8,2    62376 67901701 /usr/lib/x86_64-linux-gnu/libjbig.so.0
apache2 30950 www-data  mem    REG                8,2   138016 67916395 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
apache2 30950 www-data  mem    REG                8,2   483624 67905418 /usr/lib/x86_64-linux-gnu/libtiff.so.5.2.0
apache2 30950 www-data  mem    REG                8,2   248824 67912870 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0
apache2 30950 www-data  mem    REG                8,2   696008 67904276 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
apache2 30950 www-data  mem    REG                8,2  1776592 67897991 /usr/lib/x86_64-linux-gnu/libvpx.so.1.3.0
apache2 30950 www-data  mem    REG                8,2   289464 67915039 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.1.0
apache2 30950 www-data  mem    REG                8,2   158616 45877126 /lib/x86_64-linux-gnu/libpng12.so.0.50.0
apache2 30950 www-data  mem    REG                8,2    72904 67903734 /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
apache2 30950 www-data  mem    REG                8,2  1319088 67905847 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
apache2 30950 www-data  mem    REG                8,2   422120 67907938 /usr/lib/x86_64-linux-gnu/libgd.so.3.0.0
apache2 30950 www-data  mem    REG                8,2   114200 68032726 /usr/lib/php5/20131226/gd.so
apache2 30950 www-data  mem    REG                8,2    72136 45877250 /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
apache2 30950 www-data  mem    REG                8,2   920000 45877121 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.3
apache2 30950 www-data  mem    REG                8,2   167112 67912585 /usr/lib/x86_64-linux-gnu/libssh2.so.1.0.1
apache2 30950 www-data  mem    REG                8,2   118072 67901819 /usr/lib/x86_64-linux-gnu/librtmp.so.1
apache2 30950 www-data  mem    REG                8,2   211344 67898186 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.12
apache2 30950 www-data  mem    REG                8,2   473504 67901513 /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
apache2 30950 www-data  mem    REG                8,2    93336 68026897 /usr/lib/php5/20131226/curl.so
apache2 30950 www-data  mem    REG                8,2   104040 68029766 /usr/lib/php5/20131226/apcu.so
apache2 30950 www-data  mem    REG                8,2   118344 68032745 /usr/lib/php5/20131226/pdo.so
apache2 30950 www-data  mem    REG                8,2   163304 68037163 /usr/lib/php5/20131226/trace.so
apache2 30950 www-data  mem    REG                8,2   865166 68027500 /usr/lib/php5/20131226/xdebug.so
apache2 30950 www-data  mem    REG                8,2   160344 68029777 /usr/lib/php5/20131226/opcache.so
apache2 30950 www-data  mem    REG                8,2    47712 45876985 /lib/x86_64-linux-gnu/libnss_files-2.19.so
apache2 30950 www-data  mem    REG                8,2    43592 45876987 /lib/x86_64-linux-gnu/libnss_nis-2.19.so
apache2 30950 www-data  mem    REG                8,2    31632 45876980 /lib/x86_64-linux-gnu/libnss_compat-2.19.so
apache2 30950 www-data  mem    REG                8,2    22568 68026921 /usr/lib/apache2/modules/mod_status.so
apache2 30950 www-data  mem    REG                8,2   211440 68032338 /usr/lib/apache2/modules/mod_ssl.so
apache2 30950 www-data  mem    REG                8,2    26672 68027031 /usr/lib/apache2/modules/mod_socache_shmcb.so
apache2 30950 www-data  mem    REG                8,2    14376 68028393 /usr/lib/apache2/modules/mod_setenvif.so
apache2 30950 www-data  mem    REG                8,2    67624 68032329 /usr/lib/apache2/modules/mod_rewrite.so
apache2 30950 www-data  mem    REG                8,2    14384 68032685 /usr/lib/apache2/modules/mod_reqtimeout.so
apache2 30950 www-data  mem    REG                8,2    14256 45877370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
apache2 30950 www-data  mem    REG                8,2    48088 67897230 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
apache2 30950 www-data  mem    REG                8,2   141752 45877278 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
apache2 30950 www-data  mem    REG                8,2    90096 45877024 /lib/x86_64-linux-gnu/libgcc_s.so.1
apache2 30950 www-data  mem    REG                8,2    14640 45876854 /lib/x86_64-linux-gnu/libcom_err.so.2.1
apache2 30950 www-data  mem    REG                8,2   195400 67896036 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
apache2 30950 www-data  mem    REG                8,2   867776 67896911 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
apache2 30950 www-data  mem    REG                8,2   306072 67896149 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
apache2 30950 www-data  mem    REG                8,2  1465816 67898084 /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1
apache2 30950 www-data  mem    REG                8,2    89104 45876969 /lib/x86_64-linux-gnu/libnsl-2.19.so
apache2 30950 www-data  mem    REG                8,2  1051056 45876959 /lib/x86_64-linux-gnu/libm-2.19.so
apache2 30950 www-data  mem    REG                8,2    66856 45877304 /lib/x86_64-linux-gnu/libbz2.so.1.0.4
apache2 30950 www-data  mem    REG                8,2   316112 67902065 /usr/lib/libqdbm.so.14.14.0
apache2 30950 www-data  mem    REG                8,2   395176 67902089 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
apache2 30950 www-data  mem    REG                8,2  2070912 67902084 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
apache2 30950 www-data  mem    REG                8,2  1008120 67895536 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
apache2 30950 www-data  mem    REG                8,2   430936 67896128 /usr/lib/x86_64-linux-gnu/libonig.so.2.0.1
apache2 30950 www-data  mem    REG                8,2  9926688 68029772 /usr/lib/apache2/modules/libphp5.so
apache2 30950 www-data  mem    REG                8,2    34864 68032684 /usr/lib/apache2/modules/mod_negotiation.so
apache2 30950 www-data  mem    REG                8,2    34864 68026999 /usr/lib/apache2/modules/mod_mpm_prefork.so
apache2 30950 www-data  mem    REG                8,2    22568 68032334 /usr/lib/apache2/modules/mod_mime.so
apache2 30950 www-data  mem    REG                8,2    22568 68026709 /usr/lib/apache2/modules/mod_headers.so
apache2 30950 www-data  mem    REG                8,2    18472 68028362 /usr/lib/apache2/modules/mod_filter.so
apache2 30950 www-data  mem    REG                8,2    93784 68027676 /usr/lib/apache2/modules/mod_fastcgi.so
apache2 30950 www-data  mem    REG                8,2    10280 68032331 /usr/lib/apache2/modules/mod_env.so
apache2 30950 www-data  mem    REG                8,2    14376 68026711 /usr/lib/apache2/modules/mod_dir.so
apache2 30950 www-data  mem    REG                8,2    38952 68028363 /usr/lib/apache2/modules/mod_deflate.so
apache2 30950 www-data  mem    REG                8,2   189896 68026754 /usr/lib/apache2/modules/mod_dav_svn.so
apache2 30950 www-data  mem    REG                8,2   100392 68028383 /usr/lib/apache2/modules/mod_dav.so
apache2 30950 www-data  mem    REG                8,2    26664 68026997 /usr/lib/apache2/modules/mod_cgi.so
apache2 30950 www-data  mem    REG                8,2    38960 68026916 /usr/lib/apache2/modules/mod_autoindex.so
apache2 30950 www-data  mem    REG                8,2    10288 68028374 /usr/lib/apache2/modules/mod_authz_user.so
apache2 30950 www-data  mem    REG                8,2    35152 67897089 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.2
apache2 30950 www-data  mem    REG                8,2   537248 67895839 /usr/lib/x86_64-linux-gnu/libgmp.so.10.2.0
apache2 30950 www-data  mem    REG                8,2   191968 67895506 /usr/lib/x86_64-linux-gnu/libhogweed.so.2.5
apache2 30950 www-data  mem    REG                8,2   203520 67902251 /usr/lib/x86_64-linux-gnu/libnettle.so.4.7
apache2 30950 www-data  mem    REG                8,2    80384 67896969 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.3.2
apache2 30950 www-data  mem    REG                8,2   285104 67903743 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
apache2 30950 www-data  mem    REG                8,2  1840496 67897949 /usr/lib/x86_64-linux-gnu/libdb-5.3.so
apache2 30950 www-data  mem    REG                8,2  1173320 67902243 /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28.41.0
apache2 30950 www-data  mem    REG                8,2   113520 67895588 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
apache2 30950 www-data  mem    REG                8,2    84856 45876994 /lib/x86_64-linux-gnu/libresolv-2.19.so
apache2 30950 www-data  mem    REG                8,2    10296 67903512 /usr/lib/x86_64-linux-gnu/libsvn_fs_util-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2   202200 67903520 /usr/lib/x86_64-linux-gnu/libsvn_fs_base-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2   226968 67903517 /usr/lib/x86_64-linux-gnu/libsvn_fs_fs-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2   820792 67903367 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
apache2 30950 www-data  mem    REG                8,2   109144 45877234 /lib/x86_64-linux-gnu/libz.so.1.2.8
apache2 30950 www-data  mem    REG                8,2    59576 67896000 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.3
apache2 30950 www-data  mem    REG                8,2   327088 67896005 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.3
apache2 30950 www-data  mem    REG                8,2    80984 67903515 /usr/lib/x86_64-linux-gnu/libsvn_delta-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2    43864 67903519 /usr/lib/x86_64-linux-gnu/libsvn_fs-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2   516360 67903521 /usr/lib/x86_64-linux-gnu/libsvn_subr-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2   218008 67903523 /usr/lib/x86_64-linux-gnu/libsvn_repos-1.so.1.0.0
apache2 30950 www-data  mem    REG                8,2    23096 68029155 /usr/lib/apache2/modules/mod_authz_svn.so
apache2 30950 www-data  mem    REG                8,2    10288 68032357 /usr/lib/apache2/modules/mod_authz_host.so
apache2 30950 www-data  mem    REG                8,2    14384 68032341 /usr/lib/apache2/modules/mod_authz_groupfile.so
apache2 30950 www-data  mem    REG                8,2    26672 68026786 /usr/lib/apache2/modules/mod_authz_core.so
apache2 30950 www-data  mem    REG                8,2    10288 68032354 /usr/lib/apache2/modules/mod_authn_file.so
apache2 30950 www-data  mem    REG                8,2    14384 68028396 /usr/lib/apache2/modules/mod_authn_core.so
apache2 30950 www-data  mem    REG                8,2    14384 68028406 /usr/lib/apache2/modules/mod_auth_basic.so
apache2 30950 www-data  mem    REG                8,2    18472 68028378 /usr/lib/apache2/modules/mod_alias.so
apache2 30950 www-data  mem    REG                8,2    10288 68026677 /usr/lib/apache2/modules/mod_access_compat.so
apache2 30950 www-data  mem    REG                8,2   165856 45877111 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
apache2 30950 www-data  mem    REG                8,2    14664 45876957 /lib/x86_64-linux-gnu/libdl-2.19.so
apache2 30950 www-data  mem    REG                8,2    35176 45876956 /lib/x86_64-linux-gnu/libcrypt-2.19.so
apache2 30950 www-data  mem    REG                8,2    31784 45876997 /lib/x86_64-linux-gnu/librt-2.19.so
apache2 30950 www-data  mem    REG                8,2    18904 45877328 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
apache2 30950 www-data  mem    REG                8,2  1738176 45876914 /lib/x86_64-linux-gnu/libc-2.19.so
apache2 30950 www-data  mem    REG                8,2   137384 45876871 /lib/x86_64-linux-gnu/libpthread-2.19.so
apache2 30950 www-data  mem    REG                8,2   218664 67895636 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.1
apache2 30950 www-data  mem    REG                8,2   168640 67903580 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
apache2 30950 www-data  mem    REG                8,2   448440 45877238 /lib/x86_64-linux-gnu/libpcre.so.3.13.1
apache2 30950 www-data  mem    REG                8,2   140928 45876897 /lib/x86_64-linux-gnu/ld-2.19.so
apache2 30950 www-data  DEL    REG                0,4           2481011 /dev/zero
apache2 30950 www-data    0r   CHR                1,3      0t0     1028 /dev/null
apache2 30950 www-data    1w   CHR                1,3      0t0     1028 /dev/null
apache2 30950 www-data    2w   REG                8,2    31047 77596206 /var/log/apache2/error.log.1
apache2 30950 www-data    3u  sock                0,7      0t0  2453074 can't identify protocol
apache2 30950 www-data    5r  FIFO                0,8      0t0  2481006 pipe
apache2 30950 www-data    6u  sock                0,7      0t0  2453078 can't identify protocol
apache2 30950 www-data    8w  FIFO                0,8      0t0  2481006 pipe
apache2 30950 www-data    9r   CHR                1,9      0t0     1033 /dev/urandom
apache2 30950 www-data   10w   REG                8,2      335 77596482 /var/log/apache2/[all log files are there ~46 rows]
apache2 30950 www-data   57ur  REG                8,2        0  1704159 /tmp/.ZendSem.FfQzcu (deleted)
apache2 30950 www-data   58w  FIFO                0,8      0t0  2481007 pipe
apache2 30950 www-data   59u  0000                0,9        0     6846 anon_inode
apache2 30950 www-data   60u  sock                0,7      0t0  2652584 can't identify protocol
apache2 30950 www-data   61u  unix 0xffff880029f66440      0t0  2652585 socket
apache2 30950 www-data   62uW  REG                8,2        0 79325466 /var/lib/php5/sessions/sess_qtsqm4tttfgv205so56n0jbkf7
apache2 30950 www-data   63u  IPv4            2650081      0t0      TCP 195-xxx-xxx-xxx.rev.poneytelecom.eu:48634->195-xxx-xxx-xxx.rev.poneytelecom.eu:http (ESTABLISHED)

那么/var/www/dickson_prod/web中有什么?旧的Symfony 1.4的index.php,在没有其他阶段的情况下运行。

我试图更准确地跟踪PHP:

    <?php

    ini_set('xdebug.auto_trace', 'On');
    ini_set('xdebug.trace_output_dir', '/var/www/dickson_prod/web/strace_log/');

    require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

    $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
    sfContext::createInstance($configuration)->dispatch();

    file_put_contents('/strace_log/'.getmypid().'-'.date('Ymd'), debug_backtrace(), FILE_APPEND);

但我没有得到一件事。至于这一点,我不知道为什么这些过程会被卡住,为什么它如此随机,或者我怎样才能获得更多关于流程陷入困境的信息。

我当然检查了日志,但没有什么真正有趣的。我不相信这个过程是错误的,服务器上的流量太大,无法找到导致流程失败的确切请求。

strace没有做任何事情,因为这个过程没有做任何事情......

问题是:我怎样才能找到WHERE和WHY这些过程始终保持睡眠状态?

在设置cron以定期重启apache2之前,我们将很高兴获得任何帮助......

非常感谢!

0 个答案:

没有答案