- 论坛徽章:
- 0
|
大家好,
我这个问题关注的是bootargs里的mem和vmalloc参数
当我设置mem=512M vmalloc=476M时
主要打印如下:
Memory: 490MB 1MB = 491MB total
Memory: 492576k/492576k available, 31712k reserved, 72704K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xda800000 - 0xf8000000 ( 472 MB)
lowmem : 0xc0000000 - 0xda400000 ( 420 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.init : 0xc0008000 - 0xc003e000 ( 216 kB)
.text : 0xc003e000 - 0xc04fe000 (4864 kB)
.data : 0xc04fe000 - 0xc054ec80 ( 324 kB)
当我设置mem=256M vmalloc=476M时
主要打印如下:
Memory: 234MB 1MB = 235MB total
Memory: 232680k/232680k available, 29464k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB)
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.init : 0xc0008000 - 0xc003e000 ( 216 kB)
.text : 0xc003e000 - 0xc04fe000 (4864 kB)
.data : 0xc04fe000 - 0xc054ec80 ( 324 kB)
当我设置mem=768M vmalloc=476M时
主要打印如下:
Memory: 736MB 1MB = 737MB total
Memory: 742492k/742492k available, 33700k reserved, 324608K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xda800000 - 0xf8000000 ( 472 MB)
lowmem : 0xc0000000 - 0xda400000 ( 420 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.init : 0xc0008000 - 0xc003e000 ( 216 kB)
.text : 0xc003e000 - 0xc04fe000 (4864 kB)
.data : 0xc04fe000 - 0xc054ec80 ( 324 kB)
从数据上看我个人认为vmalloc应该就是指定内核虚拟地址空间的vmalloc区域的最小范围,但是比较困惑的是mem,它到底是指定物理内存的大小还是什么的?
网上查找说是内核内存管理的大小,有谁能解释下吗,先谢了 |
|