
[ 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은 2Gb(기가비트) 칩이므로 메모리가 256MB(메가바이트)에 불과합니다.
H5TQ2G83FFR-xxC, H5TQ2G63FFR-xxC,[...] 2,147,483,648-조금CMOS DDR3(Double Data Rate III) 동기식 DRAM,[...]
(인용문이 PDF. )
메모리 칩을 비트 단위로 지정하는 것은 드문 일이 아닙니다. 그 중 8개를 모아서 2GB 메모리 스틱을 만들 수 있기 때문입니다. (더 많은 칩이 더 넓은 데이터 경로를 만들 수 있으며 시스템/프로세서의 너비에 따라 다릅니다.)