How can I increase the memory on the fly with the hardware management console on AIX 5 & 6?
AIX HMC – how to increase the memory on the fly
aix
Related Solutions
svmon
e.g.
# svmon
size inuse free pin virtual
memory 131072 114552 16520 34191 151562
pg space 655360 78472
work pers clnt other
pin 30911 6 0 3274
in use 83264 31288 0
or vmstat
as already shown (vmstat -v
)
Short version: look at the in use clnt
+pers
pages in the svmon -G
output (unit is 4k pages) if you want to know all file cache, or look at vmstat -v
and look at "file pages" for file cache excluding executables (same unit).
You should check out the following article if you want a good overview of what's going on: Overview of AIX page replacement.
For an extremely short summary, memory in AIX is classified in two ways:
Working memory vs permanent memory
Working memory is process (stack, heap, shared memory) and kernel memory. If that sort of memory needs to be pages out, it goes to swap.
Permanent memory is file cache. If that needs to be paged out, it goes back out to the filesystem where it came from (for dirty pages, clean pages just get recycled). This is subdivided into non-client (or persistent) pages for JFS filesystems, and client pages for JFS2, NFS, and possibly others.
Computational vs non-computational pages.
Computational pages are again process and kernel data, plus process text data (i.e. pages that cache the executable/code).
Non-computational are the other ones: file cache that's not executable (or shared library).
svmon -G
(btw, svmon -G -O unit=MB
is a bit friendlier) gives you the work versus permanent pages. The work
column is, well, work memory. You get the permanent memory by adding up the pers
(JFS) and clnt
(JFS2) columns.
In your case, you've got about 730MB of permanent pages, that are backed by your filesystems (186151*4k pages).
Now the topas
top-right "widget" FileSystemCache (numperm)
shows something slightly different, and you'd get that same data with vmstat -v
: that's only non-computational permanent pages. i.e. same thing as above, but excluding pages for executables.
In your case, that's about 350MB (2.2% of 16G).
Either way, that's really not much cache.
Best Answer
You can only dynamically increase/decrease the memory for an LPAR within the partition profiles' configured minimum/maximum. ie: Minimum 1GB, Maximum 10GB.
Assuming you want to work within this range, and the system has available memory, increasing the allocation dynamically is simple. From the Server view, select the LPAR you want to reconfigure, and in the menu either next to the name or in the bottom pane, navigate to: Dynamic Logical Partitioning -> Memory -> Add or Remove.
From here edit the values for the profile, it will be pre-populated with the current values, and hit apply. Note, if the allocation or more specifically de-allocation is large, you may want to increase the timeout value, as this operation can take a long time. If your HMC doesn't have a timeout option, you're probably running on some older code. If it times out, just retry the operation, and eventually it will reach your value.
If you do not available free memory on the system, you can take memory from another lpar using the same process. You can use the Dynamic Logical Partitioning -> Memory -> Move option to take from one LPAR and place it on another.
You can confirm the changes realtime on the host using topas or nmon.