Debug mysqld goes offline

Discussion in 'Technical' started by dpicella, Mar 24, 2010.

  1. dpicella

    dpicella New Member

    I have a production server with mysql database that keeps going offline. I have to restart mysqld to bring it back up. This happens about twice a day.

    Running Software:
    fedora 12
    php 5.3.1 with cgi/fastcgi
    mysql 5.44.1 with odbc support enabled
    apache 2.2.14-1

    Mainly this server handles data entry through a web interface. However, we have some data reports that we run through microsoft access (there is a msaccess db that some users have on their desktops that can perform these queries and reports) that links to the tables with an odbc driver version 5.1

    How can I track this down? I don't see anything unusual in /var/log/mysqld.log

    Observations
    1. Just migrated to new fedora 12 server from fedora 10 server. Same problem existed on the previous server.
    2. Running msaccess queries does not cause mysqld to freeze. These queries do execute successfully.

    I suspect some sort of memory problem since the server will be fine for a while but then fail after a period of increased use for apparently no reason. Could this be related to Innodb settings for mysql or perhaps hard drive "write-back" cache? Would adjusting my settings in /etc/my.cnf be helpful?

    http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html

    Stumped ... any help - thanks in advance!
     
  2. falko

    falko Super Moderator

  3. dpicella

    dpicella New Member

    I installed munin and monit. Thank you! I am close to solving this but here is the situation now.

    The munin memory chart suggests to me that I have a memory leak in an application. It rises linearly until the swap is nearly maxed out then drops off shortly before mysql is noted to fail.

    Check it out: http://picella.com/wiki/docs/memory.pdf

    I have a number of php scripts running ... perhaps I have persistent connections somewhere? I have written a number of my own php scripts and I can see in mysql that one there are quite a few processes open by one of the database users that my scripts rely on.

    Hmmm...

    Does anyone know how to track this down? Shouldn't php scripts close all open connections at the termination of the script?

    See the attachement

    http://picella.com/wiki/docs/memory.pdf
     
  4. dpicella

    dpicella New Member

    php memory leak problem

    Looks like I solved this problem. It had to do with

    $xml = simplexml_load_file(URL);

    I released the memory at the end of the script with

    unset($xml);

    ... and now everything is good.

    Here is the new chart. You can see the memory leak is not occurring anymore when running this script every 5 min in crontab.

    http://picella.com/wiki/docs/memory2.pdf
     

Share This Page