• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    FOG Server CPU usage 100%

    Scheduled Pinned Locked Moved
    Linux Problems
    7
    64
    19.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Wayne WorkmanW
      Wayne Workman @Fernando Gietz
      last edited by

      @fernando-gietz Turn it off please and see what happens. systemctl stop FOGImageReplicator or something like that.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
      Daily Clean Installation Results:
      https://fogtesting.fogproject.us/
      FOG Reporting:
      https://fog-external-reporting-results.fogproject.us/

      F 1 Reply Last reply Reply Quote 0
      • F
        Fernando Gietz Developer @Wayne Workman
        last edited by

        @wayne-workman Nothing. the behavour is the same. I have restarted the apache too.

        Wayne WorkmanW 2 Replies Last reply Reply Quote 0
        • Wayne WorkmanW
          Wayne Workman @Fernando Gietz
          last edited by Wayne Workman

          @fernando-gietz Please read through this: https://stackoverflow.com/questions/32006559/show-which-php-scripts-apache-is-currently-running

          We need to figure out what’s consuming all of your CPU. You say it’s httpd, but we don’t know anything further than that. Using the methods described in the thread above, you should be able to pin-point exactly which PHP script is consuming the CPU.

          Thread from stackoverflow copy/pasted below:

          You can get the current working directory and opened files using lsof. Sadly this does not include the script being run, but if scripts are in different directories, or open different files, you can distinguish between them. Eg the following shows a script in /var/www/stuff/php is running:

          sudo lsof -c http | grep cwd
          httpd   24475  id  cwd DIR 8,3     4096 1123403 /var/www/stuff/php
          

          You can configure apache to let you have the information. Add an entry like

          <Location /server-status>
              SetHandler server-status
              ...
          </Location>
          

          in your conf ensuring it is only made available to restricted remotes. Then browse to http://localhost/server-status and you will have a “ps” of running jobs. For example, this output shows gg.php is running (I’ve removed some columns):

          Srv PID     Acc     M CPU     SS Slot Client  VHost  Request
          0-0 23688   0/0/262 W 0.50    2  4.48 ::1     xxx:80 GET /php/gg.php HTTP/1.1
          1-0 23743   0/0/187 W 0.00    0  3.30 ::1     xxx:80 GET /server-status HTTP/1.1
          

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
          Daily Clean Installation Results:
          https://fogtesting.fogproject.us/
          FOG Reporting:
          https://fog-external-reporting-results.fogproject.us/

          1 Reply Last reply Reply Quote 0
          • Wayne WorkmanW
            Wayne Workman @Fernando Gietz
            last edited by

            @fernando-gietz There is also the apachetop command that you might be able to use too. I almost forgot about this article but this shows how to use it: https://wiki.fogproject.org/wiki/index.php?title=Troubleshoot_Web_Interface Along with a list of historic threads where people have had high CPU problems in the past. (if we solve yours, it will be added to the list too).

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
            Daily Clean Installation Results:
            https://fogtesting.fogproject.us/
            FOG Reporting:
            https://fog-external-reporting-results.fogproject.us/

            1 Reply Last reply Reply Quote 0
            • Tom ElliottT
              Tom Elliott @Fernando Gietz
              last edited by

              @fernando-gietz I’m going to guess the tasks table is a bit on the high side maybe?

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

              F 1 Reply Last reply Reply Quote 0
              • F
                Fernando Gietz Developer
                last edited by Wayne Workman

                Done.

                [root@fog7 conf]# lsof -c http | grep cwd
                httpd   13036   root  cwd       DIR              253,0      4096      128 /
                httpd   13037 apache  cwd       DIR              253,2       133 23069131 /var/www/html/fog/management
                httpd   13038 apache  cwd       DIR              253,0      4096      128 /
                httpd   13039 apache  cwd       DIR              253,0      4096      128 /
                httpd   13040 apache  cwd       DIR              253,0      4096      128 /
                httpd   13041 apache  cwd       DIR              253,0      4096      128 /
                httpd   13044 apache  cwd       DIR              253,2      4096  8388946 /var/www/html/fog/status
                httpd   13118 apache  cwd       DIR              253,0      4096      128 /
                httpd   13144 apache  cwd       DIR              253,0      4096      128 /
                httpd   13145 apache  cwd       DIR              253,0      4096      128 /
                

                And now the output of server status

                Server Version: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips PHP/5.6.31
                Server MPM: prefork
                Server Built: Jul 26 2017 04:45:44
                
                Current Time: Tuesday, 14-Nov-2017 19:49:35 CET
                Restart Time: Tuesday, 14-Nov-2017 19:44:15 CET
                Parent Server Config. Generation: 1
                Parent Server MPM Generation: 0
                Server uptime: 5 minutes 20 seconds
                Server load: 1.01 0.85 0.65
                Total accesses: 557 - Total Traffic: 3.4 MB
                CPU Usage: u167.78 s11.08 cu0 cs0 - 55.9% CPU load
                1.74 requests/sec - 10.8 kB/second - 6.2 kB/request
                3 requests currently being processed, 6 idle workers
                
                W____WW__.......................................................
                ................................................................
                ................................................................
                ................................................................
                
                Scoreboard Key:
                "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
                "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
                "C" Closing connection, "L" Logging, "G" Gracefully finishing,
                "I" Idle cleanup of worker, "." Open slot with no current process
                
                Srv	PID	Acc	M	CPU 	SS	Req	Conn	Child	Slot	Client	VHost	Request
                0-0	13037	0/58/58	W 	5.22	120	0	0.0	0.19	0.19 	158.227.4.135	10.0.15.4:80	GET /fog/management/index.php?node=group&sub=membership&id=334
                1-0	13038	0/75/75	_ 	6.88	2	107	0.0	0.27	0.27 	158.227.138.124	10.0.15.4:80	GET /fog/management/index.php?sub=requestClientInfo&configure&n
                2-0	13039	0/76/76	_ 	6.59	2	0	0.0	0.23	0.23 	158.227.4.135	10.0.15.4:80	GET /server-status HTTP/1.1
                3-0	13040	0/39/39	_ 	4.78	2	232	0.0	0.07	0.07 	158.227.138.124	10.0.15.4:80	GET /fog/management/index.php?sub=requestClientInfo&mac=94:57:A
                4-0	13041	0/75/75	_ 	6.74	1	150	0.0	0.23	0.23 	158.227.115.42	10.0.15.4:80	GET /fog/management/index.php?node=task&sub=active&_=1510657597
                5-0	13044	0/19/19	W 	131.09	87	0	0.0	1.69	1.69 	158.227.4.135	10.0.15.4:80	POST /fog/status/getservertime.php HTTP/1.1
                6-0	13118	0/72/72	W 	7.25	0	0	0.0	0.23	0.23 	158.227.4.135	10.0.15.4:80	GET /server-status HTTP/1.1
                7-0	13144	0/72/72	_ 	6.11	1	73	0.0	0.23	0.23 	158.227.138.124	10.0.15.4:80	GET /fog/service/getversion.php?newService&json HTTP/1.1
                8-0	13145	0/71/71	_ 	4.20	2	75	0.0	0.24	0.24 	158.227.138.124	10.0.15.4:80	GET /fog/service/getversion.php?clientver&newService&json HTTP/
                Srv	Child Server number - generation
                PID	OS process ID
                Acc	Number of accesses this connection / this child / this slot
                M	Mode of operation
                CPU	CPU usage, number of seconds
                SS	Seconds since beginning of most recent request
                Req	Milliseconds required to process most recent request
                Conn	Kilobytes transferred this connection
                Child	Megabytes transferred this child
                Slot	Total megabytes transferred this slot
                SSL/TLS Session Cache Status:
                cache type: SHMCB, shared memory: 512000 bytes, current entries: 0
                subcaches: 32, indexes per subcache: 88
                index usage: 0%, cache usage: 0%
                total entries stored since starting: 0
                total entries replaced since starting: 0
                total entries expired since starting: 0
                total (pre-expiry) entries scrolled out of the cache: 0
                total retrieves since starting: 0 hit, 0 miss
                total removes since starting: 0 hit, 0 miss
                
                F 1 Reply Last reply Reply Quote 0
                • F
                  Fernando Gietz Developer @Fernando Gietz
                  last edited by

                  @fernando-gietz

                  /fog/management/index.php?node=group&sub=membership&id=334
                  
                  1 Reply Last reply Reply Quote 0
                  • Wayne WorkmanW
                    Wayne Workman
                    last edited by

                    Actually this line is using a ton of CPU:

                    131.09	87	0	0.0	1.69	1.69 	158.227.4.135	10.0.15.4:80	POST /fog/status/getservertime.php HTTP/1.1
                    

                    131 is a LOT.

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                    Daily Clean Installation Results:
                    https://fogtesting.fogproject.us/
                    FOG Reporting:
                    https://fog-external-reporting-results.fogproject.us/

                    S 1 Reply Last reply Reply Quote 0
                    • F
                      Fernando Gietz Developer @Tom Elliott
                      last edited by

                      @tom-elliott Tasks table?

                      Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                      • Wayne WorkmanW
                        Wayne Workman @Fernando Gietz
                        last edited by

                        @fernando-gietz You should have a table called tasks in MySQL.

                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                        Daily Clean Installation Results:
                        https://fogtesting.fogproject.us/
                        FOG Reporting:
                        https://fog-external-reporting-results.fogproject.us/

                        1 Reply Last reply Reply Quote 0
                        • S
                          Sebastian Roth Moderator @Wayne Workman
                          last edited by

                          @wayne-workman said:

                          Actually this line is using a ton of CPU:

                          131.09	87	0	0.0	1.69	1.69 	158.227.4.135	10.0.15.4:80	POST /fog/status/getservertime.php HTTP/1.1
                          

                          131 is a LOT.

                          Yeah that looks like there is something strange going on with this script. Though I have no idea what could be causing this. On the other hand the PHP code in that file looks kind of like it might take more time than usual. I guess only @Tom-Elliott can tell us what’s those calls to ignore_user_abort() and set_time_limit() are used for.

                          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                          Tom ElliottT 1 Reply Last reply Reply Quote 0
                          • F
                            Fernando Gietz Developer
                            last edited by

                            @Tom-Elliott about the tasks table:

                            MariaDB [fog]> show table status from fog where Name = 'tasks';
                            +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
                            | Name  | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time          | Collation       | Checksum | Create_options     | Comment |
                            +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
                            | tasks | MyISAM |      10 | Dynamic    | 5217 |            125 |      653940 | 281474976710655 |       602112 |         0 |           5225 | 2017-06-14 18:23:02 | 2017-11-15 13:10:31 | 2017-09-07 15:31:22 | utf8_general_ci |     NULL | row_format=DYNAMIC |         |
                            +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
                            
                            Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                            • Wayne WorkmanW
                              Wayne Workman @Fernando Gietz
                              last edited by

                              @fernando-gietz Truncate it.

                              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                              Daily Clean Installation Results:
                              https://fogtesting.fogproject.us/
                              FOG Reporting:
                              https://fog-external-reporting-results.fogproject.us/

                              1 Reply Last reply Reply Quote 0
                              • F
                                Fernando Gietz Developer
                                last edited by

                                @Wayne-Workman I have truncated the table and nothing.

                                Srv	PID	Acc	M	CPU 	SS	Req	Conn	Child	Slot	Client	VHost	Request
                                0-0	4154	0/133/2998	_ 	15.91	0	175	0.0	0.18	3.69 	158.227.129.66	10.0.15.4:80	POST /fog/management/index.php?sub=requestClientInfo&authorize&
                                1-0	22327	0/633/2833	_ 	101.18	0	88	0.0	0.70	3.34 	158.227.129.66	10.0.15.4:80	GET /fog/service/getversion.php?newService&json HTTP/1.1
                                2-0	10758	0/3575/3575	_ 	583.44	0	0	0.0	4.46	4.46 	158.227.129.66	10.0.15.4:80	GET /fog/management/other/ssl/srvpublic.crt HTTP/1.1
                                3-0	11712	0/1096/3380	_ 	174.13	0	210	0.0	1.27	4.11 	158.227.115.42	10.0.15.4:80	GET /fog/management/index.php?node=home&sub=bandwidth&url%5B%5D
                                4-0	17308	0/3259/3538	W 	531.14	58	0	0.0	3.79	4.26 	158.227.4.135	10.0.15.4:80	POST /fog/status/getservertime.php HTTP/1.1
                                5-0	22817	0/605/3241	_ 	95.71	1	73	0.0	0.68	5.64 	158.227.138.17	10.0.15.4:80	GET /fog/service/getversion.php?newService&json HTTP/1.1
                                6-0	13038	0/1037/3469	_ 	166.05	0	74	0.0	1.20	4.01 	158.227.129.66	10.0.15.4:80	GET /fog/service/getversion.php?clientver&newService&json HTTP/
                                7-0	-	0/0/2866	. 	2.96	167	0	0.0	0.00	3.64 	::1	10.0.15.4:80	OPTIONS * HTTP/1.0
                                8-0	11826	0/997/3504	W 	165.00	115	0	0.0	1.13	4.20 	158.227.4.135	10.0.15.4:80	GET /fog/management/index.php?node=group&sub=membership&id=334
                                9-0	3151	0/174/3003	_ 	25.77	0	77	0.0	0.21	3.42 	10.0.15.4	10.0.15.4:80	GET /fog/status/bandwidth.php?dev=ens192 HTTP/1.1
                                10-0	15893	0/3295/3295	W 	551.38	0	0	0.0	3.74	3.74 	158.227.4.135	10.0.15.4:80	GET /server-status HTTP/1.1```
                                1 Reply Last reply Reply Quote 0
                                • Tom ElliottT
                                  Tom Elliott @Sebastian Roth
                                  last edited by

                                  @sebastian-roth The idea of those is specific to ajax calls, though I guess the ignore_user_abort could be done with. The set_time_limit basically tells the script that it can run indefinitely. Ignore_user_abort tells the script to keep processing the script even if the client (browser) has requested to abort/stop/cancel the script.

                                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    Fernando Gietz Developer
                                    last edited by

                                    To don’t lose the thread.

                                    Hi again!

                                    I follow with this issue 😞 Toisolate the problem I have do a fresh install:

                                    Enviroment:
                                    FOG version: 1.5.0
                                    Computer: HP 800 G2 with 8 GB RAM and SSD
                                    OS: Centos 7 64 bits

                                    I have imported 7000 new hosts to the database from webUI, later I have created a new group with one computer. If I try to list the membership of this new group, the browser needs 40 second to show me the computer.

                                    If anybody wants to reply the issu, I can send the hosts import file.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Joe Schmitt Senior Developer
                                      last edited by

                                      @Tom-Elliott sounds like the group membership is doing a lot of unnecessary calculations.

                                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                      Tom ElliottT 1 Reply Last reply Reply Quote 0
                                      • Tom ElliottT
                                        Tom Elliott @Joe Schmitt
                                        last edited by

                                        @joe-schmitt somewhat yes, somewhat no. For membership it should just gather the names, but when the object loads it first has to get the ids so it knows which hostnames it needs to grab. This should happen fairly fast, but processing to display 7k items does take a bit.

                                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          Fernando Gietz Developer @Tom Elliott
                                          last edited by

                                          @tom-elliott I can understand that the proccess takes a bit 🙂 10 seconds or 15 seconds, but in my producction environment takes 2 minutes and in the physical server 40 seconds.

                                          Repeat, I can send you the import hosts file to do test and see in-situ the problem.

                                          george1421G 1 Reply Last reply Reply Quote 0
                                          • J
                                            Joe Schmitt Senior Developer
                                            last edited by

                                            • thread note:

                                            @Fernando-Gietz I have replicated the issue and am looking at it now.

                                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • First post
                                              Last post

                                            243

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project