Windows-提交大小与虚拟大小 [英] Windows - Commit Size vs Virtual Size

查看:170
本文介绍了Windows-提交大小与虚拟大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道 Commit Size (在 Task Manager 中可见)和 Virtual Size (在SysInternals中可见)之间的确切区别. Process Explorer ).

i would like to know the exact difference between Commit Size (visible in the Task Manager) and Virtual Size (visible in SysInternals' Process Explorer).

进程资源管理器中的虚拟大小参数看起来更准确地指示了进程的总虚拟内存使用情况.但是 Commit Size 总是小于 Virtual Size ,并且我猜它不包括该进程正在使用的所有虚拟内存.我希望有人解释这些参数中确切包含的内容.

The Virtual Size parameter in Process Explorer looks like a more accurate indicator of Total Virtual Memory usage by a process. However the Commit Size is always smaller than the Virtual Size and I guess it does not include all virtual memory in use by the process. I would like somebody to explain what is exactly included in these parameters.

推荐答案

可以保留,提交,首先访问内存并将其作为工作集的一部分. 保留后,将保留一部分地址空间,而不会发生其他任何事情.

Memory can be reserved, committed, first accessed, and be part of the working set. When memory is reserved, a portion of address space is set aside, nothing else happens.

已提交内存时,操作系统将保证相应的页面可以原则上存在于物理RAM或页面文件中.换句话说,它计入系统上可用页面总数的硬限制,并且它正式创建页面.也就是说,它创建页面并假装它们存在(实际上它们尚不存在).

When memory is committed, the operating system guarantees that the corresponding pages could in principle exist either in physical RAM or on the page file. In other words, it counts toward its hard limit of total available pages on the system, and it formally creates pages. That is, it creates pages and pretends that they exist (when in reality they don't exist yet).

第一次访问内存时,将创建正式存在的页面,从而确实存在.将零页面提供给该过程,或者将数据从映射读入页面.该页面被移到该流程的工作集中(但不一定永远保留在其中).

When memory is accessed for the first time, the pages that formally exist are created so they truly exist. Either a zero page is supplied to the process, or data is read into a page from a mapping. The page is moved into the working set of the process (but will not necessarily remain in there forever).

每个运行的进程在RAM中实际上和逻辑上都有许多页面,这些页面存在,并且也正式"存在.这是流程的工作集.
此外,每个正在运行的进程在RAM中实际上都是 页,但在RAM中不再正式存在.它们可能在所谓的备用列表"上,或者在缓冲区高速缓存的一部分上,或者不同.当访问它们时,操作系统可以简单地将它们再次移入工作集中.
最后,每个进程都具有根本不在RAM中的页面(通过交换或尚不存在).

Every running process has a number of pages which are factually and logically in RAM, that is these pages exist, and they exist "officially", too. This is the process' working set.
Further, every running process has pages that are factually in RAM, but do not officially exist in RAM any more. They may be on what's called the "standby list" or part of the buffer cache, or something different. When these are accessed, the OS may simply move them into the working set again.
Lastly, every process has pages that are not in RAM at all (either on swap or they don't exist yet).

虚拟大小包括该进程已保留的所有页面的大小.

Virtual size comprises the size of all pages that the process has reserved.

提交大小仅包含已提交的页面.

也就是说,用通俗易懂的话来说,虚拟大小"几乎是您自己的问题,并且仅受地址空间大小的限制,而提交大小"则是每个人的问题,因为它消耗了全局有限的资源(RAM加交换).因此,它会影响其他进程.

That is, in layman terms, "virtual size" is pretty much your own problem, and only limited by the size of your address space, whereas "commit size" is everybody's problem since it consumes a global limited resource (RAM plus swap). It therefore affects other processes.

这篇关于Windows-提交大小与虚拟大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆