Tại sao hơn 3 GB RAM không được nhận dạng khi sử dụng AMD64?


8

Tại sao Ubuntu 10.10 amd64 (Maverick Meerkat) không giải quyết được nhiều hơn 3 GB RAM?

Máy của tôi là bộ xử lý Toshiba P205-S6287 Intel Centrino Duo 64 bit và RAM 4 GB tốc độ 667 MHz.

Theo thông số kỹ thuật chi tiết , máy tính xách tay chạy bộ xử lý Core 2 Duo T5300 64 bit và có chipset 945GM Express.


3
Đó là một bí ẩn, bạn có thể báo cáo đầu ra uname -a, đầu ra free -mvà cũng xác nhận rằng bạn có hơn 3GB ram hoạt động bằng cách xem mã dmidecode của bạn.
Martin Owens -doctormo-

1
Và bạn có chắc rằng bạn có phiên bản 64 bit của Ubuntu. Nó uname -anói gì
Vojtech Trefny

cùng một vấn đề, optiplex gx620 5 Gb Ram

Câu trả lời:


16

Điều này là do Mobile Intel 945GM Express trong máy tính xách tay của bạn.

Tôi sở hữu một Thinkpad T60, sử dụng cùng một chipset. Đó là một trong những điều chỉnh hướng bắc đầu tiên từ intel cho CPU 64 bit Core2Duo. Họ đã thất bại trong việc thiết kế nó.

Về mặt lý thuyết, chipset chỉ có thể xử lý 4GB RAM, nhưng cũng phải xử lý phần cứng khác (bộ nhớ I / O). Nó bảo lưu phạm vi bộ nhớ 1GB trên cho điều đó. Hỗ trợ địa chỉ bộ nhớ logic 64 bit trong nhân Linux không giúp ích gì, vì bo mạch chính và cầu bắc chỉ cung cấp cho bus địa chỉ vật lý 32 bit cho CPU. Và không có cách giải quyết.
http://forums.lenovo.com/t5/T61-and-p Warrior-T-series-ThinkPad / Thinkpad-s-and-N100- mp / 2730

Có một tùy chọn lý thuyết trong việc đưa ra chuyển đổi ngân hàng bộ nhớ. Tuy nhiên, kernel không hỗ trợ nó, cũng không có ý nghĩa gì trên kiến ​​trúc x86. Bộ điều khiển bộ nhớ i810 của 945GM có lẽ quá lười để điều đó có ý nghĩa.


1

Câu trả lời ngắn gọn của tôi là: có khả năng vì nhà thiết kế BIOS đã cẩu thả.

Anwser dài là:

Mặc dù bạn đã cài đặt RAM 4GB, nhưng bạn không thể mong đợi có 4GB RAM có thể sử dụng được với chipset Intel 945GM. Đây là một giới hạn chipset. Bạn có thể nói điều này từ đặc tả của chipset:

http://www.intel.com/content/www/us/en/intellect-systems/neef-pier/mobile-945-express-chipset-datasheet.html

Trích dẫn từ phần 9.2: " Các M emory C ontroller H . UBS cung cấp tối đa DRAM không gian địa chỉ giải mã 4 GB Các MCH không remap APIC hoặc không gian bộ nhớ PCI Express Điều này có nghĩa rằng như dung lượng bộ nhớ vật lý dân cư ở một vùng hệ thống. 4 GB, sẽ có bộ nhớ vật lý tồn tại nhưng không thể truy cập được và do đó hệ thống không thể sử dụng được. "

BIOS phải dành phạm vi địa chỉ cho một số tài nguyên, tức là bản thân BIOS, không gian ánh xạ bộ nhớ PCI và PCI Express, đồ họa bên trong, không gian bộ nhớ APIC và các cửa sổ bộ nhớ khác để truy cập I / O. Tất cả các phạm vi địa chỉ này phải nằm trong không gian địa chỉ 4GB và vì vậy phạm vi địa chỉ chiếm dụng đó không còn khả dụng cho bộ nhớ hệ thống nữa. Bạn có thể nói những tài nguyên này "đánh cắp" không gian bộ nhớ RAM vật lý.

Điều đó đang được nói, nếu bạn đã cài đặt 4GB, bạn có thể mong đợi có sẵn hơn 3 GB bộ nhớ hệ thống .

Dung lượng bộ nhớ vật lý có sẵn cho hệ thống phụ thuộc vào mức độ nỗ lực của nhà thiết kế BIOS trong việc sắp xếp các dải địa chỉ luận án. Ví dụ, BIOS có thể phân bổ số lượng ít nhất cần thiết cho mỗi tài nguyên. Hoặc nó có thể cho phép vô hiệu hóa hoặc giới hạn phân bổ địa chỉ cho PCI Express tùy thuộc vào việc sử dụng các thiết bị PCI Express của hệ thống của bạn.

Nhà thiết kế BIOS trong hệ thống của bạn có thể đặt giới hạn trên của RAM có thể sử dụng thành tối đa tĩnh 3 GB mặc dù bạn đã cài đặt 4GB. Cách tiếp cận này cung cấp cửa sổ địa chỉ tĩnh 1GB cho nhà thiết kế BIOS và như vậy đơn giản hóa nhiệm vụ của nhà thiết kế BIOS để phân bổ phạm vi địa chỉ cho các tài nguyên để chúng không xung đột với bất kỳ phạm vi địa chỉ nào khác.


1

Có một số lý do có thể.

Một là, trên thực tế, bạn không chạy bản dựng amd64. Một điều nữa là bo mạch chủ và / hoặc BIOS của bạn bị hỏng và không báo cáo đúng dung lượng RAM.

Một điều nữa là bạn có bộ nhớ video và các tài nguyên phần cứng khác chiếm dung lượng trong vùng bộ nhớ 3-4 GB và bo mạch chủ / BIOS của bạn không có khả năng nâng RAM bị bóng lên các địa chỉ cao hơn để có thể truy cập được.

Chỉ ra rằng cần phải nhìn vào dmesgđầu ra của bạn .


0

psusi đã đúng.

Tôi có tình huống tương tự ở đây:

Mặc dù họ gọi nó là "CPU 64 bit", bạn thường không thể giải quyết bộ nhớ 4 GB +.

Hầu hết các bo mạch chủ cũ chỉ có 32 bit cho các địa chỉ và từ nhóm này, card đồ họa cũng cần có địa chỉ của chúng.

= 4 GB - bộ nhớ card đồ họa (1 GB) = 3 GB.

Tôi sợ không có khả năng khắc phục điều này bằng cách vá hoặc nâng cấp firmware của bất cứ thứ gì.

Nếu bạn quan tâm đến chi tiết, tôi khuyên bạn nên: Gia hạn địa chỉ vật lý


Ngoài ra: Nếu có thể, trình cài đặt 32 bit bình thường sẽ tự động kích hoạt nhân Mở rộng địa chỉ vật lý nếu cần, cho phép bạn sử dụng tất cả bộ nhớ của mình.
Stefano Palazzo

Như đã được thông báo bởi @StefanoPalazzo và những người khác đang cài đặt kernel PAE sẽ giải quyết vấn đề Chỉ cần tìm kiếm kernel PAE trong trình quản lý gói synaptic và cài đặt: hailub Ubuntu.blogspot.com/2010/09/ubfox-detecting-less-ram.html
Wisemonkey

1
@wisemonkey: không có hạt nhân PAE nào không cung cấp cho tôi 4GB đầy đủ. Bởi vì tôi đã sử dụng kernel 64 bit và thậm chí các báo cáo bios: tổng cộng 4GB -> 3.2GB có thể sử dụng được.
aatdark

@aatdark: Thiết lập BIOS của bạn có trường "Bộ nhớ video được chia sẻ" không? Nếu có, bạn có thể vô hiệu hóa nó (chỉ được khuyến nghị nếu bạn có card đồ họa rời) nhưng sau đó như bạn đã nói nếu máy tính cũ của nó thì bộ nhớ hoàn chỉnh không thể truy cập được.
Wisemonkey

1
"Chipset Intel Intel® 945 cung cấp không gian địa chỉ tối đa 4GB và không hỗ trợ ánh xạ lại bộ nhớ. Vì các phần của địa chỉ đó cần được dành riêng cho các thiết bị khác, bạn sẽ không thể sử dụng hơn 3,2 GB bộ nhớ hệ thống với cấu hình hệ thống hiện tại của bạn. Không có bản cập nhật BIOS hay hệ điều hành 64 Bit nào sẽ thay đổi điều đó. Đây là một chipset thay vì giới hạn bo mạch hoặc BIOS. "
aatdark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.