# [SOLVED] x86 with exactly 1GB - do I need HIGHMEM support?

## Goverp

The x86 kernel configuration help text says set "Processor type and features"->"High Memory Support" "off" for machines with not more than 1GB memory (* see below).  My machine has an Intel Atom 32-bit processor, and exactly 1GB RAM installed.  But when I boot it, dmesg says:

```
Warning only 895MB will be used.

Use a HIGHMEM enabled kernel.
```

Which is right?  I've Googled for info on CONFIG_NOHIGHMEM=y, and many variations, and read a lot of opinions, but no facts!  I suspect what happens is the kernel reserves 128Mb (which is 1024-896, and I'm assuming some rounding in the dmesg output)  unmapped memory to handle memory mapping and other fixed stuff, and is therefore using all the available RAM, but it's not clear.

(*) the actual text is:

```
If you are compiling a kernel which will never run on a machine with 

more than 1 Gigabyte total physical RAM, answer "off" here (default 

choice and suitable for most users). This will result in a "3GB/1GB"

split: 3GB are mapped so that each process sees a 3GB virtual memory

space and the remaining part of the 4GB virtual memory space is used

by the kernel to permanently map as much physical memory as

possible.
```

----------

## Syl20

More informations here :

 *Quote:*   

> This means that the kernel can at most map 1GiB of physical memory at any one
> 
> time, but because we need virtual address space for other things - including
> 
> temporary maps to access the rest of the physical memory - the actual direct
> ...

 

So you really need high memory support.

----------

## chithanh

You can get full 1 GB memory without highmem by enabling CONFIG_VMSPLIT_2G_OPT in menuconfig.

----------

## Ant P.

CONFIG_VMSPLIT_1G_OPT should work here too. They only show up if you have CONFIG_EXPERT enabled iirc.

----------

## Goverp

Chithana, Ant.P, thanks, I'll try that.

<edit>

There seems to be a new split option (visible when CONFIG_EXPERT=y):.

```
Memory split (3G/1G user/kernel split (for full 1G low memory))
```

that seems designed to cover this case.  I'll try that.

</edit>

----------

## Goverp

With that config change, I now get 1015 Mb, rather than 895.

So the answer to the question in the subject line turns out to be "No, I don't need HIGHMEM, but I do need an expert-mode configuration change".

----------

