none
win7 拷贝大文件时占用内存过多 RRS feed

  • 问题

  • 当win7拷贝大文件时,比如1G以上的单个大文件,我看使用内存额外增加大概200-350M左右,估计是用于做缓存之类的,拷贝完成后,这些内存会自动释放。想请问有没有办法减少这个内存的大小,比如设置成缓存只使用100M,拷贝慢点就慢点,因为我们程序使用内存较多,再导入文件,如果消耗300M,直接导致win7内存分配不够,超过4G,报内存不足。谢谢

    2010年8月3日 11:26

答案

  • 是 Explorer.EXE 明显占用内存么?还是其它进程?
     
    --
    Alexis Zhang
     
    https://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "flyaway866"
     
    当win7拷贝大文件时,比如1G以上的单个大文件,我看使用内存额外增加大概200-350M左右,估计是用于做缓存之类的,拷贝完成后,这些内存会自动释放。想请问有没有办法减少这个内存的大小,比如设置成缓存只使用100M,
     
     
    • 已标记为答案 flyaway866 2010年11月4日 1:58
    2010年8月4日 0:04
  • 你好,

    其实这可以简单的归结为计算机性能不足,而并不是Windows 7内存机制的问题。

    就拿使用开发软件、视频编辑软件来说,由于将资源加载到这些程序或者时间轴中进行编辑,由此肯定会占用很多物理内存,而此时再进行其他操作如果物理内存容量不够肯定就没有足够的内存进行分配。

    另外,由于开发和视频编辑都是非常考验计算机性能的操作,所以Windows无法将这些软件所占用的资源换到虚拟内存。


    请将已解决的问题标记为“答案”,以便更多的朋友能够方便的找到问题解决方案。 - MVP | Windows Desktop Experience | Virtualization Sino
    • 已标记为答案 flyaway866 2010年11月4日 1:58
    2010年8月4日 4:58
    版主

全部回复

  • 這個現象我沒有注意過, 不過如果確實存在的話, 可以先通過 copy, xcopy, robocopy 這些基於控制台的實用(命令)工具進行文件複製.

    補充:

    另外還有一個第三方的 FastCopy 複製工具, 也可以試試.


    Folding@Home

    2010年8月3日 11:34
  • 就算在windows7 中进行简单的复制操作也会出现这种情况,毕竟用户一般只会进行简单操作,还是希望不增加用户操作难度,让维护人员通过一次设置解决,一劳永逸

     

    2010年8月3日 11:36
  • 我刚才测试了一下,的确会出现内存占增加,但是没有和你说的那样离谱。

    大约增长3-8%左右,我的是2G内存。

    拷贝文件不会出现内存占用不足的。

    因为在内存分配的时候是应用程序主要。

    我想你也没听说过谁的系统因为拷贝文件而内存占用崩溃的吧?

    2010年8月3日 18:14
  • 会不会是杀毒软件在扫描文件而暂用内存?

    2010年8月3日 19:26
  • 是 Explorer.EXE 明显占用内存么?还是其它进程?
     
    --
    Alexis Zhang
     
    https://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "flyaway866"
     
    当win7拷贝大文件时,比如1G以上的单个大文件,我看使用内存额外增加大概200-350M左右,估计是用于做缓存之类的,拷贝完成后,这些内存会自动释放。想请问有没有办法减少这个内存的大小,比如设置成缓存只使用100M,
     
     
    • 已标记为答案 flyaway866 2010年11月4日 1:58
    2010年8月4日 0:04
  • 假设4G内存,开始占用了3.7G,拷贝文件又加了300M,我们的软件再请求100M内存的时候,就分配不了了,从拷贝文件那夺不过来内存,于是就挂了
    2010年8月4日 1:57
  • win7貌似本来就很占内存,我经常随便开2个vs2008,开个浏览器,杀软,qq,msn之后,一多半内存就没了,

    假设4G内存,开始占用了3.7G,拷贝文件又加了300M,我们的软件再请求100M内存的时候,就分配不了了,从拷贝文件那夺不过来内存,于是就挂了

    2010年8月4日 1:59
  • win7貌似本来就很占内存,我经常随便开2个vs2008,开个浏览器,杀软,qq,msn之后,一多半内存就没了,

    假设4G内存,开始占用了3.7G,拷贝文件又加了300M,我们的软件再请求100M内存的时候,就分配不了了,从拷贝文件那夺不过来内存,于是就挂了

    检查你的硬件问题。

    不可能出现开机占用3.7.

     

    2010年8月4日 3:47
  • 额。。。必须不是开机,举个例子,我们开发的软件平时吃个1-2G是正常的,涉及很多方面,视音频编辑的,正因为吃的多了,其他方面总想抠出来点内存,省下来给我们用,例如同时加载几百个视频,不可能不吃内存
    2010年8月4日 3:55
  • 你好,

    其实这可以简单的归结为计算机性能不足,而并不是Windows 7内存机制的问题。

    就拿使用开发软件、视频编辑软件来说,由于将资源加载到这些程序或者时间轴中进行编辑,由此肯定会占用很多物理内存,而此时再进行其他操作如果物理内存容量不够肯定就没有足够的内存进行分配。

    另外,由于开发和视频编辑都是非常考验计算机性能的操作,所以Windows无法将这些软件所占用的资源换到虚拟内存。


    请将已解决的问题标记为“答案”,以便更多的朋友能够方便的找到问题解决方案。 - MVP | Windows Desktop Experience | Virtualization Sino
    • 已标记为答案 flyaway866 2010年11月4日 1:58
    2010年8月4日 4:58
    版主
  • 我想请问一下,win7中有没有什么设置,或者对用户的接口,控制copy占用的内存呢?
    2010年8月4日 5:25
  • 可以看看在 MSDN 找找有關復制文件的 API, 看裏面有無對應功能. 另外 Windows Explorer 復制文件的功能或許其自身實現的, 那樣的話應該沒有相應的 API 接口.
    Folding@Home
    2010年8月4日 5:29
  • 貌似没有找到能控制的。。。也就是我们用户不能控是么?只能由操作系统来控制

     

    2010年8月4日 5:45
  • 你好!

     

    首先,请更新BIOS和主板芯片组驱动来改善内存的管理。

     

    然后,我建议你在安全模式干净启动模式下测试此问题。看看是否有驱动或者软件冲突。

     

    结果如何?


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    2010年8月4日 6:06
    版主
  • 和这个关系应该不大,关键是我们软件很吃内存,于是,就想各种方法,从别人那抠内存,而所有win7复制超过1G的大文件,都是占用200M左右内存,只是想请教各位高手,看能不能限制一下,看有没有办法,
    2010年8月4日 8:16
  • 建议在“打开或关闭windows功能”窗口中取消“远程分差压缩”功能,曾经我也遇到楼主同样的问题,关闭该功能后基本解决该问题!
    2010年8月6日 15:17