内存不足::只会使用4GB的警告。 使用PAE启用的内核

我们的一台服务器已经安装了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 ([email protected]) (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并切换到从该内核启动。

祝你好运!

你几乎肯定会像Redmumba所说的那样运行一个32位的内核。

除了PAE选项,您还可以快乐地运行带有32位用户空间的64位内核 – 这与PAE具有相似的效果,即整个系统可以使用64位地址空间,但是可以使用单个进程(除非他们明确PAE知道)被限制在一个32位的地址空间。 IIRC 64位核心和32位进程之间的上下文切换与PAE相比瓶颈更less,因此您可能会发现此选项更有效。 我不知道CentOS,但在Debian中,你可以运行aptitude install linux-image-amd64 (注意http://packages.debian.org/squeeze/linux-image-amd64这个虚拟包和它的依赖关系存在对于amd64和i386的版本),它会为你做的工作(自动更新将通过罚款,因为你没有手动编译任何东西,而不是使用包pipe理系统)。

如果这是一个全新的设置(即操作系统只是刚刚安装,而不是你已经升级了现有的服务器上的RAM),那么我会build议使用完全的64位设置(用户空间和内核)完全重新安装, 。

是的,操作系统是32位的。

Linux s209.xxxxx.net 2.6.18-194.el5#1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU / Linux