Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I"m unable to find the memory usage however top shows me the following results.

Tasks:  90 total,   2 running,  88 sleeping,   0 stopped,   0 zombie
Cpu(s): 21.1%us,  1.4%sy,  0.0%ni, 74.0%id,  2.4%wa,  0.0%hi,  1.0%si,  0.0%st
Mem:   8313376k total,  7969976k used,   343400k free,   185496k buffers
Swap:  4096564k total,       92k used,  4096472k free,  7511688k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND                                                                
28213 apache    15   0 48964  33m 3264 R 56.6  0.4   0:07.64 httpd                                                                  
25170 mysql     23   0  156m  39m 4688 S 37.3  0.5  83:34.76 mysqld                                                                 
 1469 root      10  -5     0    0    0 S  0.3  0.0  28:40.90 kjournald                                                              
25981 root      15   0 10192 2936 2352 S  0.3  0.0   0:00.69 sshd                                                                   
    1 root      15   0  2156  644  552 S  0.0  0.0   0:05.31 init

and free shows the following.

             total       used       free     shared    buffers     cached
Mem:          8118       7764        354          0        181       7335
-/+ buffers/cache:        247       7870
Swap:         4000          0       4000
Total:       12119       7764       4354

Can anyone please let me know that how can i find the usage of memory which is being showed by top and free.

share|improve this question

migrated from Dec 19 '10 at 21:16

This question came from our site for system and network administrators.

I don't mean this an offensive way, since we all have to start somewhere, but this is a really basic question which is outside of the scope of Server Fault. – mattdm Dec 19 '10 at 17:45

I'm not sure what you want, but few tips:

cat /proc/meminfo
vmstat 1
share|improve this answer


VIRT :  Virtual Size of the task. This includes the size of process's executable binary, the data area and all the loaded shared libraries.
RES :   The size of RAM currently consumed by the task. Swapped out portion of the task is not included.
SHR :   Some memory areas could be shared between two or more task, this field reflects that shared areas. The example of shared area are shared library and SysV shared memory.

(edited from incorrect answer - thanks @mattdm)

share|improve this answer
That's not what VIRT means. (And since RES includes shared memory, it's not straightforward either.) – mattdm Dec 19 '10 at 19:15
@mattdm I'm aware of that, but as you say it's not straightforward... otherwise I may just as well have pasted the section out of the man page ;-) RES is the The non-swapped physical memory a task has used... take your point about VIRT though. – Andy Smith Dec 19 '10 at 20:22
The part about VIRT = swapped is the main part, because that's completely wrong..... – mattdm Dec 19 '10 at 20:30
From the man page: The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out and pages that have been mapped but not used. I may be misreading, but the phrase pages that have been swapped out is definitely in there. – Andy Smith Dec 19 '10 at 20:35
Anyway, in response to the original question, you might find useful. – Andy Smith Dec 19 '10 at 20:46

The memory is being used by the Linux kernel as disk buffers. This is normal and nothing to be concerned about. Should running processes require memory it will be made available from the buffers. Have a look at for more information.

share|improve this answer

You must log in to answer this question.