LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   LFS sees only 900mb of RAM (https://www.linuxquestions.org/questions/linux-from-scratch-13/lfs-sees-only-900mb-of-ram-830598/)

Fazi 09-06-2010 09:29 AM

LFS sees only 900mb of RAM
 
Hi. I have a problem. My newly built LFS system sees only 900 mb of RAM, even if BIOS registers 2 GB. Probably, I've made a mistake during kernel configuration, but have no idea what mistake.

Code:

-bash-4.1# uname -r && head /proc/meminfo
2.6.35.4
MemTotal:        904368 kB
MemFree:          586468 kB
Buffers:          22852 kB
Cached:          263004 kB
SwapCached:            0 kB
Active:          139504 kB
Inactive:        148908 kB
Active(anon):      2564 kB
Inactive(anon):      80 kB
Active(file):    136940 kB

Do you have any idea where to find a reason?

druuna 09-06-2010 09:56 AM

Hi,

Quote:

Do you have any idea where to find a reason?
No, not without more information.

Could you post/attach the output of the dmesg command and the kernels .config file?

BTW: One thing that does come to mind: Could the memory installed be faulty? Do you have any way of checking if all is picked up correct by another linux/windows OS?

Hope this helps.

10110111 09-06-2010 10:10 AM

This may be bug in the BIOS which might report incorrect memory map to Linux. But it's just a guess, to properly understand this we need output of dmesg command.

Fazi 09-06-2010 11:55 AM

2 Attachment(s)
It is rather not a memory faulty. Everything works fine on Microsoft systems.

druuna 09-06-2010 12:37 PM

Hi,

Have you tried setting High Memory Support to 64G?

I know you don't have that much ram, but it will enable CONFIG_X86_PAE, which could (hopefully) help.

I have 4G RAM, only 2G is detected when I run with High Memory Support 4G, it is detected when I run with the 64G setting.

Also 895MB is, to my knowledge, the LOWMEM threshold and that is all you seem to have available (Warning only 895MB will be used).

Hope this helps.

10110111 09-06-2010 04:52 PM

Quote:

Have you tried setting High Memory Support to 64G?

I know you don't have that much ram, but it will enable CONFIG_X86_PAE, which could (hopefully) help.
PAE extends address space from 32bit to 36bit, so it's not what is needed to increase available memory from 1G to 2G.
Quote:

I have 4G RAM, only 2G is detected when I run with High Memory Support 4G, it is detected when I run with the 64G setting.
It's most likely that some device maps its MMIO registers etc. to upper 2G. In this case using PAE allows linux to relocate these MMIO registers into upper memory area and use the remaining 2G.
Quote:

Originally Posted by dmesg
Warning only 895MB will be used.
Use a HIGHMEM enabled kernel.

Set High Memory Support to 4G in the kernel config (Processor type and features->High Memory Support in menuconfig).

Fazi 09-07-2010 07:51 AM

Quote:

Originally Posted by 10110111 (Post 4089805)
Set High Memory Support to 4G in the kernel config (Processor type and features->High Memory Support in menuconfig).

Unfortunately, that didn't help at all.

druuna 09-07-2010 08:58 AM

Hi,

Did you try both options given in the previous posts or only the High Memory Support 4G?

Fazi 09-08-2010 07:15 AM

Can you give a hint where this PAE option is? Because I haven't found it yet.

10110111 09-08-2010 08:00 AM

Quote:

Unfortunately, that didn't help at all.
Well, this is at least very strange. Need a new dmesg output. You may have rebooted into wrong kernel version. Or, you might have failed to save the kernel config after you changed it or to run make and then installation procedure after all this.
Quote:

Can you give a hint where this PAE option is? Because I haven't found it yet.
PAE is in that same menu entry, but 64G (2^36 B - it's actually using PAE) instead of 4G (2^32 B).

druuna 09-08-2010 08:28 AM

Quote:

Originally Posted by Fazi (Post 4091322)
Can you give a hint where this PAE option is? Because I haven't found it yet.

If you set High Memory Support to 64G it (PAE) will be automatically selected. No need to do that by hand.

Hope this helps.

Fazi 09-09-2010 08:39 AM

Now, the proper value of RAM memory available is being displayed.
Thank you guys very much for help.

I am wondering why this happened. Is there any reasonable explanation why it's necessary to compile kernel with High Memory Support 64GB even if I have only 2GB?

druuna 09-09-2010 08:54 AM

Hi,

Glad to see you got it resolved :)

Quote:

Is there any reasonable explanation why it's necessary to compile kernel with High Memory Support 64GB even if I have only 2GB?
To be honest I'm not sure, but I think this has to do with the way the memory was mapped and possible holes in these ranges. Compare your old dmesg output with the current one, you might be able to "see" the differences.

From experience I've noticed that activating PAE (High Memory Support 64G) seems to solve these problems.

BTW: If this is solved, would you put up the SOLVED tag (above post #1 -> Thread Tools).


All times are GMT -5. The time now is 12:59 AM.