Comment #13 on issue 2191 by [email protected]: V8 reports heap memory size bigger than process private memory
http://code.google.com/p/v8/issues/detail?id=2191

"And once again: V8 does not report amount of virtual address space it just reserves. Otherwise it would be _way_ higher. It reports amount of memory it asked OS to commit. It is true that OS can be lazy in performing actual commit, but that is something beyond V8's reach and actually is not important to V8 at all as for V8 purposes this memory looks like successfully committed and can be used for allocation ."

What does this number mean from the user stand point?

The user wants to see how much of the physical resources were actually eaten by the render process and V8 in it. Showing amount of memory the process asked OS to commit for v8 and showing amount of virtual address space would only give you an upper bound of the actually committed memory. In that sense they would be equally useless in the task manager. From the current numbers we can only tell that the actual size of the v8 heap is something between the size of live JavaScript objects and the size reported to be the total JavaScript size.


"Would you prefer V8 to workaround OSes lazyness by touching every page inside the region it commits to make numbers of apples and oranges agree? I can hardly see any reason in that."

At the present time v8 returns a number of oranges for live JS heap and apples for the whole JS heap. Since Chromium shows amount of committed memory as the process total size need v8 to return the number of actually committed bytes, it doesn't necessarily mean that it will touch every page it asks OS to commit.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to