该用户匿名发帖 发表于 2007-11-21 10:48 只看TA 1楼 |
---|
该用户已被删除 |
[交流] 忽悠?迅雷通用资源优化占用优化补丁。 我昨天在网上找到一个迅雷通用资源优化占用优化补丁,赶紧试试,果然任务管理器显示内存占用很低。但心中犯疑,这么好的东西,官方怎么不用?今天在网上搜了一下,原来如此。下面是转自cnbeta.com的迅雷官方进行的所谓优化库的分析,我看完后又把原来的文件替换回去,对比后发现所谓的优化其实更占资源。再次提醒大家不要被忽悠。 替换所谓的优化库后,打开任务管理器,看Thunder5.exe,发现内存使用在不停的变化,大概每秒减少一次. 猜测可能通过系统函数SetProcessWorkingSetSize将进程页面交换出物理内存,造成内存占用低的假象. 打开迅雷5,用OllyDbg等调试器调试,在SetProcessWorkingSetSize函数上设置断点,断下后可以看到调用处代码, 用C语言表示就是 while(1) { Sleep(1618); SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1); } 作用就是每1618毫秒将当前进程(迅雷5进程)物理内存页面交换到虚拟内存. 在程序需要访问这些被交换出物理内存的页面时就会触发页面错误. 操作系统会执行数十万条指令从虚拟内存将页面交换回物理内存,来解决这个页面错误. 而交换回物理内存的页面在1.6秒后又被所谓的优化库交换到虚拟内存. 这个过程不断重复会严重影响程序执行效率,cpu资源会被浪费在这种没有意义的页面交换上. 迅雷在下载时需要频繁读写内存,因此这个库不但没有优化资源,反而会增加磁盘读写次数增加cpu占用率,导致的结果就是下载速度降低,系统速度变慢.而且内存的减少也只是显示减少了,其实是假象. |
0 |