Skip site navigation (1)Skip section navigation (2)
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>