码迷,mamicode.com
首页 > Windows程序 > 详细

windows server 2008 大量拷贝后释放内存

时间:2014-07-24 23:55:44      阅读:1365      评论:0      收藏:0      [点我收藏+]

标签:windows 2008;大量拷贝;释放内存;释放文件系统缓存

    管理的服务器中有一台windows 2008,这台服务器最近每天都会拷贝几十万的图片,拷贝量非常大,维护时发现每次拷贝完,操作系统的内存使用都会接近100%,导致没有办法进行其它操作,前几次都通过下班后重启服务器解决,今天仔细查了一下,找到了问题的原因

    

问题描述:

server 2008 r2系统会在进行大量IO操作时,占据大量内存资源,直至内存占满,从而导致系统运行速度变慢。


相关现象:
1. 内存占用率90%以上(即是是64G内存,也会占用63.5G)
2. 资源管理器中所有进程内存和较低(约10G)
3. 通过RAMMAP可以看到Mapped File一项数值很高。


产生原因:
Server2008 r2会尽量使用内存来进行文件缓存,从而提高相应文件的读写速度,然而,却没有设置一个默认的极限值(属于windows系统的问题)


解决方法:
1. 暂时解决策略:利用RAMMAP的empty system working set,可以使得文件缓存释放掉。具体如图所示。缺点是之后如果继续进行IO操作,文件缓存还会一直增加。

2. 更好的解决策略:强制设置windows系统文件缓存大小,使得其不会占用大量的内存。缺点是每次重启都需要重新设置。

bubuko.com,布布扣

bubuko.com,布布扣


如图所示,使用RAMMAP可以使得文件缓存完全释放,但是后期会重新增加直至填满。
使用SetSystemFileCacheSize可以使得文件缓存得到有效控制。

相关软件下载:

SetSystemFileCacheSize

RAMMAP

参考资料:

http://social.technet.microsoft.com/wiki/contents/articles/6925.how-to-prevent-filecache-to-eat-up-all-the-ram.aspx


本文出自 “徐三金那些年混IT的事” 博客,请务必保留此出处http://xu3jin.blog.51cto.com/2261216/1529705

windows server 2008 大量拷贝后释放内存,布布扣,bubuko.com

windows server 2008 大量拷贝后释放内存

标签:windows 2008;大量拷贝;释放内存;释放文件系统缓存

原文地址:http://xu3jin.blog.51cto.com/2261216/1529705

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!