2016-02-12 41 views
0

使用版本48.0.2564.109米。Chrome垃圾回收器瘋狂

我們有一個javascript web應用程序(使用ExtJS構建)。在Chrome中,當我們離開我們的應用程序坐在那裏一段時間時,GC開始瘋狂。在任務管理器中,您可以看到CPU不斷旋轉25%左右。

我拍攝了時間線快照和CPU配置文件,您可以看到每秒10次左右的GC嘗試收集內存,但收集0B。

我們的應用程序是一個大型的企業應用程序,並使用相當多的內存並定期更新屏幕。

但是,在這段時間裏絕對沒有JavaScript代碼在運行。所以我不能看到這是我們的應用程序正在積極做的事

有誰知道什麼可能觸發此?

它正在殺死我們的應用程序的性能。

此外,它只發生在我們的選項卡處於活動狀態時。如果切換到另一個選項卡,則CPU停止運行並停止GC。

是否還有其他數據需要我幫助確定?

回答

0

什麼是您的應用當前JS堆大小?您可以通過收集時間表和啓用內存複選框來檢查它。

它看起來像你的應用程序接近V8的內存限制,所以V8試圖釋放一些內存。如果預計應用程序使用那麼多內存,則可以使用類似如下方式來增加主機上的限制: - js-flags =「 - max-old-space-size = 2048」

否則,可能只是代碼中的內存泄漏。使用堆分析器來追捕它。

+0

謝謝,我們肯定在那個時候使用了很多內存,所以我猜你是對的。你說的話很有道理。我會調查更多並回報。謝謝! –