Windows10内存泄漏,分页池高分析及解决方案

  • 一、 内存构成
  • 二、 定位泄漏软件的两种方法
    • 1、User-Mode 转储堆 (UMDH) 工具
    • 2、Windows poolmon.exe工具
    • 3、终极工具-WPT(Windows Performance Toolkit)定位代码行
  • 三、 Windows10的虚拟内存暴涨的意想不到的原因
    • 1、开发人员
    • 2、消费者
      • A.佛系版本
      • B.折腾版本

作为一名开发定位到导致操作系统内存泄漏的软件是自家公司的产品,岂不是很羞先人!

一、 内存构成

二、 定位泄漏软件的两种方法

1、User-Mode 转储堆 (UMDH) 工具

2、Windows poolmon.exe工具

3、终极工具-WPT(Windows Performance Toolkit)定位代码行

    使用WPT定位导致虚拟内存泄漏的祸首.

三、 Windows10的虚拟内存暴涨的意想不到的原因

1、开发人员

   虚拟内存泄漏的故障原因是PlaySound函数导致,主程序间隔一段时间调一次该函数播放一个很小的WAV文件,win10,8GRAM下,大约20000次就开始暴涨。因为已经定位到最底层的函数了,所以肯定是得从系统这找解决方案了。

2、消费者

A.佛系版本

1、直接使用memReduct 清理下就好了

2、在此处设置定期清理或者当大小超了多少自动清理(管理员权限运行):

下载地址:链接:https://pan.baidu.com/s/10PD0RCTI0DgzGYxRilhQrg 提取码:kdde

B.折腾版本

1、win+R 打开msconfig

2、点击确定,查看自己的是否是“有选择的启动”

3、如果是有选择启动,恭喜你中奖了,不管是运行啥程序都有可能导致你的虚拟内存不断上涨,一般情况是这样:

4、解决方法往往不是直接把第2条的启动选择改为“正常启动”然后重启那么容易。这是需要鼠标移动到左下角,右键单击以管理员运行powershell,输入命令bcdedit。

5、注意在windows启动加载器这一节,在标识符列有个nx参数,其对应的值是OptIn。nx 用来配置数据执行保护 (DEP),这是一组硬件和软件技术,旨在防止有害代码在受保护的内存位置运行。总共有四种参数可选,微软官方定义如下:

6、输入命令:

bcdedit /set nx Optout

执行完重启结果如下图:

7、正常的操作系统分页缓存池不会很大,虚拟内存也不会一直涨。任务管理器查看内存状态如下就正常了是

Windows10内存泄漏,分页池高分析及解决方案相关推荐

  1. oracle11g ora 29927,【案例】Oracle内存泄漏 进行10046跟踪分析07445导致数据库宕机

    天萃荷净 在一次ORA-7445导致oracle数据库down掉故障分析中,发现sql因某种原因导致大量的sql area中很多内存泄露,最终导致数据库down掉.通过实验找出类此奇怪SQL. SEL ...

  2. Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具

    Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具.Valgrind这个名字取自北欧神话中英灵殿的入口. 一般使用方式  valgrind --leak-check=full ...

  3. Java 内存泄漏监控检测与分析

    文章目录 1.获得转储文件 1.自动dump内存泄漏文件 2.手动dump Java的内存文件 2.MAT的使用 3.内存泄漏分析实战 1.获得转储文件 1.自动dump内存泄漏文件 在运行时加上参数 ...

  4. Java Review - 线程池中使用ThreadLocal不当导致的内存泄漏案例源码分析

    文章目录 概述 Why 内存泄露 ? 在线程池中使用ThreadLocal导致的内存泄漏 概述 ThreadLocal的基本使用我们就不赘述了,可以参考 每日一博 - ThreadLocal VS I ...

  5. 内存泄漏分析_调查内存泄漏第2部分–分析问题

    内存泄漏分析 这个小型系列的第一个博客介绍了如何创建一个非常泄漏的示例应用程序,以便我们可以研究解决服务器应用程序上基于堆的问题的技术. 它展示了Producer-Consumer模式的一个大问题,即 ...

  6. 调查内存泄漏第2部分–分析问题

    这个小型系列的第一个博客介绍了如何创建一个非常泄漏的示例应用程序,以便我们可以研究解决服务器应用程序上基于堆的问题的技术. 它展示了Producer-Consumer模式的一个大问题,即消费者代码必须 ...

  7. Android应用内存泄漏的定位、分析与解决策略

    Hello,大家好,我是Clock.翻了一下简书,发现有一个多月没有更新博客,本来今天打算和妹纸去电影院看<你的名字>,然后再去到处浪的. 结果因为妹纸公司临时有事,她不得不回公司一趟.. ...

  8. Javascript 内存(三):内存泄漏常见场景及分析

    前言 内存泄漏问题,对于 Web H5 开发者来说,因为每次刷新页面,浏览器就会将当前页面的内存进行释放,影响较小.但是,对于持续不间断执行的程序,比如Nodejs.如果存在内存泄漏问题,那么内存占用 ...

  9. JS 内存泄漏的几种情况以及解决方案

    内存泄漏(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存 并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了 ...

  10. TOMCAT websocket 多连接内存泄漏与jetty对比分析

    服务器环境8核 32G内存 问题: 在5000个连接的时候Tomcat内存基本吃满 Tomcat 压测: 连接数 内存消耗 CPU 1000 6.9G 100% 2000 12G 100% 3000 ...

最新文章

  1. ZooKeeper 如何保证数据一致性
  2. 一次二次开发中的经验与教训(一)
  3. [转载]工作面试时最难的25个问题
  4. 全国计算机等级考试贵州大学,贵州计算机等级考试报名入口
  5. oracle游标fetch_SQL游标@@ FETCH_STATUS函数概述
  6. (转)Shell脚本之break,continue,和exit区别
  7. Redis实现邮件激活码保存
  8. 印刷五大要素:原稿、印版、油墨、承印物、印刷机械
  9. VMware-Esxi6.7各个版本镜像文件iso下载链接
  10. 电子发票撤销 java_已确认的发票如何撤销
  11. j1900适合装哪版群晖_适合新人观看的威联通NAS设置流程详解攻略
  12. 混合颜料-python实现
  13. LTE系统调试记录12:接收端画星座图
  14. 学计算机的人会单身吗,大学里最易单身的十大专业
  15. 太原师范学院计算机考研率,太原师范学院怎么样(太原师范学院考研率)
  16. 连接远程桌面提示“无法验证此远程计算机的身份”的解决办法
  17. 高性能裸金属服务器应用场景
  18. J0007. 华为手机怎么开启开发者选项
  19. C语言小项目 -- 通讯录(静态版+动态版+文件版)
  20. 由Asset中的double free引发的Android系统及APP崩溃问题分析

热门文章

  1. python柱形图绘制_Python Excel 绘制柱形图
  2. java中listview_需要高效的数据映射在Android /Java中进行ListVIEW钻孔的例子
  3. 幂等校验是什么意思_什么是接口的幂等性,如何实现接口幂等性?一文搞定
  4. 如何确定autosar的版本_什么是AUTOSAR?AUTOSAR的概要、背景以及目的-汽车电子-与非网...
  5. 让线程等待10秒_Java多线程-线程状态
  6. Django:django.db.utils.OperationalError: (1050, “Table ‘malicious_software_db‘ already exists“)
  7. html倒计时样式,简单实现JS倒计时效果
  8. 图像语义分割(4)-SegNet:深度全卷积编解码结构
  9. 师妹:3D视觉方向的招聘,有哪个比较好的社区呢?
  10. [Vue] : Vue实例的声明周期