当前位置:  开发笔记 > 开发工具 > 正文

程序员在Vista Windows任务管理器中对内存的理解

如何解决《程序员在VistaWindows任务管理器中对内存的理解》经验,为你挑选了1个好方法。

我对XP中的Windows任务管理器有一点了解,但我想在Vista中更好地理解它."工作集(内存)"和"内存(私有工作集)"之间有什么区别.什么是分页池,什么是NP池(非分页?).如何使用这些来确定内存使用情况?顺便说一下,当你最小化程序时,它经常返回它正在使用的90%的内存.有没有办法做到这一点,而不是最小化它?



1> Charlie..:

此MSDN博客条目可能在问题的第一部分提供信息.简短摘录:

工作集是仅驻留在物理内存中的虚拟页面的子集; 这将是该过程的部分页面数量.

正如文章中所讨论的,关于私有与非私有的部分与流程使用的内存有关,可以由其他进程共享.如果你不能共享内存(也许内存被DLL的映像使用,必须在内存中重新定位),它就变得私有了.堆内存也总是私有的.

在最小化程序时,您看到内存大幅下降的原因是Windows会在主窗口最小化时自动修剪进程的工作集.有关更多信息,请参阅此Microsoft KB文章,包括有关如何自行完成此操作的说明.

分页池和非分页池内存是指进程使用的内核内存.来自分页池的内存可以被分页(当内存压力增加时从物理内存中删除).来自非分页池的内存将始终保留在物理内存中,因此通常最好保持较小.但是,除非您正在编写设备驱动程序,否则作为用户模式应用程序开发人员,您通常不必担心这两个项目.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有