问题是:如何解决这个问题?自2.6.32以来所作的改变已经引入了这一点。是否有补丁规范或内核维护人员可以提供来修复这个问题?我该把这个交给谁?
谢谢大家!
我认为Ubuntu10.10附带的64位2.6.35内核有一个问题。我有一个Gigabtye GA-970A-UD3与一个AMD FX-8120处理器,16 GA DDR3-1333,nVidia GTX550Ti和OCZ敏捷3 120 GA的SSD。
我在上面安装了Ubuntu10.10以获得2.6.35内核的SSD TRIM支持。但是,成功安装操作系统后,系统监视器只报告3.2GB。它看到了FX-8120和uname -a reports x86_64的8个核心。此外,dmidecode显示正在填充的四个内存库。出于对内存的怀疑,我从不同的制造商把16 8GB的内存换成了8GB的内存,但仍然存在同样的问题。10.10使用2.6.35内核在64位上的容量不会超过4GB。
我有一个64位10.04 LTS安装在一个有24 it内存的i7-960上,它可以看到所有的24 it。当我在FX-8120机器上启动64位10.04LTS时,它会看到所有16 it和8核。
显然,在2.6.32和2.6.35之间发生了一些变化,从而影响了内存支持。
我是在削减2.6.35的支持,但不是以损失75%的内存为代价。我正在寻求一些指导或建议。是否需要一个新的内核标志,或者我是否需要获得2.6.33的自定义构建,以便同时解决TRIM支持和内存问题。
任何帮助都很感激!
更新:所安装的10.04 LTS版本是Ubuntu下载站点为10.04 64位版本提供的任何ISO版本。我在安装时打开了“下载更新”,所以无论10.04 LTS目前在使用该ISO进行干净安装时所做的事情都是我正在运行的。我可以提供任何命令的输出,以确定这台机器正在进行的准确的构建/修订。我还将在我的i7-960上测试引导10.10,看看它是否报告了4GB对24 4GB。这将消除作为潜在问题的芯片组支持,因为它将跨越体系结构边界并指出内核问题。
更新2:这是一个BIOS错误。
dmesg输出片段:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.35-22-generic (buildd@allspice) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu4) ) #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 (Ubuntu 2.6.35-22.33-generic 2.6.35.4)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-2.6.35-22-generic root=UUID=9129347f-e2a2-4b97-965c-800823aaf090 ro quiet splash
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009a000 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000cfda0000 (usable)
[ 0.000000] BIOS-e820: 00000000cfda0000 - 00000000cfdd1000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000cfdd1000 - 00000000cfe00000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000cfe00000 - 00000000cff00000 (reserved)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 000000042f000000 (usable)
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.4 present.
[ 0.000000] e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[ 0.000000] No AGP bridge found
[ 0.000000] last_pfn = 0x42f000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-C7FFF write-protect
[ 0.000000] C8000-FFFFF uncachable
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 000000000000 mask FFFF80000000 write-back
[ 0.000000] 1 base 000080000000 mask FFFFC0000000 write-back
[ 0.000000] 2 base 0000C0000000 mask FFFFF0000000 write-back
[ 0.000000] 3 base 0000CFE00000 mask FFFFFFE00000 uncachable
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] e820 update range: 00000000cfe00000 - 000000042f000000 (usable) ==> (reserved)
[ 0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 13040MB of RAM.
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at /build/buildd/linux-2.6.35/arch/x86/kernel/cpu/mtrr/cleanup.c:971 mtrr_trim_uncached_memory+0x2d8/0x303()
[ 0.000000] Hardware name: GA-970A-UD3
[ 0.000000] Modules linked in:
[ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.35-22-generic #33-Ubuntu
[ 0.000000] Call Trace:
[ 0.000000] [<ffffffff8106077f>] warn_slowpath_common+0x7f/0xc0
[ 0.000000] [<ffffffff810607da>] warn_slowpath_null+0x1a/0x20
[ 0.000000] [<ffffffff81af7970>] mtrr_trim_uncached_memory+0x2d8/0x303
[ 0.000000] [<ffffffff81af2910>] setup_arch+0x422/0x79e
[ 0.000000] [<ffffffff815864c9>] ? printk+0x68/0x6f
[ 0.000000] [<ffffffff81aed9f3>] start_kernel+0xdd/0x390
[ 0.000000] [<ffffffff81aed341>] x86_64_start_reservations+0x12c/0x130
[ 0.000000] [<ffffffff81aed43f>] x86_64_start_kernel+0xfa/0x109
[ 0.000000] ---[ end trace a7919e7f17c0a725 ]---
[ 0.000000] update e820 for mtrrdmidecode -t内存:
# dmidecode 2.9
SMBIOS 2.4 present.
Handle 0x0005, DMI type 5, 24 bytes
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 1024 MB
Maximum Total Memory Size: 4096 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
Standard
EDO
Memory Module Voltage: 3.3 V
Associated Memory Slots: 4
0x0006
0x0007
0x0008
0x0009
Enabled Error Correcting Capabilities:
None
Handle 0x0006, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A0
Bank Connections: 1
Current Speed: 53 ns
Type: Other Unknown EDO
Installed Size: 4096 MB (Double-bank Connection)
Enabled Size: 4096 MB (Double-bank Connection)
Error Status: OK
Handle 0x0007, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A1
Bank Connections: 2
Current Speed: 53 ns
Type: Other Unknown EDO
Installed Size: 4096 MB (Double-bank Connection)
Enabled Size: 4096 MB (Double-bank Connection)
Error Status: OK
Handle 0x0008, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A2
Bank Connections: 3
Current Speed: 53 ns
Type: Other Unknown EDO
Installed Size: 4096 MB (Double-bank Connection)
Enabled Size: 4096 MB (Double-bank Connection)
Error Status: OK
Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A3
Bank Connections: 4
Current Speed: 53 ns
Type: Other Unknown EDO
Installed Size: 4096 MB (Double-bank Connection)
Enabled Size: 4096 MB (Double-bank Connection)
Error Status: OK
Handle 0x0029, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0029
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: A0
Bank Locator: Bank0/1
Type: Unknown
Type Detail: None
Speed: 1333 MHz (0.8 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
Handle 0x002B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0029
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: A1
Bank Locator: Bank2/3
Type: Unknown
Type Detail: None
Speed: 1333 MHz (0.8 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
Handle 0x002C, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0029
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: A2
Bank Locator: Bank4/5
Type: Unknown
Type Detail: None
Speed: 1333 MHz (0.8 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
Handle 0x002D, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0029
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: A3
Bank Locator: Bank6/7
Type: Unknown
Type Detail: None
Speed: 1333 MHz (0.8 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number: 不名-a
Linux artemis 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux发布于 2012-02-25 17:01:58
AMD FX处理器支持的问题在于Linux内核的变化,从2.6.33开始。随10.04附带的2.6.32内核在查看所有可用内存时与硬件一起正确工作。
我从一个10.04LTS版本开始,它的内存为16 is。然后,我通过kernel.ubuntu.com升级到2.6.33内核,内存下降到3.2GB。dmesg产出报告:
WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 13040MB of RAM然后是内核跟踪信息,说明有问题的内核源代码的确切区域。
在这一点上,无论我是10.04还是10.10,都不再重要了。一旦内核版本通过2.6.32,这个问题就会显示出来。这并不是FX处理器的问题。即使是2.6.32内核也用适当数量的内核正确地识别了它。千兆字节GA-970A-UD3BIOS没有执行内存重映射的选项,因此它可能在默认情况下执行此操作。
在3.0内核上引导Ubuntu 11会导致机器在硬件检测上冻结。我还没有尝试12.04 alpha版本。
允许2.6内核在安装了我的主板的硬件上运行的逻辑解决方案是在以后的内核中修补arch/x86/内核/cpu/ MTRR /leanup.c,使用不执行MTRR检查的旧的2.6.32代码。研究表明,MTRRs是通过BIOS遗留的组件,似乎是安全的禁用。
这还将允许较新硬件的用户使用更晚的驱动程序运行基于Linux2.6的旧系统,并正确地支持SSD。
下一步是提取2.6.33内核和2.6.32一起使用的源代码,并查看执行修补程序,看看会发生什么。请注意,我不是一个内核开发人员,我的C是生疏的,但我可以很好地工作来尝试一下。如果它有效,我将考虑向内核维护人员发布一个补丁。
https://askubuntu.com/questions/106976
复制相似问题