解决。它与我的应用程序关闭无关,但与锁定高达1.2 GB RAM的驱动程序无关。
当我的应用程序关闭时,内存将被释放(整体RAM使用率下降)。有时在此之后,机器的整体RAM使用率上升没有明显的原因。这几乎是随机的。也许曾经20次尝试过。
关于我的申请:
它是一个带有EntityFramework的WPF应用程序,用于数据库访问和用于刷新数据的SQL-Dependency。
关于操作系统:
执行此行为的操作系统是Windows Server 2012 R2(使用Citrix的终端服务器)。我无法在Windows 7或Windows 8.1上重现这一点。
直到现在,当我的应用程序死亡时,我才假设整个内存将被释放。有没有人知道是什么原因引起的?
EDIT1: 终端服务器我测试它,被隔离测试。唯一运行的应用程序是taskmanger,我的应用程序可能是Explorer。即使Logout也没有释放内存。
EDIT2:
我遇到这个问题的网络专家对他进行了进一步的分析。他浏览了这台机器上的每一个进程(除了测试我的程序之外什么也没做)并且一起添加了内存使用。他超过1 GB。我认为他应该看到所有流程和服务。但我会问他这件事。
如果它来自操作系统,我会非常感激。我只需要确保它不是一个错误。
@Those downvote: 我确实意识到这是一个难以回答的问题,因为所有记忆都应该在结束时释放。我不能详细说明如何重现这一点,不是因为我不想找到它,而是因为2天的搜索没有给出太多。它偶尔会弹出一次。
答案 0 :(得分:0)
如果您的应用程序已关闭,则无法再分配内存。如果你看一下整体内存利用率,那么一些其他进程对此负责,而不是你的。请记住,操作系统有足够的部件并运行大量应用程序。它不仅仅是你自己的应用程序。
特别是在终端服务器环境中,您运行的应用程序与服务器上的其他所有人竞争相同的资源。如果其他人启动了应用程序,您可能会看到内存使用率上升。