need explanation linux command "free -m"

Hello,

I need more explanation of "free -m" linux command.

[root@xxxxxx /]# free -t -m
             total       used       free     shared    buffers     cached
Mem:          2026       1817        208          0        404       1035
-/+ buffers/cache:        377       1648
Swap:         2047         17       2030
Total:        4074       1835       2238

Open in new window


As shown, we have 2G total, 1.8G used and 208 Megs free. Everybody will say that we need RAM, but
inline total : 4G total, 1.8G used, 2.2G free, so do I really need more memory ?

Is it good to use swap memory ?

We ask this question because the server is suddenly slow.

see this image ( Plesk shows 40% of memory used ) ?
 comparaison between 'free -m' and Plesk.
thanks,
dom_solariumdeparisAsked:
Who is Participating?
 
kareejbConnect With a Mentor Commented:
The Linux kernel uses as much ram as possible for caching recently used data and for data buffers to increase overall system performance/responsiveness. Linux will dynamically increase or decrease these pools of memory as needed. The line you need the pay attention to is the the one '-/+ buffers/cache:        377       1648'. This means without buffers and cache you are only using 377MB of ram and have 1648MB free available for programs. If you have swap space defined the Linux kernel will use it if it determines that swapping a sleeping process's memory out to disk in favor of additional buffer space or cache would lead to better overall system performance. In your case you have only 17MB of swap in use. Windows 2000/XP/2003 function similarly but are no where near as aggressive. Windows Vista/7/Server 2008 are more akin to Linux in this respect.

So in your case you don't need any more memory and in all actuality you could make do with as little as 512MB of RAM with only a slight impact on performance.
0
 
flubbardCommented:
Couple things.  first off, free is only showing your usage as of the present time.  Generally, you will have some things going to swap and that is not a problem.  You would prefer active applications to not use swap instead of physical memory simply because there is no physical memory left...that would be bad.

That being said.  If you are bumping up that close to physical ram, you probably would benefit from adding some.  

As an aside, to find out more information on any linux command, look at the manual.  You can access the manual by typing:
# man [application]

for example:
# man free

hth - flub
0
 
TobiasHolmCommented:
Hi!

I'd say you need more RAM. The swap is very slow compared to RAM. Try to use the 'top' command to see which processes that use your RAM. Sorting by memory usage (SHIFT-O n ENTER) will sort the top output by memory usage.

Regards, Tobias
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
dom_solariumdeparisAuthor Commented:
Hello TobiasHolm,

see picture of the output of Top.
Do you see which processes that it use a lot of memory ?

regards,
free-m-2.JPG
0
 
TobiasHolmCommented:
You must use sudo to start top to see processes from all users.

sudo top

You can also use ps to see where the memory are used:
sudo ps aux

Regards, Tobias
0
 
madunixCommented:
If your machine uses a lot of swap then you should really think about tuning the system and then adding more memory
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.