基于VC的网络应用程序,其主要功能是:
网络层发来数据,上层保存最近的6000个数据包,每个数据包大小在1K~1.5K左右。现在的症状是:
   程序刚运行内存占用18M,然后内存会不停的增长到27M,然后又突然跌回到3M,然后又缓慢涨到17M 
而我的程序的内存占用理论值应该在15M左右(此时保存了6000个数据包),这是什么原因呢?另:采用的内存池的分配策略是 256,512,1K,2K,4K,8K,16K.....

解决方案 »

  1.   

    搞个AQTime看一下是怎么回事。
      

  2.   

    你在任务管理看到的并不是其真正占用的内存,而是所谓的workset size只要确认没有内存泄漏就OK了。
      

  3.   

    比较了一下我的程序和另外一个程序:
    内存使用    高峰内存使用   虚拟内存大小   页面缓冲池   非页面缓冲池
    41,412      44,404        41,652       205           84            ProgarmA
     7,354      20,080        26,136        90           219           ProgramB我发现ProgarmA的页面缓冲池占有蛮大的,而非页面缓冲池占有相对较小而
    ProgramB则恰好相反
      

  4.   

    楼主看看:http://access911.net/getnews/doc1.asp?mode=a&aid=4978627