1. Blue : User Space 128TB
    Red : Kernel Space 512MB
    The rest of the address space goes to various parts of the system, along with a few unusable holes.
  2.  
  3. -----------
  4.  
  5. <previous description obsolete, deleted>
  6.  
  7. Virtual memory map with 4 level page tables:
  8.  
  9. 0000000000000000 - 00007fffffffffff (=47 bits) user space, different per mm
  10. hole caused by [48:63] sign extension
  11. ffff800000000000 - ffff80ffffffffff (=40 bits) guard hole
  12. ffff880000000000 - ffffc7ffffffffff (=64 TB) direct mapping of all phys. memory
  13. ffffc80000000000 - ffffc8ffffffffff (=40 bits) hole
  14. ffffc90000000000 - ffffe8ffffffffff (=45 bits) vmalloc/ioremap space
  15. ffffe90000000000 - ffffe9ffffffffff (=40 bits) hole
  16. ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)
  17. ... unused hole ...
  18. ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0
  19. ffffffffa0000000 - ffffffffff5fffff (=1525 MB) module mapping space
  20. ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
  21. ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
  22.  
  23. The direct mapping covers all memory in the system up to the highest
  24. memory address (this means in some cases it can also include PCI memory
  25. holes).
  1. 33#define __PAGE_OFFSET _AC(0xffff880000000000, UL)
  2. 34
  3. 35#define __START_KERNEL_map _AC(0xffffffff80000000, UL)
  1. vmalloc space is lazily synchronized into the different PML4 pages of the processes using the page fault handler, with init_level4_pgt as reference. Current X86-64 implementations only support 40 bits of address space, but we support up to 46 bits. This expands into MBZ space in the page tables. -Andi Kleen, Jul 2004
  2.  
  3. BY https://www.kernel.org/doc/Documentation/x86/x86_64/mm.txt

Memory layout of x86_64 in Linux的更多相关文章

  1. Kernel Memory Layout on ARM Linux

    这是内核自带的文档,讲解ARM芯片的内存是如何布局的!比较简单,对于初学者可以看一下!但要想深入理解Linux内存管理,建议还是找几本好书看看,如深入理解Linux虚拟内存,嵌入系统分析,Linux内 ...

  2. 【ARM-Linux开发】Linux内存管理:ARM Memory Layout以及mmu配置

    原文:Linux内存管理:ARM Memory Layout以及mmu配置 在内核进行page初始化以及mmu配置之前,首先需要知道整个memory map. 1. ARM Memory Layout ...

  3. Memory Layout (Virtual address space of a C process)

    Memory Layout (Virtual address space of a C process) 分类: C语言基础2012-12-06 23:16 2174人阅读 评论(0) 收藏 举报 f ...

  4. Memory Layout of C Programs

    Memory Layout of C Programs   A typical memory representation of C program consists of following sec ...

  5. Memory Layout for Multiple and Virtual Inheritance

    Memory Layout for Multiple and Virtual Inheritance(By Edsko de Vries, January 2006)Warning. This art ...

  6. Use Memory Layout from Target Dialog Scatter File

    参考 MDK-ARM Linker Scatter File的用法(转载) keil报错 Rebuild target 'Target 1' assembling test1.s... linking ...

  7. Understanding Memory Technology Devices in Embedded Linux

    转: NAND Chip Drivers NAND technology users such as USB pen drives, DOMs, Compact Flash memory, and S ...

  8. How to change system keyboard keymap layout on CentOS 7 Linux

    The easiest way to swap between keymaps and thus temporarily set keys to different language by use o ...

  9. Maximum Memory and CPU Limitations for Linux Server

    grep NR_CPUS /boot/config-`uname -r` [webdev@test apache-flume-1.8.0-bin]$ grep NR_CPUS /boot/config ...

随机推荐

  1. JS面向对象——工厂模型

    工厂模型抽象了创建具体对象的过程,以下示例代码说明工厂类型: <!DOCTYPE html> <html> <head> <title>工厂模型< ...

  2. 从0构建webpack开发环境(三) 开发环境以及 webpack-dev-server 的使用

    sourceMap 实际应用开发过程中大部分时间都是处于开发模式中,其中需要频繁的修改代码.调试和打包. 但是打包后的代码多个模块压缩到了一个bundle文件,如果出现警告或者异常很难定位到具体模块和 ...

  3. springboot2.0+websocket集成【群发消息+单对单】(二)

    https://blog.csdn.net/qq_21019419/article/details/82804921 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上 ...

  4. Linux就该这么学09学习笔记

    参考链接:https://www.linuxprobe.com/chapter-09.html 配置网卡服务 配置网卡参数 1.执行nmtui命令运行网络配置工具 2.选中Edit a connect ...

  5. java访问ftp

    1.连接ftp FTPClient ftpClient = new FTPClient(); ftpClient.connect(host,port); ftpClient.login(userNam ...

  6. MySQL Authentication plugin 'caching_sha2_password' cannot be loaded

    很多用户在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loade ...

  7. LOJ149 0/1分数规划

    竟然没有写过分数规划的题解 考前挣扎一发板子( 二分答案k 然后0/1分数规划的方法就是 分母乘过去然后贪心解决 注意实数二分的精度 一般估计一个次数比较好不然容易出现精度比较误差[惨痛教训 就做完了 ...

  8. python基础知识1

    1.何为json? json 是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机 ...

  9. mysql查找表名

    SELECT *FROM information_schema.TABLESWHERE 1=1 AND table_name LIKE '%order%' AND table_comment like ...

  10. MySQL使用版本号实现乐观锁

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11608581.html 乐观锁适用于读多写少的应用场景  乐观锁Version图示 Project D ...