# workstation not seeing all 4gigs ? [resolved]

## dirtbag

hey folks, I just upgraded my workstation from 1 gigs to 4 gigs o memory.. My bios reports all 4 gigs..

lshw shows two 2 gig modules.. 

top and cat /proc/memory shows only 2.8gigs and im wondering why..

I was looking at my kernel configuration and I saw something that I never noticed before.

theres a config for 1/3 kernel memory split for user/system or something like that.

Im wondering if thats the reason? Is this the optimal (kernel) configuration for me to be using?

-dbLast edited by dirtbag on Fri Oct 16, 2009 2:29 pm; edited 1 time in total

----------

## tuber

I don't know about the user/kernel split, but try setting Processor type and features->High Memory Support to 64GB in your kernel config.

----------

## Ato

 *dirtbag wrote:*   

> hey folks, I just upgraded my workstation from 1 gigs to 4 gigs o memory.. My bios reports all 4 gigs..
> 
> lshw shows two 2 gig modules.. 
> 
> top and cat /proc/memory shows only 2.8gigs and im wondering why..
> ...

 

For systems that have the "normal" 4GB limit set in the kernel configuration, up to 3GB of the maximum 4GB of RAM will be available to user space processes and 1GB will be allocated to the kernel.  Just out of curiosity could you please post the output of the "free" command and of "cat /proc/meminfo"?

Cheers,

    Thomas

----------

## fangorn

Do you have a graphics card with 1 GB Memory?

PCI bus needs to map its Memory adresses into the RAM adress space therefore the area down from 4 GB to 4 GB minus video RAM is not accessible. 

You can (probably) get around this by setting a "memory hole" in the BIOS of your machine. Then the BIOS maps the memory covered by the PCI bus to the area above 4 GB. If the BIOS works correct, this works without problems. If not, try getting a more recent BIOS version.

----------

## MaximeG

Hi,

Have you set up the "support for high memory" somethingish in your kernel settings ?

This needs to be done if you run a 32bit system with 4 or more gigs of memory.

Regards,

Maxime

----------

## dirtbag

yes, I do have an embedded video card thats sucking up 256 megs i believe.. 

jason@badman ~ $ cat /proc/meminfo 

MemTotal:        2855744 kB

MemFree:         1721660 kB

Buffers:          282400 kB

Cached:           428940 kB

SwapCached:            0 kB

Active:           576796 kB

Inactive:         470860 kB

Active(anon):     355692 kB

Inactive(anon):        0 kB

Active(file):     221104 kB

Inactive(file):   470860 kB

Unevictable:          48 kB

Mlocked:              48 kB

HighTotal:       1974024 kB

HighFree:        1198988 kB

LowTotal:         881720 kB

LowFree:          522672 kB

SwapTotal:        987988 kB

SwapFree:         987988 kB

Dirty:                96 kB

Writeback:             0 kB

AnonPages:        336356 kB

Mapped:            99552 kB

Slab:              64348 kB

SReclaimable:      57956 kB

SUnreclaim:         6392 kB

PageTables:         1800 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:     2415860 kB

Committed_AS:     948576 kB

VmallocTotal:     122880 kB

VmallocUsed:       47612 kB

VmallocChunk:      73204 kB

DirectMap4k:       20472 kB

DirectMap4M:      888832 kB

jason@badman ~ $ 

     *-memory:0

          description: System Memory

          physical id: 29

          slot: System board or motherboard

          size: 4GiB

        *-bank:0

             description: DIMM Synchronous 800 MHz (1.2 ns)

             product: PartNum0

             vendor: Manufacturer0

             physical id: 0

             serial: SerNum0

             slot: DIMM0

             size: 2GiB

             width: 64 bits

             clock: 800MHz (1.2ns)

        *-bank:1

             description: DIMM Synchronous 800 MHz (1.2 ns)

             product: PartNum1

             vendor: Manufacturer1

             physical id: 1

             serial: SerNum1

             slot: DIMM1

             size: 2GiB

             width: 64 bits

             clock: 800MHz (1.2ns)

in the kernel config, under  High Memory Support

(X) 4GB

under  Memory split (3G/1G user/kernel split)  --->

(X) 3G/1G user/kernel split

-db

----------

## Master Shake

In your kernel config you need to have selected the 64GB option for memory.  Also it wouldn't hurt to run a 64-bit OS if you're trying to use that much memory.  I know this isn't windows (and I'm thankful) so you don't NEED to install a 64-bit OS but I do know that there are performance losses with enabling the 64GB option.

----------

## dirtbag

enabled the 64Gig option in the kernel.. recompiled and reboot!

jason@badman ~ $ head /proc/meminfo 

MemTotal:        3885764 kB

MemFree:         3260524 kB

Buffers:           47488 kB

Cached:           312564 kB

SwapCached:            0 kB

Active:           425300 kB

Inactive:         144352 kB

Active(anon):     211704 kB

Inactive(anon):        0 kB

Active(file):     213596 kB

jason@badman ~ $ uname -a

Linux badman 2.6.31-tuxonice #1 SMP Fri Oct 16 10:12:40 EDT 2009 i686 AMD Athlon                                        (tm) 64 X2 Dual Core Processor 4000+ AuthenticAMD GNU/Linux

jason@badman ~ $ 

thanks folks.

----------

