360的驱动(qutmdrv.sys)分页内存泄露-飞外

有一台服务器安装了360然后就出现了固定频率的死机现象,周期大概为20天左右,机器一定要重启才能恢复,然后使用poolmon进行了长时间的监控,

发现tag为SFnb的驱动程序有严重的内存泄露,最终定位到360的驱动qutmdrv.sys(MD5:607da1beec4df3b2d76bcffa20f11e0b)

有规律的故障日志:

分析过程

看到换页池(paged pool)确实在异常消耗。日志记录从9月13日至9月28日,换页池从134M增长到177M,增长了43M,同时内存标签为SFnb的驱动程序占用的换页池从77M增长到116M,一共增加39M。我们看到SFnb不仅占用了大多数的换页池空间,而且新消耗的换页池也几乎都由其占用。因此我们有理由相信标签为SFnb的驱动程序在缓慢的进行内存泄露

010-09-13 星期一

14:06

Memory: 8377536K Avail: 7713440K PageFlts:-1329082458 InRam Krnl: 2168K P:130528K

Commit: 647560K Limit:10262404K Peak: 718480K Pool N:30384K P:134368K

Tag Type Allocs Frees Diff Bytes Per Alloc

SFnb Paged 276222 586 275636 77178080 280

MmSt Paged 305753 298510 7243 11675720 1612

MmCm Nonp 3181 3078 103 6444304 62566

UlHT Paged 1 0 1 4198400 4198400

TPLA Nonp 1024 0 1024 4194304 4096

Ntff Paged 282209 277851 4358 3556128 816

Gcac Paged 228 145 83 3129696 37707

LSwi Nonp 1 0 1 2576384 2576384

2010-09-28 星期二

09:24

Memory: 8377536K Avail: 7674456K PageFlts:1083518979 InRam Krnl: 2240K P:173116K

Commit: 665188K Limit:10262404K Peak: 795024K Pool N:30904K P:177180K

Tag Type Allocs Frees Diff Bytes Per Alloc

SFnb Paged 416584 717 415867 116442760 280

MmSt Paged 460407 452771 7636 13051616 1709

MmCm Nonp 3176 3073 103 6444304 62566

UlHT Paged 1 0 1 4198400 4198400

TPLA Nonp 1024 0 1024 4194304 4096

Ntff Paged 423905 419319 4586 3742176 816

结论是360并不是企业级的应用程序,只是面向一般用户,所以程序的稳定性其实不一定有很好的保证,

建议今后的企业级的用户如应用服务器上面还是不要安装这类软件,否则会后悔的,这个问题的发现到定位

总共用了3个月之多,代价巨大啊!