2013-08-16 14 views
5

Próbuję zmierzyć wykorzystanie pamięci mojej witryny za pomocą sekcji pamięci na karcie Oś czasu w narzędziach programistycznych Chrome.Pomiar zużycia pamięci strony internetowej

W różnych punktach trafiam w przycisk kosza na śmieci, aby wymusić odbiór śmieci. Problem polega na tym, że wykres nagle staje się bezwładny i zatrzymuje wszystkie pomiary. W końcu, po tym, jak zacznę robić inne rzeczy, zaczyna się odmierzanie, ale nigdy nie widzę dokładnego punktu/wartości na wykresie, na którym uderzyłem przycisk GC.

enter image description here

Pierwsze dwa zjazdów rozpocząć natychmiast po tym, jak uderzył w przycisk zbieranie śmieci, a oni później właśnie rodzaj podłączenia do nowej wartości prądu po pracuję.

Pytanie brzmi:

Czy istnieje sposób, aby wymusić ten wykres, aby utrzymać lub rozpocząć pomiar? Alternatywnie, czy istnieje prosty sposób w JavaScript do console.log aktualnej wartości użycia pamięci?

Jako pokrewne pytanie, czy istnieje sposób wskazania miejsca na wykresie i zobaczenie dokładnego wykorzystania pamięci w tym punkcie?

+1

Z poziomu konsoli można pobrać bieżące użycie pamięci za pomocą komendy 'performance.memory'. – bfavaretto

+0

Nice - dzięki. Czy mógłbyś dodać to jako odpowiedź @bfavaretto –

+0

@bfavaretto - także, jakikolwiek pomysł, dlaczego performance.memory daje mi wszystkie zera? –

Odpowiedz

3

Oś czasu rejestruje zdarzenia, które mają miejsce po stronie renderowania. Każdy rekord zdarzenia ma również pole "użycie pamięci". Oś czasu wykorzystuje te liczby do wykresu pamięci. Więc jeśli nie ma żadnych zdarzeń dla przedziału czasu, to wykres pamięci nic nie pokazuje.

Po drugiej stronie, jeśli renderer nie robi nic, rozmiar pamięci się nie zmienia.

Jeśli masz absolutną pewność, że potrzebujesz danych z pamięci, możesz ustawić timer, który nic nie robi.

Na przykład można wykonać w konsoli setInterval(function() {}, 1000); W takim przypadku oś czasu otrzyma zdarzenie licznika czasu z danymi o wykorzystaniu pamięci i narysuje wykres pamięci.

+0

Dzięki za odpowiedź. Niestety, z jakiegoś powodu, gdy raz kliknę przycisk "garbage collect", wygląda na to, że wykres zupełnie przestaje odpowiadać - nawet z "setInterval". –

+0

brzmi jak błąd. Czy możesz podać link do strony lub zredukowany przypadek testowy. – loislo

+0

Jakiej wersji Chrome używasz? – loislo

Powiązane problemy