pan-users
[Top][All Lists]
Advanced

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

[Pan-users] Re: Reproducible crash retrieving headers in million-header


From: Duncan
Subject: [Pan-users] Re: Reproducible crash retrieving headers in million-header group
Date: Mon, 2 Aug 2010 01:38:33 +0000 (UTC)
User-agent: Pan/0.133 (House of Butterflies; GIT a971f44 branch-testing)

Ron Johnson posted on Sun, 01 Aug 2010 05:49:04 -0500 as excerpted:

> Could you be running out of "process space"?
> 
> With a 32-bit kernel, you only get approx 1.9GB of RAM per process.
>   Running a 64-bit kernel, though, even with a 32-bit userland,
> gives each process 3.9GB.

Good question.  I'm so used to amd64 I wasn't thinking of it, but you're 
absolutely right to ask the question (assuming the user's still on 32-bit, 
which is getting more and more legacy, these days, except in the netbook 
or embedded realm).

FWIW, tho, the x86 32-bit Linux kernel does let you choose how the 32-bit 
virtual address space (4 gigs total) is divided.  The choices are 3G/1G 
user/kernel split, 2G/2G, or 1G/3G.  IDR which is the default, but there's 
actually five choices (not three), as for 3G/1G there's an additional 
choice for a full gig low memory, and with 2G/2G, there's another choice 
as well, for a full 2G low memory (tho these extra choices are disabled if 
the 64-gig high-memory option is chosen, leaving only the three, but 
they're available with the no-high-mem and 4-gig-options).  These options 
are found in the processor type and features section, memory split option, 
altho the help says it depends on experimental and embedded options also 
being turned on, or you won't see it.

When I got my Atom netbook, limited to 32-bit x86, I upgrade-maxed out the 
memory to 1.5 gigs (from the default half gig soldered on the mobo, there 
was a single slot, but the board wasn't setup to recognize more than a 1-
gig stick, so a 2-gig stick wouldn't work, people tried), and decided to 
switch to the 2G/2G mode for maximum virtual memory flexibility, so I do 
know about it, tho I do tend to forget about it unless someone mentions 
they're running a netbook, or otherwise mentions it's 32-bit.

So each process on 32-bit x86 is allowed between just under a gig, and 
just under 3 gigs, of virtual memory, depending on where the configured 
memory split is located.  But if the user's still on 32-bit, given we're 
looking at memory in the gigs, here, it may indeed be that this is the cap 
being hit, and the user will need a kernel configured to 2G/2G or 3G/1G in 
ordered to load the full group.  (Hopefully the 3-gig user option is 
enough... I'd think it should be, even with millions of overviews, with 
the better scaling in the pan-C++ rewrite starting with v0.90.)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]