2011/7/11 Sebastian Sera <[email protected]>:
> Salutare,
>
> Am o problema cu un proces java, un server de aplicatii scris de o mare
> companie (nu dam nume).
> Problema este ca la momente care nu pot fi prevazute, procesul duce CPU-ul
> in 800%, mananca toate core-urile si ingheata aplicatia complet.
>
> Ce vad in vmstat este un numar incredibil de mare de context switches
> (>20.000)
> Vad prin /proc/pid/task, ca java-ul parent deschide o groaza de procese unul
> dupa altul si nu apuc sa vad ce face fiecare.
> Am incercat cu strace (strace -f -p <PID> dar am atat de multe informatii
> acolo  ca nu imi dau seama care dintre procesele copii raman agatate si care
> nu.
>
> Dupa un restart al aplicatiei totul merge perfect, de unde deduc ca nu e o
> problema de incarcare creata de multe cereri ci mai degraba ca ceva ramane
> agatat, iar la restart isi revine.
>
> Intrebarea mea: Am vreun utilitar mai inteligent pentru a vedea fiecare
> proces copil in parte ce face, cat cpu mananca samd?

Versiunea academica: vezi ca exista JMX, java management extensions,
si/sau jconsole, cu care poti sa te legi la jvm sa vezi ce face
(pornesti java cu niste parametri magici suplimentari, si-ti expune un
socket pe care te poti lega cu diverse instrumente), asa teoretic poti
investiga ce se intampla prin interiorul jvm-ului.

Versiunea pe scurt: asa face java daca nu-si ia restarturi din cand in cand :D



-- 
Petre.
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui