1:我电脑是2个G的,PF使用率已经是2.26了,物理内存总数是2061543/1024=2013
我现在PF使用率都是2.26了,为什么可用数还有316792呢?是虚拟缓存?
2:在任务管理器右下角,提交更改这里的:2316/3909请问是怎么得来的,谢谢!
物理内存 = 总数+可用数
系统缓存是说在内存和硬盘之间数据交换的虚拟页,通常是由操作系统在硬盘上分配固定大小的硬盘空间。 即我们设置的虚拟内存。
提交更改 = 物理内存+虚拟内存;是提交占用,虽然你可能用2m 但我可以先占3m
提交更改就是那个 认可总量 有峰值等。
java中也有这个概念
java.lang.management.MemoryUsage
[quote]
MemoryUsage 对象包含四个值:
init 表示 Java 虚拟机在启动期间从操作系统请求的用于内存管理的初始内存容量(以字节为单位)。Java 虚拟机可能在运行过程中从操作系统请求更多的内存,也可能将内存释放给系统。init 的值可以是不明确的。
used 表示当前已经使用的内存量(以字节为单位)。
committed 表示保证可以由 Java 虚拟机使用的内存量(以字节为单位)。已提交的内存量可以随时间而变化(增加或减少)。Java 虚拟机可能会将内存释放给系统,committed 可以小于 init。committed 将始终大于或等于 used。
max 表示可以用于内存管理的最大内存量(以字节为单位)。可以不定义其值。如果定义了该值,最大内存量可能随时间而更改。已使用的内存量和已提交的内存量将始终小于或等于 max(如果定义了 max)。如果内存分配试图增加满足以下条件的已使用内存将会失败:used > committed,即使 used <= max 仍然为 true(例如,当系统的虚拟内存不足时)。
以下是内存池的示例图:
+----------------------------------------------+
+//////////////// | +
+//////////////// | +
+----------------------------------------------+
|--------|
init
|---------------|
used
|---------------------------|
committed
|----------------------------------------------|
max
[/quote]
虚拟内存并不是等你物理内存用完了才使用的,也就是说你物理内存即使还有很多,操作系统还是会使用虚拟内存的。
提交更改是物理内存加虚拟内存