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