《2022年操作系统lab》由会员分享,可在线阅读,更多相关《2022年操作系统lab(9页珍藏版)》请在金锄头文库上搜索。
1、实验 7 linux/Windows 内存管理1实验目的:掌握 linux/Windows 系统内存管理命令的使用。2实验内容和实验步骤(实验情况请截图和说明)1、Linux 内存管理:(1)使用 free命令显示内存状态:输入 free:查看系统的物理内存和虚拟内存的使用情况,m112026tan $ free total used free shared buffers cached Mem: 515500 488284 27216 0 2868 109660 -/+ buffers/cache: 375756 139744 Swap: 1048568 129220 919348 m112
2、026tan $ 输入 free b s3 :以每 3 秒钟并以字节为单位来显示内存使用情况。m112026tan $ free -b -s3 total used free shared buffers cached Mem: 527872000 497954816 29917184 0 3137536 112312320 -/+ buffers/cache: 382504960 145367040 Swap: 1073733632 132321280 941412352 total used free shared buffers cached Mem: 527872000 4979548
3、16 29917184 0 3149824 112312320 -/+ buffers/cache: 382492672 145379328 Swap: 1073733632 132321280 941412352 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - total used free shared buffers cached Mem: 527872000 497954816 29917184 0 3158016 11
4、2312320 -/+ buffers/cache: 382484480 145387520 Swap: 1073733632 132321280 941412352 (2)swapon交换交换分区: Linux 系统的内存管理必须使用交换区来建立虚拟内存。swapon s:显示交换分区的使用状况。swapon s:显示交换分区的使用状况。linux-9u5h:/home/shawn # swapon -s Filename Type Size Used Priority /dev/sda1 partition 1541116 4260 -1 (3)用 sync将内存缓冲区内的数据写入磁盘说明
5、:在 Linux 系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的时候再写入磁盘,如此可提高系统的执行效率。执行: sync version linux-9u5h:/home/shawn # sync -version sync (coreutils) 8.16 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it.
6、 There is NO WARRANTY, to the extent permitted by law. Written by Jim Meyering. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 连续执行多个 sync. linux-9u5h:/home/shawn # sync linux-9u5h:/home/shawn # sync linux-9u5h:/home/shawn # sync linux-9u5
7、h:/home/shawn # sync linux-9u5h:/home/shawn # vmstat (4)使用 vmstat 命令查看进程、内存和CPU 的使用情况,并对当前的情况截图和说明。m112026tan $ vmstat procs -memory- -swap- -io- -system- -cpu- - r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 65000 7348 9164 111408 0 1 13 14 314 51 1 0 98 0 0 (5)分别增加(运行)若干进程和删除若干进程(用
8、kill 命令删除),再分别使用 free和 vmstat命令查看,观察并说明变化。(6)按如下步骤完成实验:使用键盘命令以字节为单位显示当前系统中的内存使用情况,特别是当前系统中的空闲内存大小;linux-9u5h:/home/shawn # free total used free shared buffers cached Mem: 1014756 850848 163908 0 44996 499088 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 -
9、- - - - - - - - -/+ buffers/cache: 306764 707992 Swap: 1541116 8112 1533004 编写一个程序向linux 系统申请两块大小为10 的内存,分别存放字符串“123456789”和“ 987654321” ,并输出字符串及存放地址,然后重新调整内存大小为 20,再次输出地址。# include # include #include #include int main() char *str1,*str2; if(str1=(char*)malloc(10)=NULL) printf(not enough memory to a
10、llocate bin);exit(1); if(str2=(char*)malloc(10)=NULL) printf(not enough memory to allocate bin);exit(1); strcpy(str1,123456789);strcpy(str2,987654321); printf(String1 i,%srAddress1 i%pr,str1,str2); printf(String1 i,%srAddress1 i%pr,str1,str2); if(str1=(char*)ralloc(str,20)=NULL) printf(not enough me
11、mory to allocate bin);exit(1); if(str2=(char*)ralloc(str,20)=NULL) printf(not enough memory to allocate bin);exit(1); printf(String1 i,%srAddress1 i%pr,str1,str2); printf(String1 i,%srAddress1 i%pr,str1,str2); 再次显示系统中的内存使用情况,看看前后系统中的空闲内存大小有无变化。linux-9u5h:/home/shawn # free 名师资料总结 - - -精品资料欢迎下载 - - -
12、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - total used free shared buffers cached Mem: 1014756 880984 133772 0 47328 517988 -/+ buffers/cache: 315668 699088 Swap: 1541116 8112 1533004 2、Windows 内存管理如果你的系统虚拟内存太低, 可以鼠标右击“我的电脑”选择“属性高级性能下设置高级打开虚拟内存设置”,可以重新设置最大值和最小值,
13、 按物理内存的 1.52 倍来添加数值, 也可以更改虚拟内存的存放位置,可以设置放到其他容量较大的硬盘分区,让系统虚拟内存有充分的空间,让系统运行更快。虚拟内存太低有三种解决办法:(1)自定义的虚拟内容的容量(系统默认是自动)太小,可以重新划分大小。(2)系统所在的盘(一般是C盘)空余的容量太小而运行的程序却很大,并且虚拟内存通常被默认创建在系统盘目录下,我们通常可以删除一些不用的程序,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - -
14、 - 并把文档图片以及下载的资料等有用文件移动到其他盘中,并清理“回收站” ,使系统盘保持 1GB 以上的空间,或者将虚拟内存定义到其他空余空间多的盘符下。(3)系统盘空余的容量并不小,但因为经常安装、下载软件,并反复删除造成文件碎片太多, 也是容易造成虚拟内存不足的原因之一,虚拟内存需要一片连续的空间,尽管磁盘空余容量大,但没有连续的空间,也无法建立虚拟内存区。可以用磁盘工具整理碎片。实验步骤:(1)在 windows XP 环境下按 Ctrl+Alt+Del 打开任务管理器问:你的系统的物理内存,核心内存和提交更改是多少?名师资料总结 - - -精品资料欢迎下载 - - - - - - -
15、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - (2)调整虚拟内存的大小,使之为物理内存的1.52 倍;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - (3)有哪些磁盘整理工具?利用磁盘整理工具整理磁盘碎片;(4)使系统盘保持 1GB 以上的空间, 或者将虚拟内存定义到其他空余空间更多的盘符下,观察机器运行程序是否更快些?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 机器明显运行变快!3实验报告要求包括:(1)实验过程和必要的注释。 (2)程序运行所得结果并作简要说明。(3)将实验报告上传到FTP SERVER上自己的作业目录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -