Fog using a huge amount of memory and failing
-
Is that 24.5GB of RAM?
And apache2 is using most of it?
What about php or php-fpm?
Did you manually change some of the apache settings?
What does
apache2ctl -l
show? -
@george1421 It has dynamic memory in a range from 4096 MB - 24576 MB.
For the vCPU, I just went with the defaults from Hyper-V I think - this was setup about 4 years ago. The description in the settings says:
Processors: 1
NUMA nodes: 1
Sockets: 1
Numa Topology:
Maximum number of processors: 12
Maximim amount of memory 13348 MBWe’ve got right around 500 clients.
-
@quazz 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.
I think a few things have likely been changed in the apache settings. The server was upgraded from Debian 7 last year which necessitated a few changes I think.
apache2ctl -l shows: core.c, mod_so.c, mod_watchdog.c, http_core.c, mod_log_config.c, mod_logio.c mod_version.c, and mod_unixd.c
-
@jstephen Can you add this to your apache configuration file and see if the issue resolves itself:
MaxRequestWorkers 100 MaxConnectionsPerChild 25
You’ll need to restart apache after adding this.
-
@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.
-
@jstephen Try adding the configuration lines to the bottom of this file:
/etc/apache2/apache2.conf
and then restart apache withsystemctl restart apache2
and see what happens. Also, how many cores does your fog server have? -
@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
and not this
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
-
@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. -
@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 actually upgraded to FOG 1.5.4 and the issue persisted. -
@joe-gill ok we need to collect a bit more info here. It sounds like a trend is starting.
- What OS is the host OS for FOG?
- What is your memory installed in the fog server?
- What process is using the most memory?
- What process is using the most CPU utilization?
- Number of clients you have that has fog installed
- 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).
-
Let me know if their is anything else you would like me to check. Thanks!
-
@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
Running on a Hyper V Virtual Machine
FOG OS - Debian 9.4
Memory - 4 GB
CPU - 2 CPUs allottedI 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
FOGSnapinHashCPU Usage –
Apache2 -
@joe-gill Can I get to bits of info I forgot to ask?
- Top CPU usage service
- Number of clients you have in your FOG environment
- 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!
-
@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).
-
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.
-
@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?
-
@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.