在自己的云服务器上搭建了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程序发现不现实,最后还是通过查软件日志找到了突破口,看来软件工作不正常时还是要优先看日志啊!