カーネルメモリサイズの増加


14

Linux 2.6.29とUBootブートローダーを実行する512MBのRAMを備えた組み込みボードがあります。ただし、カーネルは128MBのRAMしか使用できません。

の値を変更してみましたがXCODE_MEMSIZE、カーネルが使用するRAMの量を決定すると思います。

512に設定すると、起動中にカーネルがクラッシュします。変更する必要がある他の構成パラメーターはありますか?


あなたが言及したクラッシュに関してより具体的に教えていただけますか?画面には何が見えますか?エラーはありますか?
ストラフカ

そして、それはどのボードですか?
ジル 'SO-悪

「128MBしか使用できない」という詳細を本当に提供する必要があります。どこかに何かが制限されているように聞こえます(ユーザーごとのスタックサイズなど)。
多項式

u-bootはどのくらいのメモリを検出していますか?512MB全体を検出しますか?
freethinker

cat /proc/cmdlineボード上で何がわかりますか?
アンクールアガルワル

回答:


3

組み込みボードの詳細な知識がなければ、2つのことが思い浮かびます。

  1. カーネルmem=ブートパラメータを試してください。(メモリは非連続アドレスから利用できる場合があるため、このようなものを使用する必要があるかもしれませんが、アドレスはモボごとに確認する必要があります。

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

  2. 埋め込みグラフィックカードはありますか?それはあなたの利用可能なラムの塊を取り出すかもしれません。経歴書または同等のものを入手できる場合は、それを確認してください。

@see カーネル偶然にをの詳細については、mem=


512M未満の値を指定する必要がある場合があります。おそらく、ボードのメモリマップに物理アドレス0x20000000(512M)またはその近くにデバイスまたは何かがあるため、ボード上のRAMの場所を知るためにコピーを取得する必要があります。
ローレンス


-1

より具体的であるという他の投稿に加えて、マウントされている/dev/shm場合はアンマウントすることもお勧めします。これはramdiskファイルシステムであり、ramに食い込みます。

sysctlLinux のコマンドも見てください。sysctl -w kernel.shmmax="<some number>"実行中にカーネルを変更するようなことを行うと。


4
/ dev / shmは、空の場合、ほとんどメモリを使用しません。ファイルがロードされると、RAMの使用が開始されます。
パトリック

/ dev / shmは、従来の共有メモリの概念の実装に他なりません。これは、プログラム間でデータを渡す効率的な手段です。1つのプログラムがメモリ部分を作成し、他のプロセス(許可されている場合)がアクセスできるようにします。これにより、Linuxの速度が向上します。
サティッシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.