none
Windows 8 内存不断增加 RRS feed

  • 问题

  • 我们在Windows 8系统上运行我们的多媒体程序,主要用到DXVA2硬解功能。发现系统启动的时候就用了570兆左右的内存,我们的软件启动后,消耗内存不超过100M,经过长时间无间断运行后,发现每天内存都会增长5%左右的内存。但是查看任务管理器,发现我们程序所消耗的内存没有增加,同时也看不到有内存明显增大的进程。而且任务管理器中所有进程的内存之和与显示的内存百分比明显对不上。

    请问,这是怎么回事?是哪个服务影响的吗?还有就是可否告知任务管理器显示的内存百分比是怎么计算的?为什么和内存列显示的大小明显对不上?

    注:CPU是AMD GX-217,  双核1.65GHZ, GPU 是 ATI Radeon™ HD 8280E,内存2G,可用内存1.7G,硬件保留内存300M,硬盘320G

    2014年2月27日 6:32

全部回复

  • 你之前叙述的内存增长是如何看到的?任务管理器显示的能否提供截图方便对比?


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 <yaoyou>;

    | 我们在Windows 8系统上运行我们的多媒体程序,主要用到DXVA2硬解功能。发现系统启动的时候就用了570兆左右的内存,我们的软件启动后,消耗内存不超过100M,经过长时间无间断运行后,

    2014年2月27日 7:48
  • 你好,

          请问你所说的多媒体程序是什么,是Windows media player吗?

          我建议你使用RAMmap,然后看打开RAMMap,然后再菜单栏上找到Empty,点击之后选择Empty Working Sets看下结果。


    Kelvin Xu
    TechNet Community Support

    2014年2月28日 7:47
    版主
  • 没有留下正常运行时的任务管理器截图,但是可以看到消耗内存最大的两个进程,一个是我们的程序(***.exe)和资源管理器。我们的程序消耗内存在60-100M之间浮动,资源管理器一般是30M左右。

    程序运行到第五天晚上时,系统提示内存不足,建议关闭***.exe和资源管理器。但是任务管理器上显示内存占用为65%。此时点击取消,所有程序都正常运行,没有任何问题。

    程序运行到第六天早上,提示***.exe 和资源管理器内存不足,***.exe进程已经结束,此时内存是75%。此时我再次运行***.exe,则内存立即显示到了%85左右,很快再次提示内存不足,结束进城后,显示内存是84%左右。但是此时任务管理器显示占用内存最大的进程才30多兆。现在有任务管理器的截图,但是系统不允许发。任务管理器显示CPU 消耗3%,内存消耗84%,消耗内存最大的是进程是“服务主机:本地系统(10)”和Windows资源管理器,分别消耗内存33.3M和31.6M, CPU消耗都是0%。余下的进程中有5个进程内存消耗是10M至15M之间,其它程序的消耗都是在几兆和零点几兆,内存总和不超过180M。

    2014年3月1日 2:37
  • 多媒体程序是我们公司多媒体云平台的播放客户端。是我们自己写的3D多媒体播放程序,在一个画面里可以对视频、图片、文字、FLASH、PPT等多媒体进行无限制的平铺和多层半透明叠加播放(需要我们自己的多媒体编辑工具,编辑工具对素材不做任何处理,主要是位置坐标、叠加方式、z轴等属性,播放程序在播放的时候更具这些属性进行动态的3D和2D处理)。在视频方面,主要用的是1080P的全高清视频,视频硬解基于D3D9Ex的DXVA2.

    程序运行到第5天晚上,提示内存不足,点击取消可以正常运行。运行到第6天早上,提示内存不足,且进程已经结束。此时内存是75%。此时再运行我们的播放程序,可以运行,但很快便再次提示内存不足,进程自动结束。此时内存显示84%左右。我前面的回复里面有非常详细的描述。

    该程序是用visual studio 2012开发,可以运行于Windows7 和Windows8上。此前曾在T7500 + Nvidia ION显卡上(CPU双核2.2GHZ,内存1G,显存128M)运行,连续运行一个月,内存始终维持在130M-150M之间。

    用RAMmap运行进行分析,直接报告RAMmap已停止工作,无法启动。

    2014年3月1日 2:56
  • 先尝试增大一下虚拟内存吧。如果当前虚拟内存设置比较局促或被禁用,可能很多需要临时存储的东西不得不占用物理内存,看看增大虚拟内存交换区有没有改善。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 <yaoyou>;

    | 没有留下正常运行时的任务管理器截图,但是可以看到消耗内存最大的两个进程,一个是我们的程序(***.exe)和资源管理器。我们的程序消耗内存在60-100M之间浮动,资源管理器一般是30M左右。

    2014年3月1日 7:01