我正在开发单页应用程序,其中门户上的所有内容都通过 JavaScript 交换并通过 AJAX 调用获取。页面的主要内容是交互式画布,其中5层画布的内容以及基于数据的重绘内容通过AJAX调用获取。
问题:
我在画布上单击了大约 30 次,分配的系统内存增加了 1.5 GB。任务管理器中的所有进程都没有显示分配此内存。当我重新加载(F5)页面时,分配的系统内存立即恢复正常(释放 1.5GB)。
获取分配内存的第二种方法是在没有任何活动的页面上停留大约 30 分钟,分配的系统内存恢复正常。它稳步减少,不像重新加载页面。
当然关闭网络浏览器也是“帮助”。
什么可以帮助我:
- 如何检查进程分配内存?
- 知道什么可以分配内存吗?
- 知道如何强制释放内存吗?
环境:
- Windows 7 Enterprise(64 位)
- IIS 7
- SQL Server 2012 (11.0.2100)
- Chrome 27.0.1453.94
- 应用程序在 Visual Studo 2010 中开发:
- MVC 4
编辑 06-06-2013
在进入应用程序后从选项卡 chrome://memory-redirect/ 听到一些示例
内存 虚拟内存 PID 名称 Private Shared Total Private Mapped 2116 浏览器 72608k 29688k 102296k 81680k 74404k 4756 GPU 55184k 13088k 68272k 69604k 21216k 4068 Tab (Chrome) - 关于内存 9456k 65352k 74808k 16224k 17628k 176 选项卡 - 应用程序选项卡 29876k 66552k 96428k 39700k 19684k Σ 167124k 341804k 207208k 132932k
物理内存使用 - 任务管理器: 2,59 GB
在画布上进行 30 次交互后
内存 虚拟内存 PID 名称 Private Shared Total Private Mapped 2116 浏览器 81976k 42104k 124080k 89964k 95596k 4756 GPU 68136k 14176k 82312k 81548k 21452k 4068 Tab (Chrome) - 关于内存 10816k 65408k 76224k 17372k 17632k 176 选项卡 - 应用程序选项卡 56180k 67644k 123824k 66224k 19688k Σ 217108k 406440k 255108k 154368k
物理内存使用 - 任务管理器: 4.63 GB
从这个计算表中我看到 java-leel 不能大于 64636 kB => 64MB => 0,064 GB。所以我的问题是分配几乎 2 GB 的剩余内存是为了什么。
我猜它与 Chrome 连接,因为此内存在页面重新加载时释放