Portál AbcLinuxu, 10. května 2025 08:24

Dotaz: Zjištění procesů a skriptů zatěžujích systém

26.3.2007 00:25 Zubbik | skóre: 2
Zjištění procesů a skriptů zatěžujích systém
Přečteno: 520×
Odpovědět | Admin
Ahoj, mam server s Apachem 2.2.0 na SuSE linuxu, na serveru bezi x virtualnich serveru a poslednich nekolik dni se stava, ze load average vyskoci na velmi vysokou hodnotu, cca. 30. Vytizeni procesoru je temer 100 %. Na chvili pomuze restart Apache, ale za chvili to vyskoci znovu. Rad bych zjistil, ktery skript tohle zpusobuje, ale nevim jak na to. :-) Poradte.

Diky.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.3.2007 08:00 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ale load 30 jeste snad neni tak hrozne, ne? Pracuju na strojich, ktery funguji i pri load > 200 ;-) Restart apache je to, co dokaze navstevnika webu nejvic nas*at, takze tomu se vyhni. Spis popremyslej o dalsim serveru a load balancingu...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
26.3.2007 08:53 outsider
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
...aneb naprosto presna odpoved na uplne jinou otazku :-)
26.3.2007 15:50 Zubbik | skóre: 2
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
S tim se nemuzu smirit, ted je load pres 40 a weby bezici na tomhle serveru zacinaji byt o dost pomalejsi. Load 200 si nedokazu predstavit, co vlastne presne tohle cislu udava?
26.3.2007 16:26 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Pocet procesu cekajich ve fronte na zpracovani...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
houska avatar 26.3.2007 16:38 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
ale houby! wiki a jeji priklad:
linux #uptime
 09:53:15  up 119 days, 19:08,  10 users,  load average: 3.73 7.98 0.50

For example a load average of "3.73 7.98 0.50" on a single CPU system can be interpreted as:

    * the CPU was overloaded by 373% (needed to do 373% as much work as it can do in a minute) during the last minute.
    * it was only busy half of the time for the last fifteen minutes
26.3.2007 17:59 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém

Ani to není moc přesné. Za prvé není vůbec jasné, že procesor opravdu měl udělat 373 procent práce, kterou za minutu zvládne; pokud mi čtyři procesy poběží paralelně minutu a pak skončí, bude na konci sice load average 4.0, ale neznamená to, že měl procesor práce na čtyři minuty. Za druhé těch 0.50 by mohlo klidně vzniknout tak, že tam půl minuty běželo 15 procesů na plný kotel a zbylých čtrnáct a půl se procesor kousal nudou, takže ani druhá věta interpretace není pravdivá. Za třetí mi není moc jasné, jak autor příkladu dokázal vyrobit pětiminutový průměr 7.98 a patnáctiminutový 0.50, aniž by část poslední čtvrthodiny byl počet aktivních procesů záporný…

26.3.2007 20:09 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
pokud mi čtyři procesy poběží paralelně minutu a pak skončí, bude na konci sice load average 4.0, ale neznamená to, že měl procesor práce na čtyři minuty.
Mohl bys to trochu rozvést?
Quando omni flunkus moritati
26.3.2007 21:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Na jinak nezatíženém stroji spustíte současně čtyři čistě procesorové úlohy, z nichž každá by sama vytížila procesor na čtvrt minuty. Takže takhle poběží všechny přesně minutu a na konci té minuty bude minutový load average 4.0 (přibližně). Nedá se ale říci, že by měl procesor dost práce na čtyřnásobek času, jak tvrdil příspěvek, s nímž jsem polemizoval.
26.3.2007 22:16 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Nedá se ale říci, že by měl procesor dost práce na čtyřnásobek času, jak tvrdil příspěvek, s nímž jsem polemizoval.
Mě přijde, že to tam napsané není. Pokud oba mluvíme o stejné části (needed to do 373% as much work as it can do in a minute), pak se mi zdá, že to je jenom špatně vyjádřeno a pistatel použil "práci za minutu" jako jednotku výkonu procesoru.

Ale možná je to jenom můj dojem...
Quando omni flunkus moritati
27.3.2007 07:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
A o to mi právě šlo. Oba závěry by sice šlo přeformulovat tak, aby zněly podobně a byly pravdivé, ale oba jsou - tak, jak jsou napsané - chybné. A to si navíc nejsem jistý, jestli není špatně i první polovina toho prvního tvrzení, nebo zda si jen špatně překládám vazbu "overloaded by 373%"…
houska avatar 27.3.2007 10:10 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Na jinak nezatíženém stroji spustíte současně čtyři čistě procesorové úlohy, z nichž každá by sama vytížila procesor na čtvrt minuty. Takže takhle poběží všechny přesně minutu a na konci té minuty bude minutový load average 4.0
ja si nemyslim ze bude load 4
Load averages are not normalized for the number of CPUs in a system, so a load average of 1 means  a  single  CPU
system is loaded all the time while on a 4 CPU system it means it was idle 75% of the time.
27.3.2007 10:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém

Na jednoprocesorovém systému bude load average 4.0, protože celou minutu poběží ty čtyři procesy současně; kdybyste je spouštěl jeden po druhém, poběží každý čtvrt minuty a na konci bude load average 1.0 (už z toho lze nahlédnout, jak zavádějící ten údaj je).

A vaše další citace je opět nepravdivá. Load average 1.0 na čtyřprocesorovém systému může nastat nejen v případě, že tam čtvrtinu času běžely čtyři procesy a tři čtvrtiny nic, ale také to, že tam celou dobu běžel jeden proces. A nebo také setinu času sto procesů a zbytek nic; rozhodně se nedá paušalizovat, že "it was idle 75% of the time".

26.3.2007 10:02 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mrkni na server-status
26.3.2007 15:54 Zubbik | skóre: 2
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Server status udava toto:
Apache Server Status for localhost

Server Version: Apache/2.2.0 (Linux/SUSE)
Server Built: May 2 2006 08:47:14

-------------------------------------------------------------------------------

Current Time: Monday, 26-Mar-2007 15:48:21 CEST
Restart Time: Monday, 26-Mar-2007 00:08:13 CEST
Parent Server Generation: 0
Server uptime: 15 hours 40 minutes 8 seconds
125 requests currently being processed, 10 idle workers

WWKWWWKWWWWWKWWWWWKWKKWKWWWWKKWWWWWKWWWW.KWW_KWKWK_WWKWWWWWKWWKW
KWWKWWW_WWKW.KW.__KKK.KWKKW__KWWKWWKWK_KWW.WCKW.WWW__WKW.KK.KKKK
KKW.WWKKW.KW.KKW.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
Ale nedokazu posoudit, zda je vsechno v poradku nebo ne.

Tady je jeste pro poradek aktualni vypis prikazu top:
top - 15:52:26 up 3 days,  6:31,  1 user,  load average: 43.99, 42.66, 40.93
Tasks: 251 total,  41 running, 210 sleeping,   0 stopped,   0 zombie
Cpu(s): 98.0% us,  2.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1020332k total,   908584k used,   111748k free,   101004k buffers
Swap:  2104472k total,     5372k used,  2099100k free,   353504k cached
plus je tam jeste mnoho "24320 wwwrun 25 0 54900 9.8m 3136 R 3.3 1.0 2:23.65 httpd2-prefork".
26.3.2007 16:24 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Pod tím scoreboard key by se měly vypisovat detaily jednotlivých vláken/procesů. Použil jsi direktivu ExtendedStatus On ?
26.3.2007 17:18 Zubbik | skóre: 2
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Zapnute jsem to nemel, pridal jsem to tedy do configu a nic. :-) Nakonec se mi to podarilo vypsat pomoci /etc/init.d/apache2 full-server-status. Vypise to napr. toto:
Srv   PID  Acc M CPU  SS     Req      Conn  Child Slot     Client      VHost                             Request
           10/
0-0  16818 11/ K 0.10 6   74         8.4    0.01  0.01 86.61.148.165   *.*   GET /adjs.php?n=194923292&what=zone:9&exclude=,&r
           11
           54/
1-0  16819 54/ K 0.75 4   165        595.2  0.58  0.58 147.251.196.234 *.*   GET /fotky/ HTTP/1.1
           54
           10/
Je to ten spravny vypis? Zda se mi, ze ano. Bohuzel jsem predtim poshazoval par procesu a restartoval apache, takze momentalne je vytizeni male, ale stoupa. :-) Na co bych se v teto tabulce mel zamerit? Na CPU? Nebo je jiny dulezity udaj?
26.3.2007 18:11 Zubbik | skóre: 2
Rozbalit Rozbalit vše Re: Zjištění procesů a skriptů zatěžujích systém
Tak asi je to vyreseno a nakonec jsem se dopatral k cemu jsem potreboval. Pomoci prikazu "top" zjistim proces apache, který hodne zatezuje procesor a pomoci "/etc/init.d/apache2 full-server-status | grep ID_PROCESU" si vypisu, ktery skript to ma na svedomi. Jeste zjistit, proc to ty skripty delaji, ale to uz je jina pisnicka... :-) Diky za rady.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.