
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 171736k/171736k available, 90408k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc048d000 (4628 kB)
[ 0.000000] .init : 0xc048d000 - 0xc04b2000 ( 148 kB)
[ 0.000000] .data : 0xc04b2000 - 0xc04f7400 ( 277 kB)
[ 0.000000] .bss : 0xc04f7424 - 0xc0593f68 ( 627 kB)
我有一個帶有 3.4.39 核心的arm sun8i 設備。可用記憶體只有 256MB,但板上的晶片大小為 2GB。啟動了啟用 highmem=y 的內核,但問題仍然存在。這裡發生了什麼事? Lomem 的上限為 256MB,我甚至可以分配 700MB 的區塊嗎?我認為 lomem 應該包含 vmalloc 區塊。
答案1
谷歌搜尋您在評論中提到的晶片,H5TQ2G63FFR 是一個 2 Gb(千兆位元)晶片,因此它只有 256 MB(兆位元組)記憶體。
H5TQ2G83FFR-xxC、H5TQ2G63FFR-xxC、[...] 是 2,147,483,648-位元CMOS 雙倍資料速率 III (DDR3) 同步 DRAM,[...]
(引自這個PDF。 )
記憶體晶片以位元為單位的情況並不少見,因為您可以將八個記憶體晶片組合在一起製成 2 GB 的記憶體條。 (更多晶片可以形成更寬的資料路徑,取決於系統/處理器應該有多寬。)