Linux内存简单汇总
Linux内存主要用来存储系统和应用程序的指令,数据,缓存等 一,内存映射 1,内核给每个进程提供一个独立的虚拟机地址空间,并且这个地址空间是连续的 2,虚拟地址空间内部又被分为内核空间和用户空间 3,32位和64位系统的虚拟地址空间 32 位系统的内核空间占用 1G,位于最高处,剩下的 3G 是用户空间。而 64 位系统的内核空间和用户空间都是 128T,分别占据整个内存空间的最高和最低处,剩下的中间部分是未定义的 4,进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存 5,只有实际使用的虚拟内存才会被分配物理内存,通过内存映射来管理 6, 内存映射 ,就是将虚拟内存地址映射到物理内存地址。为了完成内存映射,内核为每个进程都维护了一张 表,记录虚拟地址与物理地址的映射关系 7, 页表 存储在内存管理单元 [MMU]( https://blog.csdn.net/u010442934/article/details/79900449 ) 中 8,进程访问虚拟地址在页表中查不到时,系统会产生一个 缺页异常 9,TLB(Translation Lookaside Buffer,转译后备缓冲器)会影响 CPU 的内存访问性能 ,TLB是MMU中页表的高速缓存,。于进程的虚拟地址空间是独立的,而 TLB 的访问速度又比 MMU 快得多,所以