Według mojego monitoringu serwera, moje zużycie pamięci jest pnący się w czasie:wyciek pamięci node.js, mimo stałej Heap + RSS rozmiarach
Po ~ 4 tygodnie uptime, kończy się przyczyną problemy/awarie (co ma sens, biorąc pod uwagę, że jestem w EC2 z instancjami m1.large => 8 GB RAM, a RAM wydaje się zwiększać o około 1,5 GB/tydzień).
Po ponownym uruchomieniu aplikacji node.js użycie pamięci zostanie zresetowane. jednak ... Jestem śledzenie mojego zużycia pamięci przez process.memoryUsage()
, a nawet po ~ 1 tydzień, widzę
{"rss":"693 Mb","heapTotal":"120 Mb","heapUsed":"79 Mb"}
Czego mi brakuje? Najwyraźniej wyciek jest w węźle, ale proces wydaje się nie być tego świadomy ...
Czy używasz modułu węzła klastra? Być może zgłoszone użycie pamięci należy do jednego z procesów podrzędnych. Czy sprawdziłeś, który proces używa całej pamięci za pomocą ps/top? Którą wersję pliku node.js używasz? – samitny
Nie można odebrać bez rzeczywistego kodu. Ale możesz spróbować https://nodetime.com/ wykopać pod kątem wycieku pamięci. Możesz ponownie uruchomić klastry o wysokim rozmiarze rss. To bardzo brudne rozwiązanie. – egiray