- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
free命令监控内存使用情况-Read.ppt
实验8 Linux的内存管理 ;一、实验目的;二、实验工具与设备;三、实验预备知识;1.实时监控内存使用情况
(1)在命令行用“free”命令监控内存使用情况
在提示符后输入命令free:#free
表8-1所示为输出情况。;; 表8-1中第二行输出(Mem:)显示物理内存:total列显示共有的可用内存(不显示核心使用的物理内存,通常大约1MB),used列显示被使用的内存总额,free列显示全部空闲的内存,shared列显示多个进程共享的内存总额,buffers列显示磁盘缓存的当前大小。
表8-1中第二行输出(Swap)显示交换空间的信息,与上一行类似。如果该行为全0,则没有使用交换空间。; 缺省状态下,free命令以千字节(即1024字节为单位)显示内存使用情况。若使用-h参数,则以字节为单位显示内存使用情况;若使用-m参数,则以兆字节为单位显示内存使用情况。
若命令带-s参数,则不间断地监视内存使用情况:#free -b -s5。
该命令在终端窗口中连续不断地报告内存的使用情况,每5秒钟更新一次。;(2)用vmstat命令监视虚拟内存使用情况
在提示符后面输入命令vmstat,显示表8-2所示信息。;procs; vmstat命令是一个通用监控程序,是Virtual Memory Statistics(虚拟内存统计)的缩写。如果vmstat命令没有带任何命令行参数,将得到一次性的报告。
vmstat命令报告主要的活动类型有进程(procs)、内存(以千字节为单位)、交换分区(以千字节为单位)、来自块设备(硬盘驱动器)的输入输出量、系统中断(每秒钟发生的次数),以及中央处理单元(CPU)分配给用户、系统和空闲时分别占用的比例。 ;2.虚拟内存实现的机制
由于人们需要的内存容量远远大于物理内存容量,因而有各种策略来解决这个问题,其中最成功的是虚拟内存技术。
Linux支持虚拟内存,即用磁盘作为RAM的扩展,相当于扩大了可用内存。运行于Linux的程序只看到大量的可用内存,而不关心哪些在磁盘上。读写硬盘比读写内存慢(大约为读写内存速度的千分之一),因而程序运行较慢。用于虚拟内存的硬盘空间称为交换空间。; Linux虚拟内存的实现需要6种机制的支持:地址映射机制、内存分配回收机制、缓存和刷新机制、请求页机制、交换机制和内存共享机制。 ; 内存管理程序通过映射机制把用户程序的逻辑地址映射到物理地址。当用户程序运行时,如果发现程序需要的虚地址没有对应的物理内存,即发出请求页要求。如果有空闲的内存可供分配,就请求分配内存(用到内存的分配和回收),并把正在使用的物理页记录在缓存中(用到缓存机制)。如果没有足够的内存可供分配,则调用交换机制,腾出一部分内存。另外,在地址映射中要通过TLB(翻译后援存储器)寻找物理页;交换机制中用到交换缓存,并且把物理页内容交换到交换文件中,也要修改页表来映射文件地址。Linux虚拟内存实现原理如图8-1所示。;图8-1 Linux虚拟内存实现原理 ; 一般建议虚拟内存容量应当按物理内存的两倍进行分配。如果物理内存有256MB或更多时,可以缩小虚拟内存。Linux将把大量的内存用于Cache,在资源紧张时收回。只要看到swap为0,或该数很小即可放心,内存放着不用才是最大的浪费。;3.内存泄漏和回收内存的方法
(1)内存泄漏的定义
通常所说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的、大小任意的(内存块的大小可以在程序运行期决定)、使用完后必须显示释放的内存。应用程序一般使用malloc、realloc、new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块。否则,这块内存不能被再次使用,这时就说这块内存泄漏了。;(2)内存泄漏的危害
从用户使用程序的角度来看,内存泄漏本身不会产生什么危害。作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终耗尽系统所有的内存。从这个角度来说,一次性内存泄漏没有什么危害,因为它不会堆积。隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏,它更难被检测到。存在内存泄漏问题的程序除了会占用更多的内存外,还会使程序的性能急剧下降。对于服务器而言,如果出现这种情况,即使系统不崩溃,也会严重影响使用。;(3)内存泄漏的检测和回收
编写指针比较多的复杂程序时,可能会遇到内存溢出之类的麻烦。在Linux或UNIX下,C和C++语言是最常使用的编程工具。但是,C++程序缺乏相应的手段来检测内存信息,只能用top指令观察进程的动态内存总额。而且程序退出时,无法获知任何内存泄漏信息。;4.使用Linux命令回收内存
可以用ps、kill两个命令检测内存使用情况和进行回
您可能关注的文档
- course软件工程第四章.ppt.ppt
- CST610无线数据收发器-仪器信息网.doc
- CTS测试指引一.测试环境搭建(PC侧)1.PC侧测试环境需要linux,可以.doc
- 2010年北京市新农村五项基础设施建设实施方案.doc
- CUDA的经典入门.doc
- 2010年我国原油进口量高达2.doc
- CZC7CZC7A系列自动充电机-上海施能电器设备有限公司.doc
- 2010年淄博市市属事业单位公开招聘人员取消和核减岗位表.doc
- C程序设计语言(第2版·新版)(09年度畅销榜TOP50)(08年度畅销榜.doc
- C语言编程要点---第1章C语言-Read.doc
- 2025安徽淮南市纪委监委面向市直机关选调12人备考题库附答案解析.docx
- 2025湖南岳阳市口岸事务中心选调1人行测备考题库附答案.docx
- 2025广东梅州市平远县选调县委组织部人员2人行测备考题库附答案.docx
- 2025教育部教育管理信息中心招聘2人(第二批)(非事业编制)备考题库附答案解析.docx
- 2025四川省经济和信息化厅所属事业单位选调工作人员22人行测备考题库附答案.docx
- 2025四川省市场监督管理局所属事业单位补充选调13人备考题库附答案解析.docx
- 宜宾市宜宾县2022-2023学年数学四年级第一学期期末质量检测模拟测试题(含解析).pdf
- 2025甘肃张掖市阳光人寿保险股份有限公司招聘12人笔试备考试题附答案解析.docx
- 2025广东南粤银行肇庆分行招聘备考题库附答案.docx
- 2026年洛阳汝阳县人力资源和社会保障局公开招聘乡村公益性岗位人员132名备考题库附答案解析.docx
最近下载
- 人教版(新目标)初中英语七年级上全册教案(135页)【全站免费】.doc VIP
- 巨人通力3001007电气原理图纸.清晰.pdf
- (高清版)DB4401∕T 286-2024 《既有住宅加装电梯技术规范》.pdf VIP
- 《煤矿安全规程(2025)》新旧条文对照.doc VIP
- 【国家标准】GBT 5447-2014 烟煤黏结指数测定方法.pdf
- 武汉理工2022年11月离散结构(新)在线考试网考复习资料.pdf VIP
- 现代中药制药.ppt VIP
- 高分子化学与物理基础(魏无际)教材习题解答(含考研模拟题及答案).docx VIP
- Goldwind金风风机GW 165-5.2 5.6 6说明书.pdf
- GB 55009-2021 燃气工程项目规范.pdf VIP
原创力文档


文档评论(0)