Date: Thu, 16 Feb 2006 14:15:55 +0200 (EET) From: Dmitry Pryanishnikov <dmitry@atlantis.dp.ua> To: David Xu <davidxu@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: Virtual memory consumption (both user and kernel) in modern CURRENT Message-ID: <20060216140725.T23429@atlantis.atlantis.dp.ua> In-Reply-To: <43F29BF5.4060300@freebsd.org> References: <20060215024339.N22450@atlantis.atlantis.dp.ua> <43F29BF5.4060300@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello! On Wed, 15 Feb 2006, David Xu wrote: >> 1) Is it normal that virtual memory size for almost every non-kernel >> process >> is close to 50Mb now: >> >> ftp://external.atlantis.dp.ua/FreeBSD/CURRENT/top.txt >> >> Is it miscalculation or real growth of virtual address space? >> >> > I believe this is the new malloc code in libc, I am seeing this on my > Athlon64 machine, now it likes swap memory, in the old days, it seldom > touched it. I've just compiled a sample program under week-old CURRENT: #include <stdio.h> main() { putchar('\n'); for(;;); } Without putchar() call my program's virtual address space isn't so big: PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 52126 root 1 127 0 1244K 440K RUN 0:31 43.97% a.out But with putchar() it gives us PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 58959 root 1 130 0 50100K 632K RUN 0:03 47.19% a.out What't the reason of so terrible virtual memory consumption? I don't believe that just plain stdio buffering requires 50 Mbytes (!) of virtual address space. Sincerely, Dmitry -- Atlantis ISP, System Administrator e-mail: dmitry@atlantis.dp.ua nic-hdl: LYNX-RIPE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060216140725.T23429>