Code Helper佔用大量CPU和記憶體
專案架構:
React+TS+DVA
裝置及軟體:
裝置:Mac
軟體:VSCode
場景:
在Mac中使用VSCode執行時發現專案編譯非常卡頓,時間長達五六分鐘以上,並且專案啟動後訪問頁面,頁面也會有明顯的卡頓。
初步檢查:
開啟活動監視器發現Code Helper啟動了好幾個,並且長時間佔用非常高的CPU及記憶體(CPU超過100%,1個Code Helper程序佔用1個多G記憶體)
解決方案:
將以下程式碼插入到VSCode的setting.json中去,並退出重新啟動VSCode和專案
"search.followSymlinks": false "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/tmp": true, "**/node_modules": true, "**/bower_components": true, "**/dist": true }, "files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/**": true, "**/tmp/**": true, "**/bower_components/**": true, "**/dist/**": true }
解決結果:
1.CPU和記憶體佔用大量下降,記憶體會降到一個Code Helper程序佔用200多M。
2.編譯時間小幅度縮減
3.執行專案後,瀏覽器頁面卡頓感明顯消失
(下圖為優化後的記憶體佔用)
引發原因:
以下原因為去gitGub上看了下VSCode出現這個問題的討論總結
1.由某些外掛引發的問題,可以嘗試禁用所有的VSCode外掛再次嘗試
2.由於TS引用某些包或者外掛導致
個人更傾向於第二種原因,因為其他專案並沒有出現這個問題,只有兩個用了TS的專案出現這個問題,編譯巨慢,頁面卡頓,具體內部原理未知,待解決
可以去gitHub上看下關於這個問題的一些討論
https://github.com/Microsoft/vscode/issues/11963
https://github.com/microsoft/vscode/issues/11096#issuecomment-274879938
https://github.com/microsoft/vscode/issues/51776