博客
关于我
SQL Server 内存和换页(Paging)
阅读量:443 次
发布时间:2019-03-06

本文共 1106 字,大约阅读时间需要 3 分钟。

虚拟内存管理与SQL Server内存性能优化

在操作系统中,进程通过申请虚拟地址空间(VAS)来获取内存资源。VAS并非真实的物理内存空间,而是由操作系统将其映射到物理内存空间的过程。这种映射机制允许进程存储其上下文信息并继续执行,尽管VAS可能远大于实际物理内存容量。

物理地址空间(PAS)是进程执行所依赖的实际内存空间。操作系统通过将VAS与PAS建立映射关系,为进程分配所需的物理内存。VAS中的数据不一定全部驻留在物理内存中,操作系统会根据使用情况将数据存储在Paging File中。

虚拟内存管理器(VMM)负责监控和管理每个进程的VAS,确保物理内存资源的有效分配。需要注意的是,物理内存并非一次性分配给进程,而是按需分配和回收,以优化内存利用率。

Working Set(工作集)是指进程在运行时占用的物理内存页面集合。为了提高内存利用效率,系统不会一次性为进程分配所有所需物理内存,而是按需分配。页面错误(Page Fault)是进程访问VAS时,由于物理内存不足而需要从Paging File读取数据的过程。

分两步申请内存资源——先保留(VAS),再承诺(Committed Memory),可以有效减少初始内存占用。Committed Memory是指将VAS的一部分地址空间正式映射到物理内存中,这样应用程序才能真正使用这些物理内存空间。

Workset是Committed Memory的一部分,表示进程正在使用的物理内存页面集合。页面错误可分为硬页面错误(Hard Page Fault)和软页面错误(Soft Page Fault)。硬页面错误意味着需要从Paging File读取数据并驻留在物理内存中,通常伴随磁盘IO操作,对性能影响较大;而软页面错误仅需将物理内存页面重新定向到Workset中,对性能影响较小。

对于SQL Server系统,物理内存的充足使用至关重要。频繁的硬页面错误会导致磁盘IO增多,影响系统性能。在内存资源紧张的情况下,系统会频繁进行Paging操作,这些操作通常运行在核心态,占用较多CPU资源。

要优化SQL Server的内存性能,需要监控Committed Memory、Available Memory以及硬页面错误率。Committed Memory接近最大内存容量时,可能提示系统资源紧张。Page File的使用情况也需关注,特别是其占用率高可能表明内存不足,数据频繁被交换至磁盘。

通过合理的内存管理策略,确保数据库运行在充足的物理内存环境中,可以有效减少硬页面错误,降低磁盘IO负担,从而提升SQL Server的整体性能。

转载地址:http://dtxyz.baihongyu.com/

你可能感兴趣的文章
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node.js 函数是什么样的?
查看>>
Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
查看>>
node.js 怎么新建一个站点端口
查看>>
Node.js 文件系统的各种用法和常见场景
查看>>
node.js 配置首页打开页面
查看>>