2012-06-04 12 views
35

Mam aplikację Node.js, która ładuje niektóre dane z Mysql do Redis po uruchomieniu aplikacji. Wszystko działało dobrze, dopóki nie zmodyfikowaliśmy danych w Mysql.co może spowodować, że plik node.js zostanie wydrukowany. Zlikwidowano i zakończono?

Teraz po prostu wychodzi z komunikatem "Killed".

Próbuję wskazać problem, ale trudno jest debugować za pomocą inspektora węzłów, ponieważ problem nie pojawia się podczas uruchamiania w --debug.

Nie sądzę, że mój problem dotyczy samych danych, ponieważ działa na moim lokalnym komputerze, ale nie działa na moim polu produkcyjnym.

Moje pytanie brzmi, co powoduje komunikat "Killed", czy jest to Node.js, czy jest on w sterowniku Mysql, czy gdzie indziej?

Odpowiedz

2

Nie jestem pewien, czy Redis jest przyczyną komunikatu o zabiciu, ale to było przyczyną mojego problemu.

Wysyłałem wiele danych do wielu, ponieważ początkowo sądziłem, że jest to sposób korzystania z potoku (który jest automatyczny).

+0

znalazłeś rozwiązanie tego problemu? –

44

Sprawdź dzienniki systemowe pod kątem wiadomości o zabijaniu węzła. Twoja aplikacja Node może zużywać nadmierną pamięć i być zabijana przez Out-Of-Memory killer.

+0

Dzięki za sugestię. – Tim

+3

W moim przypadku rzeczywiście widzę w/var/log/syslog: '4 września 16:21:32 hosting jądro: Brak pamięci: Zabij proces 29620 (nodejs) zdobyć 107 lub poświęcić dziecko' '4 września 16:21 : 32 jądro hostingowe: proces zabity 29620 (nodejs) total-vm: 1054732kB, anon-rss: 136168kB, file-rss: 0kB'. Dzięki za podpowiedź! – weekens

+2

Jeśli używasz systemu redhat, ten dziennik znajduje się w katalogu '/ var/log/messages'. Brak pamięci wydaje się być problemem dla mnie. –

Powiązane problemy