Feb 8, 2009
Problems With Linux Finding All of a Machine's RAM
| Quite often we face an issue, where though a server has more RAM present physically, Linux only views a portion of it.   On most systems, the reason is that the BIOS has a limit of how much memory it will tell the operating system is present  in the machine, even though the motherboard can have more.  Common limits seen with this problem are 16M, 32M, 64M, and 128M. To get around this, we need to explicitly specify the  amount of memory to the kernel at boot time via the mem=<actual_memory_goes_here> flag.  In the following example, we have a 128M machine but only 64M is being seen by Linux. At the LILO: prompt, type:  LILO: linux mem=128M    After the machine boots, we use the free command to see if the larger amount of memory was recognized by the kernel.  If so, we can add an append= line to the /etc/lilo.conf file and rerun LILO to make it happen permanently.  The example from above would edit their lilo.conf file to look like the following:  ################################## boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.2.12-20         label=linux         root=/dev/sda1         initrd=/boot/initrd-2.2.12-20.img         read-only         append="mem=128M" ################################## We would need to run /sbin/lilo -v after editing the file to activate changes. | 


Post a Comment