Fog using a huge amount of memory and failing



  • I’ve been seeing a lot of sluggishness in the web UI for the past several updates, but didn’t think much of it. I updated to 1.5.3 earlier this week, and the memory usage from Fog is huge, and seems to now be effecting not just the web UI but also the base Fog functions - imaging is slower, tftp connections are timing out, etc.

    I’ve assigned the Debian virtual machine that is running Fog 24576 MB of memory, and even with that much it is still trying to use more. Looking in top, apache2 has dozens of processes running and is sucking up all the memory. This is just when the server is sitting idle.

    Any suggestions on how to troubleshoot this problem?


  • Moderator

    I was able to remote in and find out what was going sideways with the OP’s system. I’ll fill out the details in a bit, but there is the keys.

    mods-enabled/php5.conf set handler

    9.4

    sites-enabled/001-fog.config

    It appears to be an issue with at least debian 9.4 at the moment where php-fpm wasn’t being enabled causing the sluggish UI and high apache usage.


  • Moderator

    @jstephen Sorry my mistake same issue and same color avatar.

    I don’t think the FOG installer is setting mpm by design. That will help with performance but not using php-fpm will give you a craptacular experience with the new gui.

    So you ran the info-php script and its still reporting Apache handler?

    0_1528398591654_php-apache.png



  • @george1421 George, I think I did reply to the proper thread… it is just a little confusing since someone else with a similar problem seems to have popped in!

    Fog is version 1.5.4. This same server has been updated through many, many versions for 4 years or mo so maybe it has some lingering old stuff!

    My phpinfo page does not indicate that I have FastCGI enabled. I’m reading through this thread ( https://forums.fogproject.org/topic/10717/can-php-fpm-make-fog-web-gui-fast/4 ) now to see whether there is information about getting mpm working.


  • Moderator

    @jstephen You have 1.5.4 installed, but you have the apache handler in place and you didn’t change it?

    If that is true then I can understand why your UI is a bit sucky. That is why they moved to php-fpm. Wait your info.php page showed that you had the fast cgi enabled.

    edit: Hint, make sure you are replying to the proper thread. ;-)



  • @george1421 Huh. I’ve got Apache 2.0 Handler here. Should I follow the steps in the link or is there something else that I should do?



  • @george1421

    I seem to be having bigger issues. PHP is completely un-responsive now. I can and have been able to reach the Apache test page on our server but cannot get anything to run in php. I tried restarting the service, rebooting the server, unistalling php and re-running the fog installer. I will start a new thread and tag you in it.


  • Moderator

    @joe-gill said in Fog using a huge amount of memory and failing:

    /etc/php/7.0/

    is probably a close directory for php 7.x in there should be a maybe a /etc/php-fpm.d directory and in that there should be www.conf. The file name is consistent its just the location of the file that changes with the version of php.

    Also I added an additional question to my list.

    Fog check in interval Fog Configuration -> Fog Settings -> Fog Client -> FOG_CLIENT_CHECKIN_TIME (if you have less than 300 [5 minutes] you might want to bump that up to 300 or 600 seconds).



  • @george1421
    Top CPU usage service is Apache2.
    Total hosts is ~500.

    Where is the www.conf file located in Debian? I searched high and low and could not find it. I found something in the /etc/php/7.0/ directory but it didn’t have pm.max_requests.

    Thanks!


  • Moderator

    @joe-gill Can I get to bits of info I forgot to ask?

    1. Top CPU usage service
    2. Number of clients you have in your FOG environment
    3. Fog check in interval Fog Configuration -> Fog Settings -> Fog Client -> FOG_CLIENT_CHECKIN_TIME (if you have less than 300 [5 minutes] you might want to bump that up to 300 or 600 seconds).


  • @george1421
    Running on a Hyper V Virtual Machine
    FOG OS - Debian 9.4
    Memory - 4 GB
    CPU - 2 CPUs allotted

    I used Top to determine these. If their is a better command let me know and I will certainly run that and report back.

    Memory Usage (in order from most to least) –
    Apache2 (20 percent)
    mysql
    FOGImageSize
    FOGPingHosts
    FOGSnapinHash

    CPU Usage –
    Apache2


  • Moderator

    @joe-gill Ok you are using php-fpm. That is good. Now we need to understand what is consuming the memory. I had a previous post where I was asking specific questions about your current setup. Please respond to that… and

    Depending on your distro there is a php-fpm file that fog creates it should be in /etc (in a sub directory) called www.conf. Under centos 7 its in /etc/php-fpm.d Lets review that file, towards the middle there should be this line uncommented.

    pm.max_requests = 2000
    

    Let make sure its not commented out.



  • @george1421

    Let me know if their is anything else you would like me to check. Thanks!

    0_1528389858393_FOG_PHP.png


  • Moderator

    @joe-gill ok we need to collect a bit more info here. It sounds like a trend is starting.

    1. What OS is the host OS for FOG?
    2. What is your memory installed in the fog server?
    3. What process is using the most memory?
    4. What process is using the most CPU utilization?
    5. Number of clients you have that has fog installed
    6. Fog check in interval Fog Configuration -> Fog Settings -> Fog Client -> FOG_CLIENT_CHECKIN_TIME (if you have less than 300 [5 minutes] you might want to bump that up to 300 or 600 seconds).


  • @george1421
    I actually upgraded to FOG 1.5.4 and the issue persisted.


  • Moderator

    @joe-gill If you are not on FOG 1.5.4, but are using 1.5.1 to 1.5.3 there is a fix that is needed to php-fpm to address memory bloat under certain conditions.



  • @george1421
    I have also been experiencing high memory usage and sluggishness. I completely lost my interface and had to restart PHP in order for the interface to return. I will also try your suggestion here to see what is going on.


  • Moderator

    @jstephen said in Fog using a huge amount of memory and failing:

    Yes, 24.5GB of RAM.
    Sitting idle, there are 25 apache2 processes using a total of 17% of the available memory. Apache is also using a lot of the cpu percentage as well - 64%.
    php-fpm also has about 3 processes, but looks to be taking up only about 1.5% of the RAM.

    There has to be something else going on here. These settings are a bit out of wack.

    First on the questions I asked you. You might consider 2 vCPUs at 4GB of ram. That is all FOG should use. If you have a 1000 or more hosts then we might need to bump up the numbers a bit.

    With FOG 1.5.1 and later FOG now uses pgp-fpm for its pgp engine and moved away from apache’s built in php engine. This should lower the cpu requirements of apache by off-loading php requests to php-fpm. With apache using the majority of the CPU still, it almost sounds like the php activities have not shifted to php-fpm.

    What I would like you to do is create a file in the root of the web server directory, typically /var/www/html name that file info.php and make it world readable. In that file place the following code:

    <html>
    <body>
    
    <?php
     phpinfo();
    ?>
    
    </body>
    </html>
    

    Once its created navigate to that file by using this url http://<fog_server_ip>/info.php

    I’m expecting to see a this field set to
    0_1528386629888_php-fpm.png
    and not this
    0_1528386636519_php-apache.png

    The first screen shows that php-fpm is managing the php process. The second screen is the way fog was setup before version 1.5.1. I would expect php-fpm to have the workload here, not apache.

    ref: https://forums.fogproject.org/topic/10717/can-php-fpm-make-fog-web-gui-fast



  • @jstephen Try adding the configuration lines to the bottom of this file: /etc/apache2/apache2.conf and then restart apache with systemctl restart apache2 and see what happens. Also, how many cores does your fog server have?



  • @wayne-workman I added those to mpm_event.conf which seemed like the right place to put them, but I’m not entirely sure!

    I can’t really see any difference… maybe it is a tad more stable? What I’ve noticed more than anything with this testing though is that when I restart apache, it runs way, way better for a while. Like this morning, each page in the Fog UI was taking about a minute to load; I restarted apache and it was down to 5 seconds per page even when opening multiple pages at once.


 

407
Online

8.4k
Users

12.5k
Topics

117.7k
Posts