Bug 53176 - meminfo report incorrectly in Enterprise kernel
meminfo report incorrectly in Enterprise kernel
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
Depends On:
  Show dependency treegraph
Reported: 2001-09-04 17:34 EDT by Danny Trinh
Modified: 2007-04-18 12:36 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2001-09-05 14:30:07 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
meminfo for PE6400 (624 bytes, text/plain)
2001-09-04 17:37 EDT, Danny Trinh
no flags Details
meminfo for PE8450 (628 bytes, text/plain)
2001-09-04 17:38 EDT, Danny Trinh
no flags Details
meminfo for PE6450 (624 bytes, text/plain)
2001-09-04 17:39 EDT, Danny Trinh
no flags Details
dmesg output of PE6400 (15.31 KB, text/plain)
2001-09-04 18:57 EDT, Danny Trinh
no flags Details
dmesg output of PE6450 (15.32 KB, text/plain)
2001-09-04 18:57 EDT, Danny Trinh
no flags Details
dmesg output of PE8450 (15.32 KB, text/plain)
2001-09-04 18:58 EDT, Danny Trinh
no flags Details
e820info of PE6450 (323 bytes, text/plain)
2001-09-05 14:30 EDT, Danny Trinh
no flags Details
patch for /proc/meminfo 32 bit overflow (1.23 KB, patch)
2001-09-05 15:21 EDT, Ben LaHaise
no flags Details | Diff

  None (edit)
Description Danny Trinh 2001-09-04 17:34:23 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.3-6smp i686)

Description of problem:
meminfo reports incorrectly the amount of memmory installed on PE6400,
PE6450, PE8450. All three servers use enterprise kernel.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Install more than 4Gb RAM to PE6450, PE6400, PE8450
2.Install RedHat 7.2 RC2
3.cat /proc.meminfo

Actual Results:  mem: XXXXXXX is showing incorrectly the amount of RAM on
the machine.

Expected Results:  Must show correctly the amount of memory that the
machine have under enterprise kernel.

Additional info:

PE6450 has 5120MB RAM
PE6400 has 5120MB RAM
PE8450 has 6GB RAM
Comment 1 Danny Trinh 2001-09-04 17:37:40 EDT
Created attachment 30894 [details]
meminfo for PE6400
Comment 2 Danny Trinh 2001-09-04 17:38:41 EDT
Created attachment 30895 [details]
meminfo for PE8450
Comment 3 Danny Trinh 2001-09-04 17:39:18 EDT
Created attachment 30896 [details]
meminfo for PE6450
Comment 4 Arjan van de Ven 2001-09-04 17:46:43 EDT
This is the unfortionate effect that the Mem: field is there for
compatibility with older applications that assume the memory fits in a 32 bit
field, and will explode if it is a bigger number than 32 bit. The "MemTotal"
field is the field that counts.
Comment 5 Danny Trinh 2001-09-04 18:06:16 EDT
 Memtotal: 6179540
 It should be: 1024x1024x6=6291456
 Memtotal: 4628552
 Ii should be: 1024x1024x5=5242880
 Memtotal: 5021768
 It should be: 1024x1024x5=5242880
Comment 6 Arjan van de Ven 2001-09-04 18:12:36 EDT
MemTotal is the kernel usable memory, eg after the bios reservations and such.
Would it be possible to attach the e820 map (eg the first table of the "dmesg"
output) ?
Comment 7 Danny Trinh 2001-09-04 18:57:06 EDT
Created attachment 30899 [details]
dmesg output of PE6400
Comment 8 Danny Trinh 2001-09-04 18:57:49 EDT
Created attachment 30900 [details]
dmesg output of PE6450
Comment 9 Danny Trinh 2001-09-04 18:58:24 EDT
Created attachment 30901 [details]
dmesg output of PE8450
Comment 10 Arjan van de Ven 2001-09-05 03:10:25 EDT
hmmm all three have the important bits cut off, probably because the dmesg
buffer overflowed. If you install and boot the kernel-BOOT kernel, the
important information can also be obtained from the /proc/e820info file (only
available in the -BOOT kernel)
Comment 11 Danny Trinh 2001-09-05 14:30:03 EDT
Created attachment 30974 [details]
e820info of PE6450
Comment 12 Ben LaHaise 2001-09-05 14:52:30 EDT
This looks normal.  The bios is reporting that memory is split into three
sections: the base 640KB followed by 4062200KB starting at the 1MB boundry and
1GB at the 4GB mark.  This works out to a total of 5234089984 bytes, which is
4991MB, or a little shy of the 5GB total.  The missing memory appears to be
reserved by the BIOS for mapping PCI cards into the 32 bit address space, and as
such there is nothing that the kernel can do to access the missing memory.  Keep
in mind that with that much memory in the machine Linux will need to allocate
~100MB just for keeping track of what memory is free/allocated.
Comment 13 Ben LaHaise 2001-09-05 15:21:47 EDT
Created attachment 30975 [details]
patch for /proc/meminfo 32 bit overflow
Comment 14 Danny Trinh 2001-09-06 11:58:38 EDT
The patch seems to work on PE6450 (5GB RAM).

Note You need to log in before you can comment on or make changes to this bug.