Один из наших серверов был настроен с оперативной памятью 8G. Но он показывает только 3,2G. Вставляем информацию для дальнейшего анализа.
=========
[root@s209 ~]# free -m
total used free shared buffers cached
Mem: 3289 879 2409 0 37 669
-/+ buffers/cache: 173 3115
Swap: 4094 0 4094
[root@s209 ~]#
[root@s209 ~]# cat /proc/meminfo
MemTotal: 3368192 kB
MemFree: 2482456 kB
Buffers: 38144 kB
Cached: 685216 kB
SwapCached: 0 kB
Active: 413112 kB
Inactive: 435088 kB
HighTotal: 2488768 kB
HighFree: 1669300 kB
LowTotal: 879424 kB
LowFree: 813156 kB
SwapTotal: 4192956 kB
SwapFree: 4192956 kB
Dirty: 1596 kB
Writeback: 0 kB
AnonPages: 124788 kB
Mapped: 17104 kB
Slab: 24928 kB
PageTables: 3840 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 5877052 kB
Committed_AS: 389964 kB
VmallocTotal: 114680 kB
VmallocUsed: 5536 kB
VmallocChunk: 109028 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 4096 kB
=========
[root@s209 ~]# uname -r
2.6.18-194.el5
=========
=========
[root@s209 ~]# dmesg | less
Linux version 2.6.18-194.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010
BIOS-provided physical RAM map:
BIOS-e820: 0000000000010000 - 000000000009dc00 (usable)
BIOS-e820: 000000000009dc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000cfe70000 (usable)
BIOS-e820: 00000000cfe70000 - 00000000cfe7d000 (ACPI data)
BIOS-e820: 00000000cfe7d000 - 00000000cfe80000 (ACPI NVS)
BIOS-e820: 00000000cfe80000 - 00000000d0000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fed00000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000230000000 (usable)
Warning only 4GB will be used.
Use a PAE enabled kernel.
3200MB HIGHMEM available.
896MB LOWMEM available.
=========
=========
[root@s209 ~]# dmidecode -t 17
# dmidecode 2.10
SMBIOS 2.5 present.
Handle 0x0013, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 40968 bits
Data Width: 41024 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: J6G1
Bank Locator: DIMM 0
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Hyundai Electronics
Serial Number: 4121C2C5
Asset Tag: 41410933
Part Number: 48594D503132355536344350382D53362020
Handle 0x0014, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 41480 bits
Data Width: 41536 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: J6G2
Bank Locator: DIMM 1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Unknown
Serial Number: 00000000
Asset Tag: 00000000
Part Number: 000000000000000000000000000000000000
Handle 0x0015, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 41992 bits
Data Width: 42048 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: J6H1
Bank Locator: DIMM 2
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Princeton Technology
Serial Number: 100916C6
Asset Tag: 00000A37
Part Number: 5052494E4345544F4E000000000000000000
Handle 0x0016, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 42504 bits
Data Width: 42560 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: J6H2
Bank Locator: DIMM 3
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Unknown
Serial Number: 00000000
Asset Tag: 00000000
Part Number: 000000000000000000000000000000000000
=========
Любая помощь в решении этой проблемы будет очень полезной.
С уважением, Аджо
Если ты бежишь uname -a
, скорее всего, вы увидите, что используете 32-битное ядро. PAE (расширение физического адреса) позволяет ядру расширять объем памяти, который вы можете адресовать, для достижения большего числа.
Вам нужно будет переключиться на ядро с поддержкой PAE. Вы можете перекомпилировать или ... yum install kernel-pae
и переключитесь на загрузку с этого ядра.
Удачи!
Вы почти наверняка используете 32-битное ядро, как предлагает Redmumba.
Помимо опции PAE, вы также можете успешно запустить 64-битное ядро с 32-битным пользовательским пространством - это имеет тот же эффект, что и PAE, в том смысле, что система в целом может использовать 64-битное адресное пространство, но отдельные процессы (если только они явно знают PAE) ограничены 32-битным адресным пространством. IIRC переключение контекста между 64-битным ядром и 32-битными процессами создает меньше узких мест, чем PAE, поэтому вы можете найти этот вариант более эффективным. Я не знаю насчет CentOS, но с Debian вы можете просто запустить aptitude install linux-image-amd64
(примечание от http://packages.debian.org/squeeze/linux-image-amd64 что этот виртуальный пакет и его зависимости существуют как для сборок amd64, так и для i386), и он сделает всю работу за вас (и автоматические обновления пройдут нормально, поскольку вы ничего не скомпилировали вручную, а не использовали систему управления пакетами).
Если это совершенно новая установка (т.е. ОС была установлена только что, а не вы только что обновили ОЗУ на существующем сервере), то я бы предложил полную переустановку с использованием полностью 64-битной установки (как в пользовательской среде, так и в ядре). .
Да, операционная система 32-битная.
Linux s209.xxxxx.net 2.6.18-194.el5 # 1 SMP Пт 2 апреля 14:58:35 EDT 2010 i686 i686 i386 GNU / Linux