在Windows中,如果增加logrt之类的监控,会导致CPU一场上升,经过了数日的调查,终于找到了解决方案,在此记录一下
背景
由于需要在windows中添加对transaction的监控,而transaction的log是被记录在一个总的folder中的,现在如果在这个folder中加入了很多的monitoring item,会导致IO一场升高,最终导致CPU的异常使用
调查
调查中发现,由于创建了很多的日志监控,但是每一个日志文件都在同一个文件夹中,换句话说,那个文件夹有几百个文件!
即使用Windows自带的搜索功能搜索文件,需要耗费很久,而我们有几百个这样的监控项,导致了每一个item都在疯狂耗费资源搜索,从而导致了CPU飙升
优化项
经过这件事之后,在Windows服务器中,如果我们还有日志监控相关的需求,我们会要求developer将log单独存放在一个文件夹中,并定时清理,保证文件夹的文件数量一定是相对较少,对系统搜索不会产生什么影响的
这时候发现,确实CPU的使用率下降了