hyper-v虚拟机内存占用过高

问题

最近发现经常使用的一台安装有server2008r2的虚拟机内存占用很高,且确认系统几乎没运行什么服务。(虚拟机是安装在基于hyper-v的宿主机上。)

分析

一直以为是server2008r2的系统问题,或者是安装程序造成的内存泄露。

1.尝试停掉所有非微软服务的自启动,重启虚拟机发现刚开始占用800M,不到一分钟后,又被占用到快8个G。

2.也曾试过DynCache,修改注册表,但是还是未解决问题。

3.后来用RAMMap查看具体哪里占用的大量内存,发现大部分内存被Driver Locked。

解决方案

google搜索下Driver Locked关键词,摘录出几篇文章。

https://social.technet.microsoft.com/Forums/windows/de-DE/d4f97391-a70c-47b1-ab05-bab4754868ac/hyperv-dynamic-memory-driver-locked?forum=winserverhyperv

http://blog.luxem.org/2013/05/driver-locked-memory-on-hyper-v-guests.html

大体总结:是由于hyper-v启用了“动态虚拟内存"造成的。内存被hyper-v动态调整,闲置了会被抽走,不够了又会被还回来,属于正常现象。

如果感觉不爽,可以自行关闭。(打开关闭hyper-v动态虚拟内存参考https://blog.51cto.com/wuyvzhang/1722264)。

欢迎大家多多交流
原文地址:https://www.cnblogs.com/shihao316558512/p/14519030.html