- Integrated Systems
- About Us
- Integrated Systems
- About Us
02-17-2011 04:17 PM
swapinfo -tm shows the following:
[root@dbfover doc]# swapinfo -tm
MB MB MB PCT
TYPE AVAIL USED FREE USED
dev 8192 0 8192 0% 0 - 1 /dev/vg00/lvol2
reserve - 7880 -7880
memory 27242 19011 8231 70%
total 35434 26891 8543 76%
1. I have read that the memory line is not actual memory but pseudo memory which is typically 75% of total memory. My box has 28 GB RAM, why would the memory line show 27242? 75% of that number does not equal 19011 -- is there a place where the pseudo memory % is set?
2. What tool do I use to find out what is using the portion of memory not allocated to pseudo swap?
3. Are there any whitepapers on how memory is allocated in 11.31 including concepts and tools for monitoring/troubleshooting?
Solved! Go to Solution.
02-17-2011 11:11 PM - last edited on 09-02-2011 12:29 PM by Kevin_Paul
Re: Understanding memory use (including swap) in 11.31
A good start would be be the HP-UX Memory Management White Paper, although pretty old I think most of the thing in there will still be relevant:
Best tools for memory monitoring:
- GlancePlus (not free but trial version available):
- HP also has an internal tool 'kmeminfo', to get it just open a case with HP support (I assume you have a SW contract) and ask for the tool
There are also some good documents available that explain in detail the memory allocation and how to account for all memory being used (e.g. HP-UX 11i - Understanding HP-UX Memory Allocation)... To get these documents just contact HP support.
Also, there are quite a lot of threads about this on ITRC, like the one below for example:
02-18-2011 03:25 AMSolution
To your questions directly:
1) Yes, the memory line is not really RAM. Pseudo-swap is simply a matter of accounting to allow large memory systems where most/all of the workload resides in core to not require large disks just for swap reservation space. The actual percentage is up to the kernel but for v3 is closer to 90% than 75% typically. In your case, the kernel chose about 95% [27242 / (28*1024) = 0.95012555]. 19011 is not the percentage of total memory chosen for pseudo-swap, that's 27242. 19011 is the USED portion of pseudo-swap -- that which has been consumed by reservation from your workload. If your workload throttled down/went away and removed virtual objects (and hence released swap), you'd see resources shift from USED to FREE here.
2) There's no such distinction. Actual physical memory is used and may correspond to virtual objects backed by real swap, pseudo-swap or files (for memory mapped files). The allocations don't care. The only reason the kernel doesn't assign 100% of memory to pseudo-swap (besides the fact that it already uses some of it to bring the system up so it would be silly to include it) is because some of the system needs to keep at least a small portion of the workload where it can reliably expect to be able to push it out to actual swap. If all of the real physical memory consumption was backed solely by pseudo-swap reservations, there would be nowhere to put anything and the system would be stuck until someone freed memory on their own (which is usually unlikely when the system is stuck).