SQL Server 2000内存管理内幕
2007-05-19 09:40:34 来源:WEB开发网这个4GB的地址空间被分成两部分:user mode部分和kernal mode部分。默认情况下,每个部分的大小为2GB,在Windows NT系列的操作系统上,可以通过BOOT.INI中的开关来改变这个默认设置(Windows NT, Windows 2000, Windows XP和Windows Server 2003属于Windows NT系列,Windows 9x和Windows ME不属于)。
图1:Windows将进程的虚拟地址空间分成user mode(应用程序)和kernal mode(操作系统)两个部分
每个应用程序拥有自己的虚拟内存地址空间,但操作系统和设备驱动程序共享同一个私有地址空间。每一个虚拟内存页(memory page)都和特定的处理器模式(processor mode)相关联,为了存取某个虚拟内存页,处理器必须工作在要求的模式下。这意味着应用程序不能直接存取kernal mode的虚拟内存,系统必须切换到kernal mode才能存取kernal mode的内存空间。
Application Memory Tuning
3GB启动选项(Windows 2000的Advanced Server和DataCenter及后续Windows版本中可用)允许改变这两个地址空间部分的默认大小。它允许将进程的user mode地址空间从2GB扩展到3GB,相应的代价是kernal mode的地址空间从2GB减小到1GB。用Windows的说法,这个功能叫做Application Memory Tuning或者是4GB Tuning(4GT)。你可以通过在BOOT.INI文件的[Operating Systems]部分添加/3GB开关启用应用Application Memory Tuning。通常情况下,人们通过设置BOOT.INI文件的[Operating Systems]部分,将系统配置为可以使用3GB或者不使用3GB启动,以使在系统启动时可以进行选择。
警告:你也可以在Windows 2000 Professional和Windows 2000 Server上使用/3GB开关,这样做的负面结果是,将kernal mode的空间减小到了1GB,但并不会增加user mode的空间。换句话说,你减小了kernal mode的空间但并没有获得任何好处。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接