[vox-tech] Kernel not seeing all my RAM
Chanoch (Ken) Bloom
kbloom at gmail.com
Wed Feb 4 06:30:13 PST 2009
On Tue, 2009-02-03 at 23:49 -0800, Bill Broadley wrote:
> Chanoch (Ken) Bloom wrote:
> > On Tue, 2009-02-03 at 10:28 -0800, Bill Broadley wrote:
> >> Chanoch (Ken) Bloom wrote:
> >>> I'm upgrading an x86
> >> Not x86-64?
> >
> > There's two machines with this problem. One is really an x86. The other
> > is an amd64, but it's running a totally 32-bit system since it shares
> > home directories by NFS with the first machine (and a couple other
> > 32-bit only machines).
>
> There is no problem use a 64 bit NFS server and a 32 bit NFS client.
No there isn't, but when people are compiling binaries for one it can
can become confusing if they log in on the other and things don't work.
> > With regard to the amd64, I'd like to have it run a 64-bit kernel with a
> > 32-bit userspace
>
> Why? Things like mplayer (with a bunch of codecs), flash, java plugin, dvd
> playback, video encoding, etc "just work". I've not seen any problems with
> google earth 5.0, picasa, firefox (with plugins), etc.
>
> >, but the machines are running Gentoo, and I don't know
> > how to do that in Gentoo.
>
> Unless recently I always installed 32 bit machines for anything with any sort
> of desktop duty. I didn't want a chroot, didn't want to main two
> environments, didn't want alot of extra hassle... not to mention 4 or more GB
> of ram is pretty pricey. These days 4GB ram cost $50 or so, things are much
> more mature.
>
> > (I'm looking at switching these machines to Debian in the long run, and
> > I'll probably start testing that on one machine after lenny is released
> > in a couple weeks, so in the long run I may not need to solve the
> > kernel/userspace thing in Gentoo.)
>
> I've heard of folks running hybrid with debian, personally I'm running ubuntu
> and it keeps me happy.... I was 100% redhat er, umm, for almost a decade.
>
> > So you're saying that a 32-bit kernel will map devices in into the 4GB
> > address space in such a way that they hide physical RAM, regardless of
> > whether you're using CONFIG_HIGHMEM4G or CONFIG_HIGHMEM64G, and that a
> > 64-bit kernel will map devices differently. Is this right?
>
> Er. You are seeing 3GB or so of ram because some devices like video cards
> take memory in the bottom 4GB by default, some PCI devices can only address
> memory in the bottom 4GB. There are various approaches to handling this,
> linux supports bounce buffers so an I/O device can write to the lower 4GB,
> then the kernel copies it to wherever user space expects it (which can be
> above or below 4GB). PAE is definitely required, as Cam mentioned I'd try the
> HIGHMEM4G first. If that doesn't work see if the BIOS mentions anything, then
> if that doesn't work try the 64G setting.
>
> Unless of course you just want to upgrade to a 64 bit kernel.
>
> > The definition is probably "Machine Register Size". Pointers, ints, and
>
> Which registers? Int? Floating point? SSE?
General registers, which are typically used for addresses and ints.
> > addressable memory should go along for the ride because it's convenient
>
> Addressable memory isn't a particularly good one, after all the last 5
> generations or so of intel chips could address 64GB, but only had 32 bit
> pointers (4GB worth).
Sorry. I meant the memory addressable by a userspace process.
> > to do it that way, but note:
> > * an int on amd64 gcc is 32 bits. It's a long that's 64 bits.
>
> Indeed... although that's a language thing more than anything else. GCC also
> supports 128 bit floats (long double), but that doesn't really say anything
> about the hardware.
>
> > * The DOS memory model (*sticks out tongue*) used 16-bit pointers
> > on 16-bit processors, but addressed 1MB of RAM by the use of a
> > segment register to choose which "paragraph" of memory pointers
> > would refer to.
>
> Right, much like PAE. Instead of a segment register they play tricks with the
> page tables. Hopefully 64 bit pointers will prevent any new hacks in there
> area. Lets so most system max out at around 8 Dimms. 2^64 bytes/8 = 2^61
> bytes. So until something bigger than 2048 Petabyte dimms become common we
> should be safe. Maybe then ZFS will makes sense ;-)
As I said above, I was referring to process-addressible memory. PAE is
an issue clearly confined to kernel space. The DOS memory model was in
what passed for userspace.
--Ken
--
Ken (Chanoch) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.lugod.org/pipermail/vox-tech/attachments/20090204/05492bf2/attachment.pgp
More information about the vox-tech
mailing list