下面由phpstorm教學欄位介紹Mac下PhpStorm開啟過多項目,導致異常卡頓到奔潰的解決方法,希望對需要的朋友有所幫助!
前言:筆者今天困擾於PhpStorm導致應用程式記憶體不足,速度像蝸牛一樣慢,排熱扇像拖拉機一樣瘋狂運轉,最後直接跳出超出使用記憶體750 (預設是128m-750m) 彈跳窗。
透過Mac自帶的活動監視器發現
- mds_stores進程佔用6.5G(一開始以為是筆者的docker容器和映像,後面說明)
- # com.docker.supervisor 佔用記憶體2G(筆者使用docker環境開發)
- PhpStorm 佔用6.2G
一臉懵逼,我的Mac記憶體才8G,難怪Mac罷工,要是我我也罷工。哈哈
筆者再一步步通過調優,最後發現原因,還是將三次調優過程分享一下
二(2)為解決方案
vi /Applications/PhpStorm.app/Contents/bin/phpstorm.vmoptions
#-Xms512m
-Xmx2048m
##-Xms512m-Xmx2048m##-Xms512m
-Xmx2048m
-XX:MaxPermSize=350m
##-XX:ReservedCodeCacheSize=225m-XX: UseCompressedOops#修改後發現,的確是不會彈出使用記憶體750(預設是128m-750m) 彈跳窗,但是電腦速度一樣so low! ! ! ! !主要還是記憶體不足。 所以,這個方式適用於記憶體較大,想調優的同誌了。 二、調優node_modules目錄(解決方案)
1、全域忽略node_modules目錄(專案中node_modules會消失不見,但其實還是存在,時時被忽略。可以本地運行,卻無法打包。)
操作很簡單,打開PhpStorm>>Preferences>>Editor>>File Types
## 在Ignore files and folders選填項裡添加node_modules,記得用分號隔開,保存並重啟項目後我發現,之前佔用在6G左右的PhpStorm佔用只有1.5G左右。 隱藏node_modules後,node_modules元件內的程式碼提示當然就沒有了,不過本機npm run dev還是正常運作。 發現Mac整體安靜下來,不太鬧情緒。速度提上來了。但筆者還是覺得難受,因為如果打包準備要打包到線上的話,你會發現,打包不了會報錯,這適合本地開發暫時還未到上線程度的項目。
更優一步。
(解決方案)2、局部移除索引node_modules目錄(非忽略,在專案中還是可以發現node_modules目錄)設定完成後再PhpStorm>>File>>invalidate Caches Restart清除快取並重啟PhpStorm
三、mds_stores的釋放我們現在要做的就是停止mds_stores進程
#之前就已經好奇mds_stores是哪個進程了。網路搜尋發現「mds_stores」了這個是系統建立索引用的(有人說是升級到macOS High Sierra 之後mds_stores卡頓次數更多),才想起來最近Finder的搜尋也有點不正常,搜不出東西來,升級之前就是這樣了。而索引支援Finder和Spotlight(Mac自帶工具)的搜尋功能,當然咱們的程式碼工具PhpStorm也是使用到索引(node_modules),這就是為什麼第二步有起到作用!
1、Terminal(終端)裡輸入指令:
sudo mdutil -a -i off。
但這還不夠,還需要透過Mac自備活動監控器手動殺死 mds_stores 進程。
2、再啟動:
###3、重啟### 重啟PhpStorm######四、總結######由於node_modules體積較大,越大的項目,多開幾個。那麼PhpStorm就無法承載。第一步適用於記憶體較大,想調優的同志可以設定一下。第二步的操作是關鍵,第二步(2)操作node_modules使得索引壓力大幅減少,每次開啟項目,就不會去主動建立node_modules的索引,不過就是會失去程式碼提示這個功能,但其實是可以接受的。在後續的開發,筆者將持續觀察是否長時間的起到作用吧~#######
以上是解決Mac下PhpStorm開啟過多項目導致異常卡頓到奔潰的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!