为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

物理内存和虚拟内存

2017-09-27 4页 doc 16KB 17阅读

用户头像

is_731942

暂无简介

举报
物理内存和虚拟内存物理内存和虚拟内存 1、每个进程都有4GB的虚拟地址空间 这4GB分3部分 (1)一部分映射物理内存 (2)一部分映射硬盘上的交换文件 (3)一部分什么也不做 程序中都是使用4GB的虚拟地址,访问物理内存需要使用物理地址,物理地址是放在寻址总线上的地址,以字节(8位)为单位。 2、CPU中有一个分页表示位,如果该位被设置,在执行关于内存操作时,CPU会根据页目录以及页表中的信息来把虚拟地址换成物理地址。 3、物理内存分页:一个物理内存大小为4K字节 起始地址为0X 00000000因为一个页为4K所以转化成1...
物理内存和虚拟内存
物理内存和虚拟内存 1、每个进程都有4GB的虚拟地址空间 这4GB分3部分 (1)一部分映射物理内存 (2)一部分映射硬盘上的交换文件 (3)一部分什么也不做 程序中都是使用4GB的虚拟地址,访问物理内存需要使用物理地址,物理地址是放在寻址总线上的地址,以字节(8位)为单位。 2、CPU中有一个分页表示位,如果该位被设置,在执行关于内存操作时,CPU会根据页目录以及页表中的信息来把虚拟地址换成物理地址。 3、物理内存分页:一个物理内存大小为4K字节 起始地址为0X 00000000因为一个页为4K所以转化成16进制就是0X 00010000所以只需要32BIT中的高20位来寻址物理页。 4、页表一个页表为4K字节,放在一个物理页中。右1024个4字节页表项组成,页表项的大小为4字节。所以一个页表中有1024个页表项。 该页表项的32BIT中高20位放一个物理页的物理地址,低12位放一些标志 5、页目录:一个页目录和页表类似,大小也是4K,放在一个物理页中,每个4字节由1024个页目录组成。 该页目录的32BIT中高20位放置一个页表地址,低12位为一些标志 在X86系统中,页目录的物理地址放在CPU的CR3寄存器中 6、虚拟地址转换成物理地址: 一个虚拟地址大小为4字节,其中包含找到物理地址的信息 虚拟地址分3部分 -22位(10位)是页目录中的索引 (1)31 (2)21-12位(10位)是页表中的索引 (2)11-0位(12位)是页内偏移 转换过程: 首先通过CR3找到页目录所在物理页-》根据虚拟地址中的31-22找到该页目录项-》通过该页目录项找到该虚拟地址对应的页表地址-》根据虚拟地址21-12找到物理页的物理地址-》更具虚拟地址的11-0位作为偏移加上该物理页的地址就找到了该虚拟地址对应的物理地址 7、 一个页目录是1024项虚拟地址的高31-22正好是1024(20的10次方) 一个页表是1024项虚拟地址的中间21-12正好是1024 一个物理页是4KB 11-0正好是4096,正好可以找到每个字节 一个32BIT的4字节的指针能够找到所有的4GB空间。 4G地址的低2G 0X 00000000-0X7FFFFFFF是用户地址 4G地址的高2G 0X 80000000-0XFFFFFFFF是系统空间 Hp-UNIX下vmstat释疑 #vmstat 55 procs memory page faults cpu rb wavm free re at pi po fr de sr in sy cs us sy id 20 052260 24324 94 00 00 1109 427 81 21 97 20 052260 24285 00 00 00 0110 207 90 00 99 10 056211 24285 00 00 00 0106 192 80 00 100 10 056211 24285 00 00 00 0107 152 76 00 100 20 056552 24285 00 00 00 0106 154 72 00 100 结果 procs r列表示在运行队列中等待的进程数。 b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。 w列表示可以进入运行队列但被交换出来的进程。 正常 cpu表示cpu的使用状态 us列显示了用户方式下所花费CPU时间的百分比。一个UNIX进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。 sy列详述了CPU在系统方式下执行一个进程所花时间的百分比。这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的CPU资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。 id列显示了没有未决本地磁盘I/O时CPU空闲或等待的时间百分比。 [us]+[sy]正常 fault显示采集间隔内发生的中断数 in列表示在某一时间间隔中观测到的每秒设备中断数。iostat命令输出更有参考意义。 sy列表示在某一时间间隔中观测到的每秒系统调用次数。通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。 cs列表示,如当cs比磁盘I/O和网络信息包速率高得多,都应进行进一步调查。 [sy]正常 memory avm当前激活的虚拟内存数量(k表示)。 free当前的空闲页面列表中内存数量(k表示) [free]正常 page re列表示回收的页面数。 at列表示地址翻译错误计数。 pi列表示进入页面数(k表示)。 po列表示出页面数(k表示)。 fr列表示空余的页面数(k表示)。 de列表示提前读入的页面中的未命中数。 sr列表示通过时钟算法扫描的页面计数 [po]正常 [fr:sr]正常 Hp-unix下iostat释疑 #iostat 55 device bps sps msps c0t6d0 00.0 1.0 c0t6d0 21.0 1.0 c0t6d0 20.8 1.0 c0t6d0 42.0 1.0 c0t6d0 21.0 1.0 分析结果 缓冲区性能分析 device:iostat统计的设备名称。 bps:每秒该设备传输的K字节数。 sps:每秒检索该设备次数。 msps:平均每次检索所花费的时间,单位毫秒。 [bps]正常
/
本文档为【物理内存和虚拟内存】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索