[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Memory recognition problem / large mem



On Sat, Jan 19, 2002 at 01:54:04PM -0500, Noah Massey wrote:
| --begin quoted message from dman, 
 
| > On my system I have 256MB real RAM.
| > 
| > It shows a total of only 249MB.  dmesg shows :
| > 
| > $ dmesg | grep Memory
| > Memory: 255676k/262080k available (1111k kernel code, 6016k reserved,
| >             300k data, 228k init, 0k highmem)
| 
| 2.4.16-k7 shows:
| Memory: 897676k/917504k available (815k kernel code, 19440k reserved, 233k data, 212k init, 0k highmem)
| 
| 2.2.20 shows:
| Memory: 970628k/983040k available (1756k kernel code, 412k reserved, 10092k data, 152k init)
| 
| neither of which is the 1048576k that I'd expect.
|
| given that each kernel consistently shows the same amount of mem, and
| that they disagree with each other on what that amount is, does this
| look like a kernel bug?  or is there something that I'm just not doing?

I just went back to the manual
(/usr/src/kernel-source-2.4.17/Documentation/Configure.help) and I
this must be your problem.  Kernel 2.2.20 gives exactly 960MB for you.  I don't know why 2.4.16 shows a little less.


# Choice: himem
High Memory support
CONFIG_NOHIGHMEM
  Linux can use up to 64 Gigabytes of physical memory on x86 systems.
  However, the address space of 32-bit x86 processors is only 4
  Gigabytes large. That means that, if you have a large amount of
  physical memory, not all of it can be "permanently mapped" by the
  kernel. The physical memory that's not permanently mapped is called
  "high memory".

  If you are compiling a kernel which will never run on a machine with
  more than 960 megabytes of 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.

  If the machine has between 1 and 4 Gigabytes physical RAM, then
  answer "4GB" here.

  If more than 4 Gigabytes is used then answer "64GB" here. This
  selection turns Intel PAE (Physical Address Extension) mode on.
  PAE implements 3-level paging on IA32 processors. PAE is fully
  supported by Linux, PAE mode is implemented on all recent Intel
  processors (Pentium Pro and better). NOTE: If you say "64GB" here,
  then the kernel will not boot on CPUs that don't support PAE!

  The actual amount of total physical memory will either be auto
  detected or can be forced by using a kernel command line option such
  as "mem=256M". (Try "man bootparam" or see the documentation of your
  boot loader (grub, lilo or loadlin) about how to pass options to the
  kernel at boot time.)

  If unsure, say "off".

4GB
CONFIG_HIGHMEM4G
  Select this if you have a 32-bit processor and between 1 and 4
  gigabytes of physical RAM.

64GB
CONFIG_HIGHMEM64G
  Select this if you have a 32-bit processor and more than 4
  gigabytes of physical RAM.


-D

-- 

All a man's ways seem innocent to him,
but motives are weighed by the Lord.
        Proverbs 16:2



Reply to: