在自己的雲服務器上搭建了syncthing服務,用來自動同步分別位於公司、家里電腦的文件,服務搭建好以后,用到SyncTrayzor(V1.4.2)來作為syncthing在windows和mac設備上的管理程序。剛開始在windows和mac上用這個軟件都好好的,突然有一天windows上的SyncTrayzor的CPU一直占用很高,把syncthing服務停止了一樣占用很高,頭疼了幾個星期終於找到了原因和解決辦法。
1.嘗試用processExplorer查看SyncTrayzor進程情況,發現程序不僅占用CPU高同時一直在進行IO操作。
2.通過SyncTrayzor設置找到日志文件,發現日志文件一直在報錯。
3.報錯的內容是執行文件沖突處理程序時,掃描到的文件不能訪問(明明掃描的目錄已經添加到軟件的忽略目錄列表了,不應該再進行沖突檢查才對)。
4.查看具體不能訪問的報錯的文件,發現是個快捷方式,打開快捷方式時系統也會提示報錯。
5.網上查找為什么會產生報錯的快捷方式,原來是用到了cnpm包管理工具。
6.將當前的node_modules目錄刪除,使用npm工具重新安裝項目依賴。
重啟SyncTrayzor后,不再出現占用CPU高的情況了。
開始找原因時還想過要打dump分析,由於是windows程序發現不現實,最后還是通過查軟件日志找到了突破口,看來軟件工作不正常時還是要優先看日志啊!