龙空技术网

Win Server 2019 一天之中内存利用率越来越高直到死机,疑似内存泄漏

玩电脑的辣条哥 58

前言:

而今看官们对“win10加了内存条可用内存不变”大致比较关心,我们都需要学习一些“win10加了内存条可用内存不变”的相关知识。那么小编同时在网络上网罗了一些有关“win10加了内存条可用内存不变””的相关文章,希望姐妹们能喜欢,兄弟们一起来了解一下吧!

环境:

华为桌面云虚拟机

Windows Server 2019

版本1809

OS内部版本17763.107

问题描述:

Windows Server 2019服务器 一天之中内存利用率越来越高直到死机,不断扩容内存从10G到16G一重启就正常然后慢慢又循环,连续几天都这样,疑似内存泄漏

内存泄漏是什么?

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。内存泄漏通常情况下只能由获得程序源代码的程序员才能分析出来。

一周内内存利用率zabbix监控图:

1.用PoolMonX工具,查看发现 Tag 为“toke”的进程占用内存巨大,标为绿色,即处于上升状态

findstr /s /m /l “toke” c:/windows/system32/drivers/*.sys 通过findstr查找未发现有效信息

(未解决本案例故障)

2.网上说Win10发现微软自带拼音输入法会引起这个问题,底层导致此问题的进程是TextServiceFramework,一输入汉字就会触发,可能某些软件通过taskhostw.exe来提交内存。而taskhostw.exe的已提交内存并没有被任务管理器正确的显示出来。这就导致一些已提交内存被隐藏起来了。有人测试,新建一个文本文档,共输入了9千个汉字之后(我输入的“水”字,按了十多分钟的s键),已提交内存从2G,一路涨到上限9.9G,然后windows提示内存不足(设置了虚拟内存上限为2g,去掉显卡占用的,已提交内存上限是9.9G)整个过程中,使用中内存基本保持不变。关闭文本文档后,已提交内存下降为6.5g。不仅内存占用不正常,而且一半都无法释放。结束taskhostw.exe进程,被输入中文所占用的内存全部释放,不过中文输入法就用不了了。什么也不做,光打9千个汉字,就能爆掉8G内存。 (本案例未有这个情况,未解决)

3.杀毒,如Svchost.exe病毒

当发现Svchost.exe不在%systemroot%\System32目录中的,可以安全删除,同时在注册表中查找对应的注册项删除掉。 或用 tasklist/svc命令查看svchost.exe 右边的服务是不是“暂缺”,是的话为中毒了。

Svchost.exe在%systemroot%\System32目录,说明Svchost.exe是被病毒感染了,可以用杀毒软件清除(本案例未中毒,未解决)

4.卸载多余软件,360安全,虚拟机插件等等,排除软件冲突(本案例未有这个情况,未解决)

5.在系统日志文件里仔发现一个报错:服务器无法通过系统非页面共享区来进行分配,因为共享区当前是空的,事件ID2019(本案例未有这个情况,未解决)

6.修改注册表而使内存占用达到一个较低程度的时候自动去整理内存,系统默认是内存达到80%时整理内存,可以手工修改注册表

打开regedit

找到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

右键“编辑”—添加DWORD值 数值名称:PoolUsageMaximum 数据类型:REG_DWORD

基数:十进制 数值数据:50

#通知内存管理器在达到PagedPoolMax的50%的时候开始自动整理,这里可以根据系统配置自行设置阀值

找到如果存在的话无需再创建 数值名称:PagedPoolSize 数据类型:REG_DWORD

基数:十六进制 数值数据:0xFFFFFFFF #为计算机分配最大的页面缓冲池已取代其他资源

重新启动服务器生效 (本案例解决)

标签: #win10加了内存条可用内存不变 #svchost占用内存过高