SlackwareThis Forum is for the discussion of Slackware Linux.
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.
Hello all, I'm running 13.1 on a Dell Latitude D630 with 4GB of RAM. My problem is that Slackware doesn't seem to see all of the available memory. Here are the #s being reported (just including pertinent #s rather than all output)...
used : 1003
free : 2543
Mem: 3631764k total, 1020544k used, 2611220k free
By reading the output of demicode I can see that the BIOS is reporting the correct amount available, but for some reason the rest of the applications seem to only see 3.5 GB rather than the whole 4GB that are availble. Any ideas on why this is happening and what can be done to resolve it will be appreciated.
This is normal behaviour. When using the standard addressing mode of 32-bit processors, the address space is limited to 4GB (2^32 bits). Within this the kernel maps your physical RAM as well as any other memory mappable devices (such as the framebuffer of your video adapter). Additional memory beyond what can fit within this 4GB range is ignored.
One can circumvent this by using a kernel with Physical Address Extension (PAE) support. Processes continue to see only the 4GB address space, but the kernel itself can use up to 64GB (2^36 bits), mapping different ranges for each process.
The option to set when building a PAE-enabled kernel is "Processor Type and Features -> High Memory Support -> 64GB". You should check that your processor is capable of using PAE. This feature will be listed as 'pae' in the flags line from /proc/cpuinfo.
You could also switch to Slackware64, as mentioned, which takes advantage of the 64-bit addressing mode of modern processors.
Do you perhaps have some system memory that is claimed by the video card?
I would have to agree with this. Usually 3.7 GB = memory reserved by other programs and 3.3 GB = no PAE, just an observation. Also note that in RAM manufacturer terms 4 GB = 4 000 000 000 bytes, so that may also account for it. You may want to check /proc/iomem for reserved RAM.
Also note that in RAM manufacturer terms 4 GB = 4 000 000 000 bytes, so that may also account for it.
I know it's common for storage manufacturers to play that game with hard-disk capacities and so on, but I've never seen anyone use a Gigabyte of anything other than 2^30 bytes when referring to system memory (RAM).
I'm not sure about chip based storage systems such as ssd and usb-sticks though.
If you run Slackware (32 bits), those results are absolutely normal, because it use HIGHMEM4G.
If you want to use the whole memory, you should build (and use) a kernel using HIGHMEM64G, or use a x86_64 kernel, like our friend guanx said, or to switch entirely to Slackware64.
As Darth Vader suggested enableing HIGHMEM64G and recompiling the kernel did the trick. Thanks Darth! I also could had tried Slack64, but I have toooooooo many 32-bit apps that may make it a pain in the rear to get running. If I recall correctly Alien Bob has instructions on how to create a hybrid 64/32 box, but for now that's more work than I have time for. At some point, when I can spare a few cycles, I guess I can give that a try, but for now I'm a happy Slacker.
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
(2^30 * 4 ) - 4017254400
thats looks like 256M for video
never looked at free using -b bytes before
Everything does come very close to adding up
Thanks for the lesson