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.
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)...
Code:
free -m
total: 3546
used : 1003
free : 2543
Code:
top
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.
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.
Last edited by Darth Vader; 01-20-2011 at 12:49 PM.
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.
This user http://lkml.indiana.edu/hypermail/li...04.3/3436.html is also having ~3550 MB RAM from a Intel T7700 / 4GB system. T7700 also happens to be the best CPU supported by the OP's Dell Latitude D630. I suspect that the other user is using a similar machine.
BTW, Main memory manufactures usually use 1024 instead of 1000 as 1k.
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.
bc 1.06.95
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
277712896
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
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.