Commit Charge是什么意思?

2015年2月28日

Process Explorer显示整个系统的Commit Charge,如图1。
1

图1

Windows 8任务管理器也显示整个系统的Commit Charge,命名为已提交(内存)
2

Windows资源管理器显示每个程序的Commit Charge,命名为提交(内存)

3

已提交内存(Commit Charge)的意思是应用程序向操作系统申请使用,但可能还未完全使用的内存。

可以这么理解,比如一个ArrayList,预计填充1000个元素,所以初始化容量为1000。但在for循环的某一时刻,只添加了500个元素,所以已提交内存是1000,实际使用的内存是500。如果要添加第1001个元素,ArrayList就要扩容,如果翻一倍,则已提交内存就变成2000,实际用量1001。

系统已提交内存最好小于等于物理内存大小,这意味着不需要使用虚拟内存,速度就快。(但操作系统还是会把一部分内存放入虚拟内存,这以后再说)

如图1,我的电脑的物理内存看得出来是4G,但已提交内存已达4.6G,则有0.6G的内存一定在硬盘上,速度就慢了。

买电脑要看好自己平时工作时一般的已提交内存,最好买个物理内存大于已提交内存的电脑。