!vmstat command output - what does Private memory area mean?
One of my .NET process that interops with native dlls is throwing an OutOfMemory Exception. Following is out put of !vmstat command
> TYPE MINIMUM MAXIMUM AVERAGE BLK COUNT TOTAL
~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~~~ ~~~~~
Free:
Small 4K 64K 57K 4,545 262,979K
Medium 68K 960K 425K 240 102,000K
Large 1,084K 1,084K 1,084K 4 4,336K
Summary 4K 1,084K 77K 4,789 369,318K
Reserve:
Small 开发者_JS百科 4K 60K 6K 515 3,255K
Medium 72K 1,012K 982K 863 848,287K
Large 1,864K 15,756K 7,801K 11 85,819K
Summary 4K 15,756K 674K 1,389 937,363K
Commit:
Small 4K 64K 6K 8,762 55,669K
Medium 68K 1,024K 436K 455 198,651K
Large 1,028K 21,168K 4,702K 114 536,079K
Summary 4K 21,168K 84K 9,331 790,401K
**Private:**
Small 4K 64K 6K 3,267 22,087K
Medium 68K 1,024K 945K 1,008 953,539K
Large 1,864K 19,008K 6,245K 52 324,775K
**Summary 4K 19,008K 300K 4,327 1,300,402K**
Mapped:
Small 4K 64K 4K 4,190 18,728K
Medium 68K 1,004K 498K 21 10,467K
Large 1,028K 11,536K 4,443K 10 44,435K
Summary 4K 11,536K 17K 4,221 73,632K
Image:
Small 4K 64K 9K 1,820 18,107K
Medium 68K 980K 286K 289 82,931K
Large 1,032K 21,168K 4,010K 63 252,687K
Summary 4K 21,168K 162K 2,172 353,726K
As you can see that Private summary Total is 1.3GB. What exactly Private mean here? Does it mean native memory or managed memory area? Any links for description will help.
"Private Bytes" is memory allocated by this process that can't be shared with other processes. (In a .NET app, this will include both native allocations and the managed heaps.)
This SO answer gives an excellent description of the different "types" of memory.
精彩评论