
[ 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)
У меня есть устройство arm sun8i с ядром 3.4.39. Доступная память составляет всего 256 МБ, но чип на плате имеет размер 2 ГБ. Загрузил ядро с включенным highmem=y, но проблема осталась. Что здесь происходит? Lomem ограничен 256 МБ, могу ли я вообще выделить блок в 700 МБ? Я думал, что lomem должен включать блок vmalloc.
решение1
Погуглив в поисках чипа, который вы упомянули в комментариях, я обнаружил, что H5TQ2G63FFR — это чип емкостью 2 Гб (гигабит), то есть у него всего 256 МБ (мегабайт) памяти.
H5TQ2G83FFR-xxC, H5TQ2G63FFR-xxC,[...] являются 2,147,483,648-кусочекСинхронная DRAM-память CMOS Double Data Rate III (DDR3),[...]
(цитата изэтот PDF-файл. )
Микросхемы памяти нередко указываются в битах, так как можно объединить восемь таких микросхем и получить карту памяти емкостью 2 ГБ. (Большее количество микросхем может создать более широкий путь передачи данных, его ширина зависит от системы/процессора.)