Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
bnichol
Specialist
Specialist

Virtual Memory

I'm trying to understand some of the numbers reported on the QEMC > Status > QVS Statistics > Performance tab...

Name Value
VMCommitted 13668
VMAllocated 18232
VMFree 8370376
VMLargestFreeBlock 8364194

The VMCommitted is close to a summary of the Physical & Kernel Memory on the box, but what are the VMFree and VMLargestFreeBlock numbers. They calculate to around 8 Terabytes. That makes no sense to me.

Pertinent info: Qlikview v9 SR4 64bit server running on Windows 2008 server with 34 GB ram

Any assistance would be welcomed,

B

1 Solution

Accepted Solutions
StefanBackstrand
Partner - Specialist
Partner - Specialist

See my earlier post on these values, as well as the VMFree and VMLargestFreeBlock values, here: http://195.78.36.8/forums/p/25829/99174.aspx#99174.

More or less:

Reservation is performed by QVS to have a memory area to work within.

Allocation is performed when QVS needs to actually extend it's usage within the reserved memory area.

Commit is when data is placed within the allocated area of memory.

The reservation, in a QVS case, is basically "invisible", since it does not directly consume any resources. The final call when reserving memory is up to Windows, and the returned reservation might be smaller than requested by QVS. The reserved memory area can be seen in the QVS event logs (high/debug/verbose logging required) at proccess startup, and are defined by the Working Set limits, inheriting in the QVS settings.

The allocation and commit values, if placed on a curve, will follow each other closely if the memory usage is healthy, with allocation just above commit. Differences or "split curves" in this case can indicate memory leaks, but will show significantly.

The VMFree and VMLargestFreeBlock values are only useful on 32 bit systems, since on a 64 bit system returns the size that Windows reports - and that number is, for some reason I don't know, the total possible memory size of the system. And that is not the same thing as actual free memory. I would disregard these numbers on x64, which is your case.

View solution in original post

2 Replies
StefanBackstrand
Partner - Specialist
Partner - Specialist

See my earlier post on these values, as well as the VMFree and VMLargestFreeBlock values, here: http://195.78.36.8/forums/p/25829/99174.aspx#99174.

More or less:

Reservation is performed by QVS to have a memory area to work within.

Allocation is performed when QVS needs to actually extend it's usage within the reserved memory area.

Commit is when data is placed within the allocated area of memory.

The reservation, in a QVS case, is basically "invisible", since it does not directly consume any resources. The final call when reserving memory is up to Windows, and the returned reservation might be smaller than requested by QVS. The reserved memory area can be seen in the QVS event logs (high/debug/verbose logging required) at proccess startup, and are defined by the Working Set limits, inheriting in the QVS settings.

The allocation and commit values, if placed on a curve, will follow each other closely if the memory usage is healthy, with allocation just above commit. Differences or "split curves" in this case can indicate memory leaks, but will show significantly.

The VMFree and VMLargestFreeBlock values are only useful on 32 bit systems, since on a 64 bit system returns the size that Windows reports - and that number is, for some reason I don't know, the total possible memory size of the system. And that is not the same thing as actual free memory. I would disregard these numbers on x64, which is your case.

Not applicable

Hi Stefan,

due to Qlikview web page changes on june 2011, links older than this date are not wirking.

I'm angry about Qlikview due to many missing useful info in community pages.

Unfortunately your link belongs also to victims 😞

can you reprovide a working link ?

thanks & regards

Gülnur