psコマンド
# ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rails 28804 0.0 3.5 280808 149796 ? S Apr25 0:04 unicorn_rails master -c config/unicorn_production.rb -E production -D
rails 28809 0.9 4.3 319832 181968 ? S Apr25 10:38 unicorn_rails worker[0] -c config/unicorn_production.rb -E production -D
rails 28810 0.9 4.3 319824 183532 ? S Apr25 10:35 unicorn_rails worker[1] -c config/unicorn_production.rb -E production -D
rails 28811 0.9 4.3 321888 182684 ? S Apr25 10:51 unicorn_rails worker[2] -c config/unicorn_production.rb -E production -D
rails 28812 0.9 4.3 319828 183528 ? S Apr25 10:45 unicorn_rails worker[3] -c config/unicorn_production.rb -E production -D
psコマンドではVSZとRSSの値に注目します。VSZが仮想メモリサイズ、RSSが物理メモリ(スワップされていないメモリ)サイズを表していて、どちらも単位はKBです。また、この2つの数字にはプロセスの一部 (page tables, kernel stack, struct thread_info, struct task_struct)が含まれていません。これらは最低20KB以上あって、必ずメモリに常駐しているそうです。
topコマンド
# top
top - 12:27:20 up 238 days, 12:08, 1 user, load average: 0.68, 0.65, 0.57
Tasks: 82 total, 2 running, 80 sleeping, 0 stopped, 0 zombie
Cpu(s): 26.1%us, 6.5%sy, 0.0%ni, 65.7%id, 0.0%wa, 0.0%hi, 0.0%si, 1.7%st
Mem: 1789024k total, 1674932k used, 114092k free, 144844k buffers
Swap: 0k total, 0k used, 0k free, 382740k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16757 rails 16 0 151m 132m 4232 S 48 7.6 0:47.21 ruby
12111 rails 15 0 152m 133m 5004 S 12 7.7 10:11.64 ruby
13163 rails 17 0 149m 130m 4356 S 2 7.5 7:00.45 ruby
16772 root 20 0 10616 4716 1156 S 0 0.3 0:00.03 munin-node
topコマンドではVIRTとRESの値に注目します。VIRTが仮想メモリサイズ、RSSが物理メモリ(スワップされていないメモリ)サイズを表していて、どちらも単位はKB(末尾にmと付いているときはMB)です。topコマンドの場合、メモリがサーバー全体でどの程度使用されているかも見ることができます。上記では、物理メモリは1789024KBのうち1674932KBが使用されている一方で、仮想メモリは使用されていないことがわかります。