oracle@prodserver1:[proddb01]# free -m
             total       used       free     shared    buffers     cached
Mem:         16056       9027       7029          0        233       1093
-/+ buffers/cache:       7700       8356
Swap:         8191       2674       5517
Add totals with the -t flag:
 free -t -m
             total       used       free     shared    buffers     cached
Mem:         16056       9029       7027          0        233       1093
-/+ buffers/cache:       7701       8354
Swap:         8191       2674       5517
Total:       24248      11703      12545
So in this case I am using 7701 MB of memory, while 8354 MB is free for use.
To get a quick glance, you can have a look at the file /proc/meminfo, grep for the highlights, like this:
egrep 'Mem|Cache|Swap' /proc/meminfo MemTotal: 16442312 kB MemFree: 7255224 kB Cached: 1120380 kB SwapCached: 45632 kB SwapTotal: 8388600 kB SwapFree: 5650100 kBA good option for finding out if a server is swapping, is by using vmstat:
oracle@myserver# vmstat -w 10 4 procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 2772764 659396 20340 10764836 4 4 19 9 3 4 13 6 81 0 0 6 0 2771740 735076 20364 10766444 82 0 82 7 68360 52089 57 30 13 0 0 10 0 2771484 767816 20376 10766628 8 0 12 4 67349 52155 55 31 15 0 0 7 0 2771228 747480 22832 10768888 34 0 495 12 67799 52119 57 30 13 0 0where * The flag -w indicates wide output * Sample every 10 second * 4 iterations Columns: * si: Amount of memory swapped in from disk (/s) * so: Amount of memory swapped to disk (/s) When a lot of negative swapping occurs the value of "so" (swap out) is increasing.
