Mam aplikację w ruby 1.8.7 korzystającą z LDAP uruchomioną w dwóch lokalizacjach.
Na jednym z serwerów co kilka, klikanaście godzin proces aplikacji zaczyna zjadać całe CPU, maszyna przestaje odpowiadać.
Nie pomaga restart aplikacji. Problem sam znika po kilkudziesięciu minutach.
Obie lokalizacje to identyczne maszyny wirtualne na różnych maszynach fizycznych.
strace procesu wypluwa
[quote=pski]Mam aplikację w ruby 1.8.7 korzystającą z LDAP uruchomioną w dwóch lokalizacjach.
Na jednym z serwerów co kilka, klikanaście godzin proces aplikacji zaczyna zjadać całe CPU, maszyna przestaje odpowiadać.[/quote]
W jakim sensie maszyna przestaje odpowiadać? Chodzi Ci może o aplikację? Rozumiem, że przez ssh jesteś w stanie wbić się na nią?
Czyli pomimo ubicia i odpalenia na nowo aplikacj, ta dalej zjada 100% procka? Czy po restarcie 100% zjada od samego początku czy po wykonaniu przynajmniej 1 żądania?
[quote]Obie lokalizacje to identyczne maszyny wirtualne na różnych maszynach fizycznych.
strace procesu wypluwa
SIGVTALRM (Virtual timer expired)
Miał ktoś może takie problemy?[/quote]
Wypluwa 1 taki wpis czy więcej? Ogólnie SIGVTALRM nie jest niczym złym. Ruby używa tego sygnału do schedulingu wątków. Robi to co 10ms.
Zużycie procesora 100%, load ponad 13 (!!), da się zalogować przez SSH ale trwa to wieki
Od samego początku. Po pewnym czasie wszystko wraca do normy bez ingerencji z mojej strony.
Ten wpis pojawia się tylko wtedy gdy aplikacja nie odpowiada.
Podejrzewam, że ma to coś wspólnego z zewnętrznym czynnikiem jakim jest połączenie z LDAP (przez gem activeldap)