• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Hohe Systemlast (nicht load, system)

Hi,

Bin unsicher ob das ins Thema 'Konsole' passt. Bitte ggf. verschieben. Danke.


Hier steht ein Webserver der dauerhaft eine ungewöhnlich hohe Systemlast hat. (Load bewegt sich im Bereich 2-3)

Wie kommt diese Last zustande??

Danke fuer alle Antworten. Gruß Dominik


Eine typische Ausgabe von Top ist:
Code:
Cpu0  : 12.7% us, 27.4% sy,  0.0% ni, 51.8% id,  7.2% wa,  0.1% hi,  0.7% si
Cpu1  : 14.4% us, 56.9% sy,  0.0% ni, 26.9% id,  1.4% wa,  0.0% hi,  0.4% si

mpstat:
Code:
12:20:31     CPU   %user   %nice %system %iowait    %irq   %soft   %idle    intr/s
12:20:36     all   12.97    0.00   47.01    3.29    0.10    0.40   36.23   1096.01
12:20:36       0   11.38    0.00   46.71    6.79    0.20    0.80   34.13   1096.01
12:20:36       1   14.57    0.00   47.31    0.00    0.00    0.00   38.32      0.00

12:20:36     CPU   %user   %nice %system %iowait    %irq   %soft   %idle    intr/s
12:20:41     all   19.56    0.00   41.02    4.49    0.20    1.20   33.53   1351.30
12:20:41       0   16.83    0.00   58.72    0.40    0.40    2.20   21.44   1351.30
12:20:41       1   22.24    0.00   23.65    8.42    0.00    0.00   45.69      0.00

Vmstat zeigt:
Code:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  2  39996 140692  28428 874820    0    0    36  1064  939   640 27 48  0 26
 3  0  39996 126340  28432 876896    0    0     0   124  536   550 48 52  0  0
 2  0  39996 122000  28436 882352    0    0     0   116  719   666 63 38  0  0
 2  0  39996 120512  28436 882352    0    0     0     0  406   206 50 50  0  0
 2  1  39996 127224  28444 875324    0    0     0  4716  308    99 47 53  0  0
 1  1  39996 127272  28444 875324    0    0     0 10356  804   362  8 51  0 42
 2  1  39996 127148  28444 875584    0    0     0  2644  906   771 29 48  
0 23
 2  0  39996 130680  28444 875584    0    0     0   416  978   770 57 43  0  0
 1  0  39996 161340  28448 875840    0    0     4  3156  872   825 20 53 12 14
 1  0  39996 161836  28448 875840    0    0    28     0  545   456 16 39 45  0
 1  0  39996 161960  28448 875840    0    0     0    16  270   107  1 50 49  0
 1  0  39996 161960  28448 875840    0    0     0   696  414   128  4 51 42  3
 1  0  39996 161232  28448 875840    0    0     0     0  700   643  9 51 39  0
 1  0  39936 164676  28456 875892    0    0     8     0  624   534 14 39 46  1
 1  0  39936 172856  28460 876148    0    0     4    44 1588  1110 20 50 28  2
 
Top zeigt hauptsächlich zwei Prozesse die hohe CPU Last erzeugen:

Der Prozess Zendcollector und die MySQL DB (auch von ZendPlatform).

Laufen die nicht unter "us" User System? (ok wahrscheinlich nicht, was die Systemlast erklären würde :) )

Gruß Dominik

Code:
top - 10:03:25 up 45 days, 23:34,  1 user,  load average: 1.62, 2.12, 1.95
Tasks: 176 total,   3 running, 173 sleeping,   0 stopped,   0 zombie
Cpu0  :  6.3% us, 35.2% sy,  0.0% ni, 56.5% id,  0.3% wa,  0.0% hi,  1.7% si
Cpu1  : 14.3% us, 51.3% sy,  0.0% ni, 34.0% id,  0.0% wa,  0.0% hi,  0.3% si
Mem:   2074204k total,  2016508k used,    57696k free,    25964k buffers
Swap:  1052216k total,    36316k used,  1015900k free,   945452k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 4693 daemon    16   0 91232  51m 2192 R   91  2.5  56886:04 collector_cente
20736 daemon    16   0  369m 251m 3144 S    9 12.4   1857:33 mysqld
15813 daemon    15   0  180m  34m  16m S    3  1.7   0:00.45 httpd
15891 daemon    17   0  180m  36m  19m S    2  1.8   0:00.50 httpd
15893 daemon    16   0  180m  36m  18m S    2  1.8   0:00.41 httpd
15859 daemon    16   0  181m  35m  16m R    1  1.7   0:00.25 httpd
15825 daemon    15   0  180m  36m  18m S    1  1.8   0:00.72 httpd
15835 daemon    16   0  180m  36m  18m S    0  1.8   0:00.49 httpd
16412 root      16   0  2300 1176  832 R    0  0.1   0:00.04 top
    1 root      16   0   716  296  248 S    0  0.0   0:52.56 init
    2 root      RT   0     0    0    0 S    0  0.0   0:03.00 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.65 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   2:34.71 migration/1
    5 root      34  19     0    0    0 S    0  0.0   2:45.22 ksoftirqd/1
    6 root      10  -5     0    0    0 S    0  0.0   0:01.42 events/0
    7 root      10  -5     0    0    0 S    0  0.0   0:00.04 events/1
    8 root      10  -5     0    0    0 S    0  0.0   0:00.00 khelper
    9 root      11  -5     0    0    0 S    0  0.0   0:00.00 kthread
   12 root      10  -5     0    0    0 S    0  0.0  98:07.00 kblockd/0
   13 root      10  -5     0    0    0 S    0  0.0   0:02.22 kblockd/1
   14 root      14  -5     0    0    0 S    0  0.0   0:00.00 kacpid
  152 root      14  -5     0    0    0 S    0  0.0   0:00.00 aio/0
  153 root      14  -5     0    0    0 S    0  0.0   0:00.00 aio/1
 
Wer weiß was die machen... wenn ich jedenfalls eine Datei von einem verschlüsseltem Datenträger lese, geht auch die %system-Time hoch (hier wäre es logisch - kernel crypto daemon)
 
Nach meinem Wissen ist die Systemzeit der Teil, den ein Prozess im Kernel Funktionen
aufruft.
Das könnte viele Forks, mallocs, etc sein.
Im Webserver-Bereich bin ich absoluter Laie, aber bei viel Systemlast könnte ich mir
vorstellen, daß die Apache Parameter StartServers, MinSpareServers, MaxSpareServers,
ServerLimit, MaxClients oder andere Parameter nicht perfekt sind.
Darum könnte Apache viele Childs starten und das ist sehr Systemlastig.

Aber wiegesagt, im Web-Sserverbereich bin ich Laie, das sind nur Vermutungen und
müssen nicht die Gründe sein.

Haveaniceday

PS: Bei den Programmierern die ich kenne ist Malloc für kleinste Speicherbereiche oft
eine Lust, oder tausende kleine Writes... alles etwas was dann viel Systemlast gibt.
Vor Jahren hat mir mal ein kompetenter Programmierer ein Verhältnis 2:1 für
User:System Last akzeptabel programmiert ist.
 
Oben