# [SOLVED]memory shown is less than what I actually have!

## xiaweitang

I just used the top command to show how much memory is the system using. Surprisingly, I found the total memory is significantly less than what I actually have in the machine. I have 512MB + 1GB, but "top" shows

```
 Mem:    900472k total,   162988k used,   737484k free,     6924k buffers
```

and 

```
 cat /proc/meminfo

MemTotal:         900472 kB

```

```
 cat /etc/fstab

# <fs>          <mountpoint>    <type>  <opts>                  <dump/pass>

/dev/sda1       /boot           ext2    defaults,noatime        1 2

/dev/sda2       none            swap    sw                      0 0

/dev/sda3       /               ext3    noatime                 0 1

/dev/cdrom      /mnt/cdrom      auto    noauto,user             0 0

shm             /dev/shm        tmpfs   nodev,nosuid,noexec     0 0
```

Last edited by xiaweitang on Tue Mar 02, 2010 11:25 pm; edited 1 time in total

----------

## albright

you may need to enable high memory support in kernel

----------

## bobspencer123

 *albright wrote:*   

> you may need to enable high memory support in kernel

 

you should also check that your bios is actually recognizing your inserted memory modules ... sometimes one of the sockets will die/break or the ordering can effect things. If you bios is showing the correct amount then it is most likely a kernel issue high memory support will solve (though if I remember off the top of my head correctly, high memory support is only supposed to be needed for 4Gig + ... but I might be wrong and it won't hurt to try).

----------

## gsoe

There's also an intermediate setting:

```
───────────────────── High Memory Support ────────────────────────┐

                                 ( ) off            

                                 (X) 4GB   

                                 ( ) 64GB    
```

```
CONFIG_HIGHMEM4G:                                                                    

                                                                                                     

  │ Select this if you have a 32-bit processor and between 1 and 4           

  │ gigabytes of physical RAM.                                                               

  │                                                                          

  │ Symbol: HIGHMEM4G [=y]                                                   

  │ Prompt: 4GB                                                               

  │   Defined at arch/x86/Kconfig:1045                                        

  │   Depends on: <choice> && !X86_NUMAQ                                      

  │   Location:                                                               

  │     -> Processor type and features                                        

  │       -> High Memory Support (<choice> [=y])
```

----------

## BonezTheGoon

 *bobspencer123 wrote:*   

> you should also check that your bios is actually recognizing your inserted memory modules ... sometimes one of the sockets will die/break or the ordering can effect things. If you bios is showing the correct amount then it is most likely a kernel issue high memory support will solve (though if I remember off the top of my head correctly, high memory support is only supposed to be needed for 4Gig + ... but I might be wrong and it won't hurt to try).

 

I agree.  It's possible, for instance, that your machine supports dual-channel RAM and you have incorrectly inserted the 512MB DIMM as the second channel, instead of an extension of the maximum available in the single channel, which should never be done as dual-channel configuration is supposed to have matching pairs.  So that would enter an "undefined" configuration which could yield odd results, but typically would just refuse to POST.  Checking what the BIOS reports, and what the mainboard/system documentation states regarding memory configurations is a good place to start.  Also beyond that using the memtest86+ that is on the Gentoo liveCD/DVD would be another interesting step to see what amount is being reported.  Though I've never seen memtest86+ report anything different than the BIOS does, so if it's "short" in your BIOS I wouldn't bother with memtest86+ at all.  AFAIK the high memory support should not come into play here at all, in the help documentation it states that is only for 32-bit systems with over 4GB of RAM.

----------

## albright

 *Quote:*   

> AFAIK the high memory support should not come into play here at all, in the help documentation it states that is only for 32-bit systems with over 4GB of RAM

 

well, that's not what it says below nor is it my own experience - I needed to enable

himem on my thinkpad with 2gb (x86 of course):

http://kerneltrap.org/node/2450

----------

## BonezTheGoon

Huh, crazy.  I guess on some boards/systems it is needed.  Just hasn't been my experience on many 32-bit systems at 4GB.  Learn something new every day!  Thanks!

----------

## krinn

 *BonezTheGoon wrote:*   

> which should never be done as dual-channel configuration is supposed to have matching pairs.

 

 :Smile:  not anymore, depend on chipset, X38 can do dual channel even pairs don't match.

edit: forgot to said about the problem: might also be memory eaten by onboard video card if one is present.

----------

## xiaweitang

Problem fixed after enabling 4GB high memory support. By the way, How do I mark a post as solved?

----------

## Ant P.

Just edit the subject line in the first post.

----------

