作者 主題: 請問Embeded System 的 Memory要如何設定?  (閱讀 7446 次)

0 會員 與 1 訪客 正在閱讀本文。

qneway

  • 可愛的小學生
  • *
  • 文章數: 23
    • 檢視個人資料
小弟在作一個 MIPS 的 target board,最近一直被 oom 給困擾著,
我mount 了一個 149G的xfs partition,然後用 xfs_check 來檢查,
接著就出現OOM的錯誤,我的板子有兩組DRAM,分別為 BANK0 和
BANK1,各上了128MB,但系統BOOT UP起來後,MEMORY的情況
如下:

請問是否有什麼設定檔是在管理Memory的呢??

uclibc[~]# free
              total         used         free       shared      buffers
  Mem:        53156        19148        34008            0            0
 Swap:            0            0            0
Total:        53156        19148        34008
uclibc[~]# cat /proc/meminfo
MemTotal:        53156 kB
MemFree:         34008 kB
Buffers:             0 kB
Cached:          15784 kB
SwapCached:          0 kB
Active:           8796 kB
Inactive:         7396 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        53156 kB
LowFree:         34008 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           1496 kB
Slab:             2100 kB
CommitLimit:     26576 kB
Committed_AS:     1208 kB
PageTables:         80 kB
VmallocTotal:  1048560 kB
VmallocUsed:    133308 kB
VmallocChunk:   914412 kB

qneway

  • 可愛的小學生
  • *
  • 文章數: 23
    • 檢視個人資料
回覆: 請問Embeded System 的 Memory要如何設定?
« 回覆 #1 於: 2009-12-22 10:26 »
我找到了,在kernel的 .config內,有個地方可以設定,如下:
CONFIG_TANGOX_SYSTEMRAM_ACTUALSIZE=58

唉,不過我只要設定大於64以上,就會出現以下錯誤訊息,天不從人願。 >"<~
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 115196k/126848k available (2594k kernel code, 11580k reserved, 337k data, 5044k init, 0k highmem)
CPU 0 Unable to handle kernel paging request at virtual address 00000584, epc == 90080d30, ra == 90081c84
Oops[#1]:
Cpu 0
$ 0   : 00000000 00000073 00000580 00000580
$ 4   : 0000000c 00000000 00000001 97804000
$ 8   : 0000000c 00000001 00000000 9780401c
$12   : 9031d8ec 907f3fc4 00000002 9031d8ec
$16   : 00000001 00000001 97801f60 00000000
$20   : 907f0000 907f0000 902e0000 902e0000
$24   : 00000000 00000001                 
$28   : 902e2000 902e3ef0 90320000 90081c84
Hi    : 00000000
Lo    : 00000580
epc   : 90080d30     Not tainted
ra    : 90081c84 Status: 10001c03    KERNEL EXL IE
Cause : 7080800c
BadVA : 00000584
PrId  : 00019069
Modules linked in:
Process swapper (pid: 0, threadinfo=902e2000, task=902e4000)
Stack : 907f0000 900803e8 000000d0 00000001 00000001 00000001 90081c84 00040000
        907f0000 907f0000 902e0000 902e0000 90320000 900803e8 00000000 00040000
        97801f60 907f3fbc 907f0000 00040000 90082294 900803e8 907f0000 907f0000
        97804600 902e7ab0 97801f60 90310aec 10001c03 00000026 902e3f7c 907f0000
        00000000 00000000 00000040 0001c1fc 00000000 00000000 00000000 00000000
        ...
Call Trace: [<900803e8>]  [<90081c84>]  [<900803e8>]  [<90082294>]  [<900803e8>]  [<90310aec>]  [<902fe42c>]  [<902fe4f4>]

Code: 00c08821  10400006  8fbf0018 <ac500004> ac510008  ac40000c  ac400000  8fbf0018  8fb10014
Kernel panic - not syncing: Attempted to kill the idle task!

mjabe

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
    • http://home.so-net.net.tw/michtw
回覆: 請問Embeded System 的 Memory要如何設定?
« 回覆 #2 於: 2009-12-23 00:56 »
試試在 kernel command line 上加上 mem 看看吧。

    mem=nn[KMG]     [KNL,BOOT] Force usage of a specific amount of memory
                        Amount of memory to be used when the kernel is not able
                        to see the whole system memory or for test.
                        [IA-32] Use together with memmap= to avoid physical
                        address space collisions. Without memmap= PCI devices
                        could be placed at addresses belonging to unused RAM.

.

qneway

  • 可愛的小學生
  • *
  • 文章數: 23
    • 檢視個人資料
回覆: 請問Embeded System 的 Memory要如何設定?
« 回覆 #3 於: 2009-12-25 17:35 »
To mjabe:

cmd line 指定 mm 後,build出來的image還是會oops,鳴鳴…

之後我放棄這個方向了,改朝往新版的xfsprogs去努力。

謝謝。