首頁  >  文章  >  開發工具  >  解決Mac下PhpStorm開啟過多項目導致異常卡頓到奔潰的問題

解決Mac下PhpStorm開啟過多項目導致異常卡頓到奔潰的問題

藏色散人
藏色散人轉載
2021-06-02 17:57:345193瀏覽

下面由phpstorm教學欄位介紹Mac下PhpStorm開啟過多項目,導致異常卡頓到奔潰的解決方法,希望對需要的朋友有所幫助!

前言:筆者今天困擾於PhpStorm導致應用程式記憶體不足,速度像蝸牛一樣慢,排熱扇像拖拉機一樣瘋狂運轉,最後直接跳出超出使用記憶體750 (預設是128m-750m) 彈跳窗。

透過Mac自帶的活動監視器發現

  1. mds_stores進程佔用6.5G(一開始以為是筆者的docker容器和映像,後面說明)
  2. # com.docker.supervisor 佔用記憶體2G(筆者使用docker環境開發)
  3. PhpStorm 佔用6.2G

一臉懵逼,我的Mac記憶體才8G,難怪Mac罷工,要是我我也罷工。哈哈

筆者再一步步通過調優,最後發現原因,還是將三次調優過程分享一下

二(2)為解決方案

#一、修改PhpStorm的設定檔

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」了這個是系統建立索引用的(有人說是升級到macOS High Sierra 之後mds_stores卡頓次數更多),才想起來最近Finder的搜尋也有點不正常,搜不出東西來,升級之前就是這樣了。而索引支援Finder和Spotlight(Mac自帶工具)的搜尋功能,當然咱們的程式碼工具PhpStorm也是使用到索引(node_modules),這就是為什麼第二步有起到作用!

我們現在要做的就是停止mds_stores進程

1、Terminal(終端)裡輸入指令:

sudo mdutil -a -i off

但這還不夠,還需要透過Mac自備活動監控器手動殺死 mds_stores 進程。

2、再啟動:

sudo mdutil -a -i on

   

###3、重啟### 重啟PhpStorm######四、總結######由於node_modules體積較大,越大的項目,多開幾個。那麼PhpStorm就無法承載。第一步適用於記憶體較大,想調優的同志可以設定一下。第二步的操作是關鍵,第二步(2)操作node_modules使得索引壓力大幅減少,每次開啟項目,就不會去主動建立node_modules的索引,不過就是會失去程式碼提示這個功能,但其實是可以接受的。在後續的開發,筆者將持續觀察是否長時間的起到作用吧~#######

以上是解決Mac下PhpStorm開啟過多項目導致異常卡頓到奔潰的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除