unix memory question
Gordon Messmer
yinyang at eburg.com
Mon Jun 27 01:50:49 UTC 2005
jim martin wrote:
> Hi.. I am curious to know how unix define memory usage. When I type "free" or top, I saw the used
> memory is so much as shown below. But my server is actually idle. In the top's process show that
> the highest memory usage process is only taking up 0.5%. why? the Free command shows used memory
> is so much?
>
> [root at wat]# free
> total used free shared buffers cached
> Mem: 1027344 922496 104848 0 124304 589148
> -/+ buffers/cache: 209044 818300
> Swap: 2031608 0 2031608
`free` is showing you that of your 1GiB of RAM, 922496KiB are used. Of
those, 124304KiB are used by the kernel for buffers, and 589148KiB are
used by the kernel for cache. The latter two are performance
enhancements, and most of this can be dropped to free memory when
required, without writing anything to disk.
Because that RAM can be freed at essentially no cost, the second line
shows you that 209044KiB are used by the kernel and user applications
and would have to be swapped out in order to free RAM. The other
818300KiB are mostly in use (the buffers and cache reported above), but
are "free" for most intents and purposes.
> Besides, I heard from my friend that there is a method to allocate memory for different process.
> For example 30% for apache and 40% for tomcat. Is that true? How to do it?
You can use ulimit to cap resource use, but most people won't. Before
you do, you should benchmark the server well to make sure you know what
the processes will use in real-life use.
More information about the fedora-list
mailing list