Wdrażamy aplikację Node.js. Ta aplikacja wydaje się zużywać więcej pamięci RSS niż powinna. Więc zaczęliśmy do nurkowania w rzeczy, a okazało się, co następuje dzięki process.memoryUsage();
Co to jest awaria pamięci node.js?
Pamięć RSS szybko rośnie do około 400MB i pozostaje mniej lub bardziej stabilny w 400MB-500MB, z małymi wzloty i małe upadki (Czyszczenie pojemnika na odpady?)
Wykorzystane hałdy szybko rosną do 50 MB, a następnie pozostają na tym poziomie (od 20 MB do 100 MB).
Haptotom jest zawsze o około 30 MB więcej MB niż w stosie.
Jak widzisz, istnieje ogromna różnica między stosem a RSS, w którym powinniśmy się skupić. Wydaje się, że nie ma żadnego bardzo znaczącego wycieku w naszym hałdzie.
Co jest w RSS, którego nie ma na kupce? Wierzę, że rozszerzenia C i bufory, prawda? Jeśli tak, jak możemy to debugować. Czego jeszcze powinniśmy szukać?
Nie zgłaszaj problemu. Co próbujesz osiągnąć? –
Próbuję znać podział pamięci zużywanej przez aplikację node.js, konkretnie dlatego, że istnieje taka różnica między rozmiarem sterty i zużyciem RSS. –
Tak, ale w jakim celu? Czy ta sytuacja stanowi problem dla twojego kodu lub jesteś po prostu ciekawa? Pytam, ponieważ nie jestem pewien, w jakich okolicznościach może to być problem inny niż uruchamianie węzła w systemie z ograniczoną pamięcią. –