频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

8.8 虚拟内存系统实现的新特性

作者: Jim Mauro; Richard McDougall 出处:机械工业出版社华章公司  2007-10-26 13:56    砖    好    评论   进入论坛
阅读提示:《Solaris 内核结构》(第2版)第4章为Solaris内存介绍,本文介绍了虚拟内存系统实现的新特性。

8.8 虚拟内存系统实现的新特性

Solaris虚拟内存系统最初是从BSD UNIX衍生出来的。在此以后,在结构上最具意义的变化就是文件和虚拟内存的结合——提供了统一的缓存——以及把虚拟内存层次化成为模块——最大化了公共代码在多个平台上的共用。

在Solaris的发展中,很多建立在底层框架上的独特的特性被加入到虚拟内存系统里:

 文件系统缓存可测量性的提高。在历史上,由于文件系统读写所造成的分页压力,文件系统缓存会对应用程序的性能有很大影响。从Solaris 8开始,文件系统缓存被降低了优先级并且被循环使用,于是文件系统读写使用有效的空闲内存并且对自己分页。

新的映射机制最小化了在文件系统输入输出时存取页面的消耗。通过使用64位地址空间(在SPARC和x64体系上),内核生成了一个永久的、包含所有从物理页到地址空间(SEGKPM)的对应信息的映射,从而消除了对每一次输入输出进行映射的需要。

 使用大MMU页。按照摩尔定律,计算机系统所使用内存容量每18个月都会倍增。虚存大小也从最初设计时的1MB攀升到了今天的1TB。为了能够使性能相应提升,MMU支持了多种页面大小;并且所支持的最大的页面大小也随着物理内存容量的增加而增大。MMU在第一个SPARC处理器上的大小是4KB,而现在最大的是256MB。

如果可能的话,内核的代码段和数据段会被放在一个大的MMU页面里。从Solaris 2.6开始,某些类型的共享内存(例如Oracle和Sybase所使用的ISM)被尽可能地配置使用大页。可选择多种页面大小(MPSS)作为一个通用的框架在Solaris 9里被引入,从而允许应用程序选择使用不同大小的MMU页面。

 对NUMA(Non-Uniform Memory Access)架构的支持。现在有很多高端系统同时采用了不一致内存位置组。从定义上看,在一个对称多处理器(SMP)系统里的所有处理器需要共享访问系统的内存,于是当SMP系统发展到拥有很多的处理器时,内存系统就无法避免地产生了更高的内存延迟,而这种方式就是通过降低每个单个处理器的性能作为代价来提高整个系统的吞吐量。另一种选择就是内存系统把一部分“位置”比较“接近”的处理器和内存组织成群,以便在群内实现较快的内存存取速度,而同时实现相对慢速的跨群的内存存取。而这种方法就是NUMA的基础。

从Solaris 9开始,Solaris虚拟内存系统引入把优化内存布局(Memory Placement Optimization, MPO)和位置组(Locality Group,Lgroups)的概念——允许内核分配给处理器使用“位置”较近的内存来优化内存分配。应用程序能够把希望存在的内存和线程之间的联系告诉内核,而内核可以相应地优化调度和页面分配。
 动态重配置。增加了对在线添加或移除硬件组件(包括物理内存板)能力的支持。虚存系统也具有了通过自身优化来最大限度利用所有有效内存的能力。

内存可以被动态地添加,于是新的页面在被加入系统的空闲队列后就随时可以被其他应用程序使用。为了支持内存的动态移除,内核可以动态释放或者重新分配内存页——如果要被释放的页面正在有应用使用的话。内核页在有些时候是不能够被重新分配的,所以被限制在“内核保留区(Kernel Cage)”里分配,而内核保留区里的内存块至少有一块要保留在系统里。从Solaris 10开始,除了一个小组件,整个内核都被限制在内核保留区。

hook事件会把内存容量的改变提前通报给应用。这些由资源配置管理器提供的hook事件提供了一个脚本化的接口来通知相关的应用程序。在写本书的时候,Oracle 9就是这样一个应用。通过Oracle的动态SGA功能,可以配置Oracle使之根据系统内存容量变化自动增加或减少内存使用量。

  先进的内存分配器。这个特性已经被集成在内核中。从Solaris 2.4开始,内存分配器被替换成为“片分配器(Slab Allocator)”。这种新的分配器能够在最少产生碎片的情况下有效分配内存对象。专门对SMP所作的优化是通过在系统里各个处理器间重新使用缓存,尽量减少了跨处理器的内存共享带来的数据流量。从Solaris 8开始,内核也开始使用一个通用的资源分配器(vmem)。这个分配器可以管理分配任意一种由整数集描述的资源。它替换了老的资源映射分配器,同时作为片分配器的后端来管理内核虚拟内存。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
专题
Solaris基础知识入门
Linux/Solaris服务器的安全配置
Solaris 10 配置管理
Ajax+JSP网站开发从入门到精通
ASP.NET Ajax网站开发从入门到精通
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用