lkml.org 
[lkml]   [2003]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Strange memory usage reporting
On Tue, 26 Aug 2003, Jaroslav Kysela wrote:

> On Tue, 26 Aug 2003, [iso-8859-1] Mĺns Rullgĺrd wrote:
>
> > I was a little surprised to see top tell me this:
> >
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> > 10642 mru 11 0 23200 81m 2740 S 0.0 37.0 0:00.07 tcvp
> >
> > It didn't make sense that RES > VIRT, so I check /proc/pid/*. Their
> > contents are below. Am I missing something? Note that they are not
> > consistent with the 'top' line above, since they were copied at a
> > different time. The effect is easily reproducible. It happens every
> > time I run my music player with using ALSA.
>
> I have exactly same behaviour with 2.4.21 kernel. It seems that VmRSS
> grows with the mmap2 syscalls although appropriate munmap is called. I'm
> investigating a possible problem with the memory accounting.

Yes, it seems so. The do_no_page() function in mm/memory.c does accounting
for reserved pages (++mm->rss), but in zap_pte_range() there is a check
preventing increase the count of freed pages.

Here is a patch for VM gurus to review (for 2.4 kernel, but it should
apply to 2.6 as well):

===== mm/memory.c 1.57 vs edited =====
--- 1.57/mm/memory.c Fri Jun 13 18:26:23 2003
+++ edited/mm/memory.c Tue Aug 26 15:33:28 2003
@@ -1306,7 +1306,8 @@
*/
/* Only go through if we didn't race with anybody else... */
if (pte_none(*page_table)) {
- ++mm->rss;
+ if (!PageReserved(new_page))
+ ++mm->rss;
flush_page_to_ram(new_page);
flush_icache_page(vma, new_page);
entry = mk_pte(new_page, vma->vm_page_prot);

Jaroslav

-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.071 / U:0.492 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site