lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <FA6FB5FA4DA6BF4386D129273B2E3EC3024B847C@xmb-sjc-214.amer.cisco.com>
Date:	Sun, 21 Oct 2007 13:21:39 -0700
From:	"Ravinandan Arakali (rarakali)" <rarakali@...co.com>
To:	"Vaidyanathan Srinivasan" <svaidy@...ux.vnet.ibm.com>
Cc:	"Linux Kernel" <linux-kernel@...r.kernel.org>
Subject: RE: Question about free/used memory on Linux

Hi Vaidy,
Thanks for clarifying several of my doubts.

To answer your question about my intention, we currently have a 
system with 2 GB RAM and I need to find out the actual used and 
free memory so that we can decide if the same setup(applications,
tmpfs etc.) can run on another system with lesser memory.

Is it correct to say that the "used" field "free -m" excluding
buffers/caches would give the correct idea of used memory
(I mean does it take care of shared memory, shared copies of 
libraries etc.) ? I assume it does not include /dev/shm usage
since that's also a tmpfs partition ?

If so, then I can add the memory used by tmpfs partitions to
the above and get the total memory used ?

For eg. if my "free -m" appears as below:
Linux(debug)# free -m
             total       used       free     shared    buffers
cached
Mem:          2014        984       1030          0         80
594
-/+ buffers/cache:        309       1705

Can I say that 309MB + 350 MB(size of tmpfs partitions including
/dev/shm)
is the used memory on my system ?

Thanks,
Ravi


-----Original Message-----
From: Vaidyanathan Srinivasan [mailto:svaidy@...ux.vnet.ibm.com] 
Sent: Sunday, October 21, 2007 12:01 PM
To: Ravinandan Arakali (rarakali)
Cc: Linux Kernel
Subject: Re: Question about free/used memory on Linux

Ravinandan Arakali (rarakali) wrote:
> Hi kernel gurus,
> I am trying to find out the memory that's used on my linux box.
> I find that there are quite a few confusing metrics. How do I find out

> the "true" used memory ?

pagecache pages may be the reason for the confusion.  Most free memory
can be consumed under 'Cached' in /proc/meminfo

Most of this memory is easily reclaimable and can be considered 'free'.
However the cost of reclaim increases if the pages are memory mapped
and/or dirty.

Cached-Mapped-Dirty in /proc/meminfo can be seen as a easily freeable
memory and can be added to the 'Free' in /proc/meminfo count

What is your intention of finding free memory in the system?  Linux
kernel takes the best decision of using available RAM for file cache or
applications code/data as and when needed.  Ideally the 'Free' count
will be  a very low value on a heavily used system.  If application
needs more memory, then the kernel will shrink the caches and give the
reclaimed memory to the application.

> 
> 1. For eg. "free -m" shows free memory (excluding buffers/caches) as 
> 308 MB while I can see(from "df" output) that the the tmpfs partitions

> take up about 400 MB. So, does "free -m" not consider the tmpfs 
> partitions ?

Pages used from tmpfs should come under Mapped or Cached.  They are not
counted as free.

> 2. I try to add up RSS field of all processes reported by "ps aux" 
> command. But is it true that this would be misleading in that, shared 
> memory used by, say 2 processes would show up twice here although 
> there's only one copy in memory. Also does this consider the fact that

> there's only one copy of shared libraries ?
>

RSS is from each process point of view.  If the page is present in RAM,
it is counted.  If the pages is shared, then it is counted in both
process address space.

> 3. I guess "free -m" and "top" commands use /proc/meminfo and hence 
> all these outputs are same ?

Yes, all of them parse /proc/meminfo

--Vaidy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ