SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I just installed a new memorymodule (DDR) in my computer. Now I have three modules, like this:
512mb
512mb
256mb
The new one that I added was 512mb. Everything work ok, it shows up in the BIOS at bootup (~1200mb). But when I run 'free' on my slackbox (slack 10, kernel 2.6.10) i get this:
You need to recompile your kernel to enable high memory support. By default, the kernel will only see up to 1GB of memory. (and that, it sees as around 800mb). There's an option for up to 4GB, and another for up to 64GB of memory.
That's a Linux limitation, not a Slackware limitation. Memory management is better when there isn't a whole lot of unused memory address space in the system. Since most systems have less than 1GB of memory, the default is to allow address space for up to 1GB of memory.
I've compiled the kernel before but I'm no expert. Can I find this option somewhere in the "make menuconfig" program? if so, where? I've searched everwhere (I think ).
Under Processor Types and Features >
High Memory Support >
toggle 4GB on
exit and save your configuration
For 2.6.x you next should run "make" then
"cp System.map /boot/System.map-2.6.10 ; ln -sf /boot/System.map-2.6.10 /boot/System.map"
then "make modules_install"
then "cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10"
then edit lilo.conf accordingly (might be okay as is)
then run "lilo"
then reboot.
Edit: There is a good 2.6.x kernel guide here > http://www.linuxtux.org/~juhl/
along with some other good Slackware stuff.
Last edited by Bruce Hill; 06-05-2005 at 10:20 AM.
Originally posted by killerbob YMemory management is better when there isn't a whole lot of unused memory address space in the system.
That is not true, with a lot of memory various caches and buffers, e.g. the buffer cache can grow much larger. This is beneficial to the system performance.
Quote:
Since most systems have less than 1GB of memory, the default is to allow address space for up to 1GB of memory.
The matter is a bit more compilicated. The x86-32 can only address 4GB of memory, and the kernel can only permanently map 1GB. Highmem support uses some tweaks to allow the kernel to address larger address spaces.
That is not true, with a lot of memory various caches and buffers, e.g. the buffer cache can grow much larger. This is beneficial to the system performance.
A larger cache or buffer does not necessarily translate into better performance, particularly when it means more swapping requirements. In that situation, having a larger cache actually translates into slower system performance. If you have the physical RAM, by all means, use it. Otherwise, better not to open that addressing space up in the first place, because it increases the memory requirements to keep track of and swap blocks in and out of active memory.
Besides which, that would be used memory address space, not unused memory address space. Take Windows for example. It'll create 4GB of memory address space, no matter what your physical RAM and swap capabilities are. Partly because of this, it's extremely swap-intensive, especially on low-memory systems where a lot of the physical RAM is taken up just for buffers and swap pagefiles. There's a reason XP won't even *install* if you have less than 64MB of RAM, and the requirements for memory management are a large part of it. The UI sure doesn't, because with the right skins in Linux, you can create one with even more special effects, and have the system actually be useable, on a '486/16MB system.
Originally posted by Chinaman Under Processor Types and Features >
High Memory Support >
toggle 4GB on
exit and save your configuration
For 2.6.x you next should run "make" then
"cp System.map /boot/System.map-2.6.10 ; ln -sf /boot/System.map-2.6.10 /boot/System.map"
then "make modules_install"
then "cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10"
then edit lilo.conf accordingly (might be okay as is)
then run "lilo"
then reboot.
Edit: There is a good 2.6.x kernel guide here > http://www.linuxtux.org/~juhl/
along with some other good Slackware stuff.
What in the hell are you on? I want some!
Make the change in your kernel config to allow highmem support. THEN edit your Makefile, to set the install path to /boot.
make
make modules_install
make install
reboot
Make install will copy all files needed to the boot directory, and run lilo for the the new files.
but only after editing the makefile. (which only takes the removal of one '#')
Originally posted by slackMeUp What in the hell are you on? I want some!
I'm not on anything, bud. I just use Linus Torvalds method
on installing the kernel. Try reading ./linux/2.6.x.x/README
You'll even learn to stay out of /usr/src and you don't need
to run that make install.
make menuconfig
make
make modules
make modules_install
cp System.map /boot/System.map-version
cp arch/i386/boot/bzImage /boot/vmlinuz-version
update the symlinks
update lilo.conf
lilo
reboot
Has worked for every version of the Linux kernel since at least 2.0.7, and probably before that. I confess I never used the 1.x kernel. And no need to edit makefiles, either.
I don't use the make install either. The way I see it, the guy who wrote the kernel would know the best way to install it so I follow his instructions.
i wonder: how will " make install " name the kernel ?
i mean, i always use for ex. vmlinuz-2.6.6; System.map-2.6.6
so i can add it as an extra option to lilo.conf.
i guess if " make install " also runs lilo, you'll have to edit lilo.conf
before that, and then you'll have to know how the image is named before it's installed...?
I used make install once, and only once, because it named the kernel "vmlinuz" (no version info), and because it put everything in / instead of /boot. Also, it didn't update lilo.conf. After that, I went back to the manual method, because I like having control over it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.