Tăng kích thước bộ nhớ kernel


14

Tôi có một bảng nhúng với 512MB RAM chạy Linux 2.6,29 và bộ tải khởi động UBoot. Nhưng hạt nhân chỉ có thể sử dụng 128 MB RAM.

Tôi đã thử thay đổi giá trị của XCODE_MEMSIZEcái mà tôi nghĩ sẽ xác định mức độ sử dụng của RAM.

Khi tôi đặt nó thành 512, kernel gặp sự cố khi khởi động. Có bất kỳ tham số cấu hình khác cần phải thay đổi?


Bạn có thể cụ thể hơn về vụ tai nạn bạn đề cập? Bạn thấy gì trên màn hình? Có lỗi gì không?
Straphka


Thực sự cần cung cấp thêm chi tiết về 'chỉ có thể sử dụng 128MB'. Có vẻ như một cái gì đó đã bị giới hạn ở đâu đó (kích thước ngăn xếp trên mỗi người dùng, v.v.).
đa thức

Bao nhiêu bộ nhớ được phát hiện u-boot? Nó có phát hiện toàn bộ 512MB không?
freethinker

Điều gì cat /proc/cmdlinenói với bạn trên bảng của bạn?
Ankur Agarwal

Câu trả lời:


3

Không có kiến ​​thức cụ thể hơn về bảng nhúng của bạn, hai điều đến với tâm trí.

  1. Hãy thử mem=tham số khởi động kernel . (Tôi nghĩ đôi khi bộ nhớ có thể có sẵn từ địa chỉ không liên tục nên bạn có thể phải sử dụng một cái gì đó như thế này, nhưng địa chỉ sẽ phải được kiểm tra trên mỗi mobo của bạn.

    mem = 512M @ 0 mem = 256M @ 0x80000000 mem = 256M = 0xc0000000

  2. Bạn có card đồ họa nhúng? Điều đó có thể lấy ra một đoạn ram có sẵn của bạn. Nếu bạn có thể đến bios hoặc tương đương, hãy kiểm tra xem.

@see Tham số hạt nhân để biết thêm thông tin vềmem=


Bạn có thể cần chỉ định một giá trị nhỏ hơn 512M - có lẽ có một thiết bị hoặc thứ gì đó ở hoặc gần địa chỉ vật lý 0x20000000 (512M) trong bản đồ bộ nhớ của bảng, trong đó, bạn nên lấy một bản sao để biết RAM nằm ở đâu trên bo mạch của bạn.
LawrenceC

1

Tôi đoán bạn nên tăng RAM Diskkích thước trong kernel của bạn.


-1

Ngoài các bài viết khác về việc cụ thể hơn, tôi cũng sẽ đề nghị ngắt kết nối /dev/shmnếu nó được gắn kết. Đó là một hệ thống tập tin ramdisk và ăn vào ram của bạn.

Ngoài ra hãy xem sysctllệnh trong linux. Làm một cái gì đó như sysctl -w kernel.shmmax="<some number>"thay đổi kernel trong khi nó đang chạy.


4
/ dev / shm sử dụng hầu như bất kỳ bộ nhớ nếu nó trống. Nó sẽ chỉ bắt đầu sử dụng ram khi các tập tin được tải vào nó.
Patrick

/ dev / shm không có gì ngoài việc thực hiện khái niệm bộ nhớ chia sẻ truyền thống. Nó là một phương tiện hiệu quả để truyền dữ liệu giữa các chương trình. Một chương trình sẽ tạo ra một phần bộ nhớ mà các quá trình khác (nếu được phép) có thể truy cập. Điều này sẽ dẫn đến việc tăng tốc mọi thứ trên Linux.
Satish
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.