How can I see the free memory on an AIX? There is no free -m under it.

AIX oslevel: 6100-03-03-0943

  • Your AIX server won't have any free memory. It will have memory in use by applications and memory in use for filesystem cache. If you look at tools like topas, nmon, etc. they will all show nearly all of physical memory in use all the time. My question is, what are you trying to find out. – EightBitTony Dec 16 '11 at 14:35


# 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)

  • 2
    I always use svmon -G -O unit=MB as that's the only way to get the additional column available which shows the amount of memory, that applications can request. Nice sideeffect is that it will show the amounts in MB, I still cannot get around with 512k blocks :) – doktor5000 Apr 18 '15 at 11:43

Use this:

lsattr -El mem0
vmstat -v

Create a script something like checkmemory.sh and place the following code:

#memory calculator
um=`svmon -G | head -2|tail -1| awk {'print $3'}`
um=`expr $um / 256`
tm=`lsattr -El sys0 -a realmem | awk {'print $2'}`
tm=`expr $tm / 1000`
fm=`expr $tm - $um`
echo "\n\n-----------------------";
echo "System : (`hostname`)";
echo "-----------------------\n\n";

echo "\n\n-----------------------";
echo " Users Login information \n";

for ENTRY in `finger | cut -d " " -f1 | grep -v Login | uniq`
echo "`finger -l $ENTRY | head -1 | cut -d \" \" -f14` ---> `finger -l $ENTRY |
awk '{ print $2 }' | tail -2 | head -1`";
#finger -l $ENTRY | awk '{ print $2 }' | tail -2 | head -1;
echo "-----------------------\n";

echo "\n----------------------";
echo "Memory Information\n\n";
echo "total memory = $tm MB"
echo "free memory = $fm MB"
echo "used memory = $um MB"
echo "\n\n-----------------------\n";

It will display the total, free and used memory of the system as well as remote logged in users.


this command will display result in "GB"

svmon -G -O unit=GB

if you want in "MB", just change the unit value to MB

# lparstat -i |egrep -i "Online|Maximum" |grep -i Memory
Online Memory                              : 49152 MB
Maximum Memory                             : 73728 MB

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.