CPU am Limit

Started by shb256, November 19, 2021, 07:26:30 PM

Previous topic - Next topic
Hallo an alle,

ich habe die aktuelle OpnSense laufen. Leider läuft diese seit kurzem völlig am Limit
last pid: 40076;  load averages:  7.41,  5.10,  5.14                                                                                                                                     up 0+00:44:58  19:21:02
85 processes:  10 running, 75 sleeping
CPU: 96.4% user,  0.0% nice,  3.6% system,  0.0% interrupt,  0.0% idle
Mem: 3416M Active, 2020M Inact, 1427M Wired, 1054M Buf, 17G Free
Swap: 8192M Total, 8192M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
27095 root          1  79    0   127M   108M CPU4     4   0:03 100.61% php
20559 root          1  88    0   133M   114M CPU1     1   0:07 100.48% php
24218 root          1 102    0   187M   170M CPU2     2   1:08 100.36% php-cgi
57215 root          1 101    0   143M   123M RUN      5   0:32  99.50% php
80534 root          1  98    0   139M   119M CPU0     0   0:20  98.53% php
3297 root          1 102    0   155M   130M CPU3     3   1:01  89.92% php
80688 root          1  96    0   145M   118M CPU7     7   0:19  66.84% php
97025 root          1 100    0   147M   128M RUN      3   0:57  48.04% php
29460 root          1  75    0   175M   163M CPU6     6   0:01  28.16% python3.8
67823 root          1  20    0  1044M  4120K CPU5     5   0:00   0.38% top
41641 www           1  20    0   109M    23M kqread   0   0:03   0.23% nginx
3953 root          6  20    0    37M    17M select   0   0:05   0.16% zerotier-one
61913 redis         4  20    0    22M  5904K kqread   1   0:01   0.14% redis-server
41986 root          1  20    0    17M  7276K select   1   0:00   0.13% sshd
38434 ntopng       35  20    0   276M   192M nanslp   5   1:36   0.08% ntopng
23589 root          3  20    0    38M    21M kqread   7   0:01   0.07% syslog-ng
24914 root          1  20    0    21M    11M select   4   0:01   0.04% python3.8
25236 root          1  20    0    21M    12M select   0   0:01   0.03% python3.8



alle andere Prozesse laufen nur noch mit 0,xx%
Hat jemand eine Idee was php dort treibt und vor allem, wie ich das Problem wieder löse?
Das System wurde frisch neu gestartet.
Prozessor ist ein Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz (8 cores), RAM 32 GB

Danke für eure Hilfe.

Mach mal statt `top` ein `ps awwux` - das sollte Dir erzählen, was das PHP da treibt.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

November 19, 2021, 07:45:03 PM #2 Last Edit: November 19, 2021, 07:51:13 PM by shb256
Hallo,

das ganze entsteht auch "nur" wenn ich mit dem Browser auf der Firewall bin. Wenn der Browser aus ist und die porzesse beendet. Geht die Last wieder runter

root@OPNsense:~ # ps awwux | grep php
root    24738 100.0  0.5  152828  132624  -  Rs   19:41     0:41.14 /usr/local/bin/php /usr/local/opnsense/scripts/nginx/ngx_autoblock.php
root    26687 100.0  0.5  152828  131316  -  R    19:41     0:40.79 /usr/local/bin/php /usr/local/opnsense/scripts/routes/gateway_status.php
root    28667 100.0  0.5  152828  125636  -  R    19:41     0:30.59 /usr/local/bin/php /usr/local/opnsense/scripts/routes/gateway_status.php
root    92187 100.0  0.5  148732  128252  -  R    19:41     0:35.68 /usr/local/bin/php /usr/local/opnsense/scripts/routes/gateway_status.php
root    24218  97.0  0.7  203296  183848  -  R    18:57     3:04.27 /usr/local/bin/php-cgi
root    75155  96.9  0.5  150780  123116  -  R    19:41     0:25.60 /usr/local/bin/php /usr/local/opnsense/scripts/routes/gateway_status.php
root    76728  90.8  0.5  142588  121592  -  R    19:41     0:20.51 /usr/local/bin/php /usr/local/opnsense/scripts/routes/gateway_status.php
root    32430   0.1  0.4  116452   97532  -  S    18:57     3:38.99 /usr/local/bin/php-cgi
root     9232   0.0  0.1   43912   22804  -  Is   18:57     0:00.05 /usr/local/bin/php-cgi
root    10422   0.0  0.1   43912   22804  -  Is   18:57     0:00.04 /usr/local/bin/php-cgi
root    22786   0.0  0.7  202316  182772  -  S    18:57     0:26.67 /usr/local/bin/php-cgi
root    24887   0.0  0.5  140268  119208  -  S    18:57     0:04.28 /usr/local/bin/php-cgi
root    26978   0.0  0.7  199552  184712  -  S    18:57     4:53.39 /usr/local/bin/php-cgi
root    30378   0.0  0.5  135608  120804  -  S    18:57     1:01.01 /usr/local/bin/php-cgi
root    93711   0.0  0.1   44036   21980  -  Ss   19:01     0:00.09 php-fpm: master process (/usr/local/etc/php-fpm.conf) (php-fpm)
root    96790   0.0  0.1   44128   21992  -  I    19:01     0:00.00 php-fpm: pool webgui (php-fpm)
root    98565   0.0  0.1   44128   21992  -  I    19:01     0:00.00 php-fpm: pool webgui (php-fpm)
www     99743   0.0  0.1   44132   22004  -  I    19:01     0:00.00 php-fpm: pool www (php-fpm)
www     99834   0.0  0.1   44136   22004  -  I    19:01     0:00.00 php-fpm: pool www (php-fpm)
root    85064   0.0  0.0 1061116    3196  0  S+   19:41     0:00.00 grep php


nach dem ich den beiden Scripts die Berechtigung genommen habe, findet er eine andere Beschäftigung


root@OPNsense:~ # ps awwux | grep php
root    97479  91.6  0.5  154920  134748  -  R    19:48     0:24.23 /usr/local/bin/php-cgi
root     2047  91.3  0.5  150868  130416  -  R    19:48     0:19.65 /usr/local/bin/php-cgi
root    94240  83.5  0.5  150868  130248  -  R    19:48     0:18.35 /usr/local/bin/php-cgi
root    98673   1.4  0.6  164280  143352  -  S    19:48     0:00.56 /usr/local/bin/php-cgi
root      783   1.3  0.4  116052   94776  -  S    19:48     0:00.21 /usr/local/bin/php-cgi
root    94694   0.2  0.4  116052   94976  -  S    19:48     0:00.39 /usr/local/bin/php-cgi
root    91697   0.0  0.1   43912   24112  -  Is   19:48     0:00.02 /usr/local/bin/php-cgi
root    91919   0.0  0.1   43912   24120  -  Is   19:48     0:00.02 /usr/local/bin/php-cgi
root    93711   0.0  0.1   44036   21980  -  Ss   19:01     0:00.10 php-fpm: master process (/usr/local/etc/php-fpm.conf) (php-fpm)
root    96790   0.0  0.1   44128   21992  -  I    19:01     0:00.00 php-fpm: pool webgui (php-fpm)
root    98565   0.0  0.1   44128   21992  -  I    19:01     0:00.00 php-fpm: pool webgui (php-fpm)
www     99743   0.0  0.1   44132   22004  -  I    19:01     0:00.00 php-fpm: pool www (php-fpm)
www     99834   0.0  0.1   44136   22004  -  I    19:01     0:00.00 php-fpm: pool www (php-fpm)
root    96504   0.0  0.0 1060948    3156  0  R+   19:49     0:00.00 grep php

Das Problem scheint sich generell auf php zu beziehen.
Nach dem neustart werden verschieden php Scripte abgearbeitet. Diese gehen auch auf eine Last von 100%
gibt es weitere Ideen?

Danke

seit dem .3 Update habe ich auch beobchtet, dass sowohl Suricata (inzwischen zumindest bekannt warum) und php-cgi deutlich die Last nach oben treiben

und gibt es eine Lösung dafür?

Bei mir hat der php-Prozess auch einen erheblichen CPU-Bedarf.
Zwar keine 100%, aber alle 5-10 Sekunden kommt ein Ausschlag auf ca. 50% (kommend von ca. 3%).

Ich beobachte das seit 21.7.5 und eben nur, wenn ich das WebGUI nutze.

Hallo,

ich krame diese Thread mal wieder raus.
Ich hab eine neue installation von Opnsense gemacht 21.7.1 und dann auf 21.7.7 es läuft alles wie man es sich vorstellt.
Danach habe ich das Backup eingespielt. Nach dem reboot das gleiche Spiel von vorne CPU auslastung bei 100%.
Reset zu Factory defaults und alles läuft wieder.
Nun habe ich angefangen die Config abschnittsweise einzuspielen.
Gleich bei der ersten Einstellung habe ich bin ich auf den ersten Blick fündig geworden - opnsense additions.
Nach dem einspielen läuft php direkt wieder auf 100%.
Frage 1: gibt es die Möglichkeit alles mit einmal wieder einzuspielen außer opnsense additions
Frage 2: was ist alles in opnsense additions drin?

Danke

Ich habe das Problem gefunden
Nginx hat über 34000 gebannte IP Adressen. Damit scheint opnsense wohl nicht klar zu kommen.
Ich habe die Config exportiert, dann aus der Config alle gebannten IP Adressen gelöscht, die Firewall auf Werkseinstellung zurück gesetzt und die config wieder eingespielt.
Läuft jetzt wieder


Auch wenn das hier ein altes Thema ist, aber es war der entscheidende Punkt!
Bei mir war von meinen 2 CPUs eine permanent durch den Prozess php mit dem command [...]/gateway_status.php voll ausgelastet.

Nachdem ich unter Services => Nginx => Configuration den Advanced Mode aktiviert habe und dort Autoblock TTL auf 10080 Minuten (= 1 Woche) gesetzt habe, sind nach ~10 Minuten die knapp 20000 gebannten IPs aus der "Banned" Liste von nginx verschwunden (~180 sind übrig geblieben). Danach war die Performance von der OpnSense wieder gut.

Auf die Weise kann man sich den Weg über das Backup sparen.