Fwd: Excessive printks increase top mem usage?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,
Following was the discussion which i had on lkml. But still some
doubts are there.
So can anybody shed more light on it?

---------- Forwarded message ----------
From: yogeshwar sonawane <yogyas@xxxxxxxxx>
Date: Feb 4, 2007 4:40 PM
Subject: Re: Excessive printks increase top mem usage?
To: davids@xxxxxxxxxxxxx
Cc: linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>


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 an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux