歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在64位的Linux劃分用戶空間與內核空間大小

在64位的Linux劃分用戶空間與內核空間大小

日期:2017/2/28 16:19:21   编辑:Linux教程

在/arch/x86/include/asm/page_64_types.h下有如下兩行:

#define __START_KERNEL_map _AC(0xffffffff80000000, UL)
#define KERNEL_IMAGE_START _AC(0xffffffff80000000, UL)

這就是對空間大小的劃分,在0xffffffff80000000之前的是給用戶空間,在0xffffffff80000000之後的給內核空間,如果你現在手裡有大約12G的內存想讓內核態下可以使用大小10G的空間可以修改此值,將上面兩句改為如下:

#define __START_KERNEL_map _AC(0xfffffffc00000000, UL)
#define KERNEL_IMAGE_START _AC(0xfffffffc00000000, UL)

然後,再將你的內核加載到連續的物理內存起始地址即可,這樣內核就可以有16G尋址空間
物理地址分布情況可以查看e820的信息取得。

Copyright © Linux教程網 All Rights Reserved