Re: Excessive printks increase top mem usage?

From: yogeshwar sonawane
Date: Sun Feb 04 2007 - 06:10:33 EST


cc to lkml

On 2/3/07, yogeshwar sonawane <yogyas@xxxxxxxxx> wrote:
Thanks for the explanation.

On 1/26/07, David Schwartz <davids@xxxxxxxxxxxxx> wrote:
>
> > On 1/25/07, yogeshwar sonawane <yogyas@xxxxxxxxx> wrote:
> > > Hi all,
> > > I am running a user application which will just open/close my driver
> > > (simple one, empty functions with only printks) infinitely.
> > > A massive use of printk can slow down the system noticeably OR it can
> > > affect some time calculations.
> > > Apart from this, it was increasing top mem usage also. After closing
> > > the application, the memory consumption was not coming down(not
> > > freeing mem). Is this the expected behaviour? OR i am missing
> > > something?
> > >
> > > Can anybody help me in guiding the reason for this? Any help/links plz.
> > >
> > > Thanks in advance,
> > > Yogeshwar
>
> What does "increased top mem usage" mean? You have given no reason to
> suggest that there's anything unusual about this.
>
> Here's one theory: Some program is writing these kernel messages to a file.
> Because some other process might come and read that file later, the kernel
> keeps copies of the file data in memory.
>
> The kernel sees no advantage in having memory free. Free memory is memory
> that's not doing any good. Better to keep data in memory that might be
> useful later. We can always free the memory later if (and only if) we have
> something better to do with it.

One more thing:-
If i want to allocate physical memory using __get_free_pages, and
there is no free mem available, then kernel will release mem used by
file data & use it for my request. Is this correct?
I just tried similar thing. My test machine has 4GB RAM. On my test
machine, as explained in my previous mail, i was printing excessive
messages. Due to this top was showing mem usage aroung 1.9GB. Then i
tried allocation of 4MB phy mem(using __get_free_pages) iteratively
till it fails. The allocation succeeded upto @ 4-1.9 GB. I thought
that some mem from 1.9 GB will be released for phy mem allocation. But
it didn't. Such runs were tried 3-4 times. But consistently it
succeeded upto 4-1.9GB. So is this normal ?

regards,
Yogeshwar

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

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