You are not logged in.
So I recently upgraded my motherboard/cpu/memory. Everything went very smoothly thanks to the archlinux live CD and a quick mkinitpcio.
But now I get this:
strongbad:home/brett> cat /proc/meminfo
MemTotal: 3115460 kB
MemFree: 1060804 kB
This is an i686 install so I know the stock kernel will have a process limit under 4G, but I don't expect it not to see the total.
memtest86+ shows the full amount and it tests well.
This is P43 Intel chipset.
Any ideas? I just have the stock kernel, is there something to tweak in it to see the rest?
Last edited by vor_lord (2008-11-26 22:31:28)
Offline
This is posted at least ten times on the forums already. Short version -- You'll either need to recompile the kernel with highmem enabled or switch over the the 64-bit version.
Offline
If you don't want to reinstall, then you need to recompile your kernel. Considering your recent reinstall, it might be easier to just reinstall the 64bit version however, as you will not need to recompile the kernel for each new release.
Offline
Thank you for the swift answer (even though it came with an RTFM )
My apologies, I did half a dozen forum searches and a couple of wiki searches but wasn't sure what to ask for to find this issue. Memory and kernel (the only identifying terms in my post title) are not exactly helpful in such searches
I didn't think to try 4G or 3G, I thought that was too generic (it may have worked). You might suggest that I search for "highmem" but if I don't know that term I can't search for it.
At any rate a kernel recompilation should fix it for me which will be easy.
Thanks!
Offline
strongbad:abs/kernel26> grep -i pkgver PKGBUILD
pkgver=2.6.27.6
_patchname="patch-${pkgver}-${pkgrel}-ARCH"
strongbad:abs/kernel26> pacman -Q kernel26
kernel26 2.6.27.5-1
strongbad:abs/kernel26> grep -i highmem config
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# CONFIG_DEBUG_HIGHMEM is not set
Looks to me like highmem is already enabled in the kernel.
This is out of abs so version isn't exact but in the diffs I don't see the highmem settings changing from 2.6.27.5 to 2.6.27.6.
Is there something else I need to do to enable highmem?
edit: n/m HIGHMEM64G is not set. Even now I still get mixed up with the format of the config file.
Last edited by vor_lord (2008-11-21 22:19:14)
Offline
You may want to try a full-blown 64bit install. If I am remembering correctly, a 32bit application can't read four gigabytes of memory even if highmem is enabled. Also, you won't have to rebuild your kernel every new release this way.
[ lamy + pilot ] [ arch64 | wmii ] [ ati + amd ]
Offline
Try the following to determine the status of your HIGHMEM;
...................zcat /proc/config.gz |grep HIGHMEM....................
AFAICT you need two entries to establish HIGHMEM in kernel config...Set HIGHMEM64G=y...and ...set HIGHMEM=y
EDIT:A computer with PCIE (? not sure of nomenclature) is required for extended memory. That s/b PAE!!!!
Last edited by lilsirecho (2008-11-22 01:46:42)
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
I think that this thread should be cleaned up and stickied. The 32bit ~3GB RAM limit seems to be a VERY common problem...
dvdtube - download all uploads from a YouTube user and then optionally create a DVD.
(Regular version AUR link / SVN version AUR link)
Offline
strongbad:home/brett> zcat /proc/config.gz |grep HIGHMEM
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# CONFIG_DEBUG_HIGHMEM is not set
I tried this setting the 64G and the 4G true, but wasn't sure if that was appropriate. I used to recompile my kernel every release until recently and I never had much of a problem but it is hanging trying to start X even though I reinstalled nvidia. That problem is probably unrelated.
Trying again with just 64G set to y, we'll see if that shows more usable memory at least and then I will work on the X problems.
EDIT: Ok after fixing my nvidia issues (naturally a change like this would require a true recompile):
strongbad:home/brett> zcat /proc/config.gz |grep HIGHMEM
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_HIGHMEM=y
# CONFIG_DEBUG_HIGHMEM is not set
strongbad:home/brett> cat /proc/meminfo | head -n 2
MemTotal: 4147596 kB
MemFree: 3755300 kB
Thanks everyone for your help.
Last edited by vor_lord (2008-11-22 03:59:19)
Offline
Sorry, I wasn't trying to be snippy.
Offline
I'm on the same boat as you, 4G ram and just using 3.something.
I had an idea about that. Since people seem to start using 4G of ram more and more and using a 64bit flavor may cause some trouble using 32bit only apps, how about having an alternate 32bit kernel with CONFIG_HIGHMEM64G=y enabled.
The install images would have and install the one everyone uses now, so no compatibility problems there, but then people with 4+ GB of ram and with CPUs with PAE could just do pacman -S kernel26pae and replace the "stock" kernel with one supporting more memory. From there on when issuing pacman -Syu the pae flavor would be downloaded and installed.
Just an idea, it seems a good one for me though.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
I'm on the same boat as you, 4G ram and just using 3.something.
I had an idea about that. Since people seem to start using 4G of ram more and more and using a 64bit flavor may cause some trouble using 32bit only apps, how about having an alternate 32bit kernel with CONFIG_HIGHMEM64G=y enabled.
The install images would have and install the one everyone uses now, so no compatibility problems there, but then people with 4+ GB of ram and with CPUs with PAE could just do pacman -S kernel26pae and replace the "stock" kernel with one supporting more memory. From there on when issuing pacman -Syu the pae flavor would be downloaded and installed.
Just an idea, it seems a good one for me though.
Yes, multiple distributions do things that way, and it's perfectly fine.
But I don't think that's gonna happen here, seeing as how Arch is all about keeping it simple and doing it yourself.
Last edited by moljac024 (2008-11-22 18:04:44)
The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...
Offline
PAE is not without problems and incurs a performance penalty.
:?
Offline
strongbad:home/brett> cat /proc/meminfo | head -n 2
MemTotal: 4147596 kB
MemFree: 3755300 kB
there are other options in the kernel that can be turned off to save memory for your programs. IE. the number of cores your kernel is compiled to be able to use, I think it's 32kb's for each core. Default is 8 cores. Do you have 8 cores?
Last edited by jacko (2008-11-24 00:14:29)
Offline
my POV is this, if your happy compiling a kernel, then go a little overboard and tweak it a little.
Save your builds revision history with git, easy back-up's.
Offline
my POV is this, if your happy compiling a kernel, then go a little overboard and tweak it a little.
Save your builds revision history with git, easy back-up's.
It's what I did .... sort of, I have changed a few things (not many) from the default arch config ( 64G + K8 arch + 100Hz timer ( seems to help a bit with the problem I'm having with sound )) .... but git ..... still have to check that out
On the other hand I'm not completely ready to jump on the 64bit bandwagon yet (although I have a second partition with Arch64 installed to mess around until I'm ready). My previous experience with 64bit wasn't so good (Ubuntu 7.10) so i'm going to take it easy now .
Still have to look into the 32bit libs stuff and skype and some 32 bit programs I need to use, everything else seems to be working ok (except sound capture ..... makes me mad )
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
strongbad:home/brett> cat /proc/meminfo | head -n 2 MemTotal: 4147596 kB MemFree: 3755300 kB
there are other options in the kernel that can be turned off to save memory for your programs. IE. the number of cores your kernel is compiled to be able to use, I think it's 32kb's for each core. Default is 8 cores. Do you have 8 cores?
I do not. I have a Core 2 Duo is all. If I'm already compiling it myself... I definitely am interested in any other tweaks I can throw in while I am at it. While I've been doing my own kernel compiles for a while, I have done little looking at other things to tweak while I am at it to give performance increases.
CONFIG_NR_CPUS=16
Is this relevant?
edit: How do I check the size of my kernel image? Doesn't seem like 8k per CPU is much to worry about.
Last edited by vor_lord (2008-11-26 23:41:03)
Offline