第5章 Linux存储器管理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章 Linux存储器管理
2.Vmstat vmstat是Virtual Meomory Statistics(虚拟内存统计)
语法:vmstat [-V] [-n] [delay [count]]
参数: -V表示打印出版本信息; -n表示在周期性循环输出时,输出的头部信息仅显 示一次; delay是两次输出之间的延迟时间;
第五章 Linux存储器管理
一个已初始化的交换空间必须使用命令 swapon 命令告诉内核这个交换空间可以被使用了。命令如
下:
#swapon /SwapFile 如果把相关信息写入 /etc/fstab 就能启动系统后自 动使用交换空间了。 #swapon -a
这个命令会把所有列在 fstab中的交换空间启动起 来。而
第五章 Linux存储器管理
5.2 Linux 系统采用三级页表
Linux页表分为3级结构: 页目录(Page Directory,PGD)
中间页目录(Page Middle Directory,PMD)
页表(Page Table,PT)。
PGD表项下标 PMD表项下标 PT下标 页内偏移量
PGD基地址 物理地址
第五章 Linux存储器管理
5. 3 内存页的分配与释放
当一个进程开始运行时,系统要为其分配一些内
存页;当进程结束运行时,要释放其所占用的内存页。 一般地,Linux系统采用位图和链表两种方法来管理内 存页。 位图可以记录内存单元的使用情况。它用一个二 进制位(bit) 记录一个内存页的使用情况:如果该内存 页是空闲的,则对应位是 1 ;如果该内存页已经分配 出去,则对应位是0。
第五章 Linux存储器管理
5. 6缺页中断
磁盘中的可执行文件映像一旦被映射到一个进 程的虚拟空间,它就开始执行。 当一个进程访问了一个还没有有效页表项的 虚拟地址时,处理器将产生缺页中断,通知操作 系统,并把缺页的虚拟地址(保存在CR2寄存器中)
和缺页时访问虚存的模式一并传给 Linux 的缺页中 断处理程序。
Linux 使用最少使用频率替换策略,页替换 算法在clock算法基础上作了改进,使用位被一个8 位的age变量所取代。
第五章 Linux存储器管理
5. 7 监控内存软件
内存是Linux内核所管理的最重要的资源之一。
监控内存软件分别有:free、Vmstat以及图形化 工具系统监视器,下面对其进行介绍。
第五章 Linux存储器管理
count 是指按照这个时间间隔统计的次数。监 控内存软件分别有: free、Vmstat 以及图形化工具 系统监视器,下面对其进行介绍。
第五章 Linux存储器管理
vmstat命令输出分成六个部分: (1)进程procs (2)内存memoy
(3) swap交换页面
第五章 Linux存储器管理
第五章 Linux存储器管理
5.1 Linux的虚拟内存管理 5.2 Linux 系统采用三级页表 5.3 内存页的分配与释放 5.4 内存交换
5.5 内存共享和保护
5.6 缺页中断
5.7 监控内存软件
第五章 Linux存储器管理
5.1 Linux存储器管理
Linux 操作系统采用虚拟内存管理机制管理存储
第五章 Linux存储器管理
一个交换文件是一个普通的文件,它的要求是 它不能有空洞,并且它是用mkswap来准备。 创建交换文件:
#dd if=/dev/zero of=/SwapFile bs=1024 count=2048
mkswap给交换空间初始化信息:
#mkswap /SwapFile 2048
享该页的各个进程的页表项直接指向共享页,这 种共享不需建立共享页表,节省内存空间,但效 率较低。 Linux 可以对虚存段中的任一部分加锁或保护。 对进程的虚拟地址空间实施保护操作,就是重新 设置vma段的访问权限,实质就是对vma段的 vm_flags 重置 PROT_READ 、 PROT_WRITE 和 PROT_EXEC参数,并重新设定vm_page_prot属性。
#swapoff 这个命令则会把swapon -a启动的交换空间移走。
参数: -V表示打印出版本信息; -n表示在周期性循环输出时,输出的头部信息仅显 示一次; delay是两次输出之间的延迟时间;
第五章 Linux存储器管理
百度文库
4.虚拟内存管理 虚拟内存是指使用磁盘当作物理内存的扩展,这样可
用的内存的大小就相应增大了。内核会将暂时不用 的内存块的内容写到磁盘上,然后就可以把这块内 存用于其它目的。 Linux能够使用文件系统中的一个常规文件或一个独 立的分区作为交换空间。
第五章 Linux存储器管理
1.free 语法: free [-bkmotV] [-s ] 参数: -b 以Byte为单位显示内存使用情况; -k 以KB为单位显示内存使用情况; -m 以MB为单位显示内存使用情况; -o 不显示缓冲区调节列; -s 持续观察内存使用状况; -t 显示内存总和列; -V 显示版本信息。
资源为多进程提供有效共享。Linux 操作系统使用交 换和请求分页存储管理技术实现虚拟内存管理。 这种策略使进程的虚拟地址空间映射到机器的物 理空间时具有更大的灵活性,通常允许进程的大小可 大于可用内存的总量,允许更多进程同时在内存中执 行。
第五章 Linux存储器管理
5.1 linux的虚拟内存管理
第五章 Linux存储器管理
5. 4内存交换
当系统出现内存不足时,Linux 内存管理子系统就
要释放一些内存页,从而增加系统中空闲内存页的数 量。
在系统启动时,这一守护进程由内核的 INIT 进程 启动,按核心交换时钟开始或终止工作。每到一个时 钟周期结束,kswapd便查看系统中的空页内存块数, 通过变量free_pages_high和free_pages_low来决定是否 需要释放一些页面。
(4) io块设备
(5)system系统
(6)cpu中央处理器
第五章 Linux存储器管理
3.Memprof
系统监视器中有内存和交换的情况,如图 5.4 所示。
第五章 Linux存储器管理
Vmstat vmstat是Virtual Meomory Statistics(虚拟内存统计)
语法:vmstat [-V] [-n] [delay [count]]
第五章 Linux存储器管理
5. 4内存交换(续)
使用下列3种方法减少系统中正在使用的物理页面。
(1)减少缓冲区和页面cache的大小。
(2)换出SYSTEMV的共享内存页。
(3)换出或丢弃内存页面。
第五章 Linux存储器管理
5. 5 内存共享和保护
Linux中内存共享是以页共享的方式实现的,共
Linux 的虚拟内存管理功能:
(1)地址空间扩充。
(2)进程保护。
(3)内存映射。
(4)物理内存分配。
第五章 Linux存储器管理
5.2 Linux 系统采用三级页表
所有进程从3~4GB的虚拟内存地址都是一样的,
有相同的页目录项和页表,对应到同样的物理内存段, Linux 以此方式让内核态进程共享代码段和数据段。 Linux采用请求页式技术管理虚拟内存。
相关文档
最新文档