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