[K12OSN] Client Ram
Jim McQuillan
jam at mcquil.com
Fri May 25 12:06:51 UTC 2007
Daniel Bodanske wrote:
> So Firefox stores pixmaps uncompressed in the X server cache.
> Unbelievable. Is it Firefox or Gecko? Does Seamonkey suffer the same
> limitation. Could you move to Epiphany? Wow.
This is not unusual. everybody seems to be implying that firefox is
being evil by doing this.
The Xserver caches pixmaps and fonts. No big deal. It's part of the
design of the X Window System. The problem is, with tabs, the browser
can actually be viewing more than one page at a time, which means there
can be alot more pixmaps sent from the browser to the Xserver. The
Xserver just happily caches them.
A flaw in this design is the fact that when the thin client gets low on
memory, the Xserver has no mechanism to deal with it. It can't throw
away pixmaps from the cache, because it has no way of telling the client
application that it no longer has the image cached, so there's no way
for firefox to re-send the pixmap when the user comes back to that page.
So, sadly, the Xserver runs out of memory, and bad things happen.
I've brought this up to the X.org developers and everybody agrees that
it's a big problem, but unfortunately, there's not an easy fix.
It's not just firefox that is involved here. Any graphical application
will send images and fonts to the Xserver, and expect those things to
still be in the Xserver later on. I suppose Firefox could be modified
to never expect those things to be cached, which means it would have to
send the images and fonts each time you switch from one tab to another,
or scroll the page up and down. Imagine the screams you'd be hearing as
the performance goes down the tubes, and the network traffic goes
through the roof.
We tried fixing this a few years ago in LTSP by placing a limit on how
much ram the Xserver could allocate. This managed to keep the Xserver
from crashing, but then the client application would crash because it
didn't expect the Xserver to fail to allocate the memory for it. If the
client is the browser, the browser would crash, which is easily
recoverable. But, what if the client application is something more
important, like the window manager?
It's a tough problem, and I wish I had the magic fix for it.
Jim McQuillan
jam at Ltsp.org
>
> I began to get scared a few years ago when so many new desktop
> applications started to get written for Linux. So many of them
> wouldn't work over the network. I got worried that LTSP might become
> non-viable some day when all the standard apps needed local resources.
> Once Freedesktop.org was started and picked up momentum with Jim as
> one of the founding members, I calmed down, but I guess I shouldn't
> have. Firefox seems to follow it's own rules all the time, anyway.
>
> Dan
>
> On 5/25/07, Dan Young <dyoung at mesd.k12.or.us> wrote:
>> On 5/24/07, Rob Owens <rowens at ptd.net> wrote:
>> > So maybe the question should be: Is there a browser that it better
>> > suited to LTSP than Firfox is?
>>
>> Well, part of it comes down to tuning. Eric put together a Firefox
>> extension that sets several options to more friendly levels. In
>> particular:
>>
>> browser.cache.memory.capacity
>> and
>> browser.sessionhistory.max_total_viewers
>>
>> The defaults are variable depending on the total memory of the
>> computer. Of course, in an LTSP environment, it's all shared, so a 4G
>> host can't expect to have all that for one browser instance.
>>
>> As I understand it, the defaults have been dialed back somewhat for
>> Firefox 2. Eric's Firefox extension dials back these values too.
>> http://www.redhat.com/archives/k12osn/2006-May/msg00372.html
>>
>> --
>> Dan Young <dyoung at mesd.k12.or.us>
>> Multnomah ESD - Technology Services
>> 503-257-1562
>>
>> _______________________________________________
>> K12OSN mailing list
>> K12OSN at redhat.com
>> https://www.redhat.com/mailman/listinfo/k12osn
>> For more info see <http://www.k12os.org>
>>
>
> _______________________________________________
> K12OSN mailing list
> K12OSN at redhat.com
> https://www.redhat.com/mailman/listinfo/k12osn
> For more info see <http://www.k12os.org>
More information about the K12OSN
mailing list