数据库服务器虚拟内存设置

问题场景

今天收到一台数据库服务器的磁盘空间告警邮件,如下所示,C盘总共60G,只剩下3.13G大小空间,Free Rate 为5.22%。


为msdb、tempdb等系统数据库都不在系统盘(C盘),对于突然出现的系统盘磁盘空间不足,感觉有点奇怪,想了解一下到底是什么原因导致这种情况出
现。于是用TreeSize 工具扫描了一下C盘,除了目录C:\Program Files\Microsoft SQL
Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log下将近600M的错误日志文件,罪魁祸首居然是虚拟内存页面文件pagefile.sys,居然有36G大小,而整个系统盘只分配了60G大小的空间。如下图所示:

其实,关于虚拟内存页面文件的设置,公司的文档是有明确规定的:

When a SQL Server is configured correctly, it doesn’t use the page file for memory. In theory, we don’t need a page file at

all. Properly configure the Page File settings

    a. Ensure the sum of all page files is equal to the amount of memory in server.

    b. Do not let the system manager your page file.

    c. Ensure the Initial Size and Maximum Size have the same settings.

只是我一直忽略了这个,不大关心服务器的虚拟内存配置,因为公司DBA与系统管理员是职责分明的,只是突然发现这台服务器设置有些异常,原因在于这台服务器RAM 为32G,但是关于虚拟内存的配置是自动管理驱动器的分页文件大小。如下所示

可以看到虚拟内存页面文件pagefile.sys
全部位于C盘,让系统自动管理其大小,所以才会出现pagefile.sys增长到36G大小,同事给予的建议是将虚拟内存设置为32G,C、D、E、F
四个盘设置4个虚拟内存页面文件,每个文件初始大小为8G,最大大小也为8G。这样可以达到最佳优化配置。

网上关于虚拟内存的优化方法,其实是上面关于虚拟内存配置的详细解释:

1、分割存于多个硬盘

将虚拟内存设在较快的硬盘上,的确可使虚拟内存的运作更有效率。但是若电脑上两个硬盘速度一样快,则应将虚拟内存平均分配在两个不同的硬盘上(并非同一硬盘的不同分区)。因为同步进行读写操作会更有效地提高系统整体的虚拟内存性能。例如,我将上面位于C盘的32G大小的虚拟内存文件,分为4份,每份8G大小置于C、D、E、F四个盘。理论上这样做会加快虚拟内存整体的读写操作.但是我没有一个好的测试案例来验证结果。

2、硬盘需有足够空间

如果你不是很有经验的电脑用户,又或者没有特殊的使用要求,在Windows XP中选择“系统管理的大小”的方法来自动处理虚拟内存,一般情况下应该会比选择“自定义大小”的方法来得安全和稳定。不过,有一点大家必须注意,由于虚拟内存的“页面文件”(pagefile.sys)会随着电脑使用过程进行收缩和扩展,为使系统管理虚拟内存能够进行得顺利和更具弹性,必须保证分页文件所在的硬盘拥有足够的可用空间。

3、最小值等于最大值

选择“自定义大小”的方法来处理虚拟内存,并将最大值和最小值都设为同一数值。有很多人都相信用这种方法来处理虚拟内存有助于提高系统的性能。他们所持的理由是,当最大值和最小值都相等时,系统无需时刻进行收缩和扩展页面文件的动作。省去了这些工作,相应地就是提高系统效率。

这种方法,很多人坚信有效,但同样地,也有人指出其实并没有效果。但不管怎样也好,如要将最大值和最小值设为相等,必须坚守一个原则,那就是虚拟内存的大小必须足够,否则系统轻则会出现效率下降(要进行更多复写动作来腾出空间),严重的更会造成系统不稳定。

时间: 2024-08-02 23:02:24

数据库服务器虚拟内存设置的相关文章

win2003服务器安全设置教程图文(系统+数据库)

这篇文章简单介绍了win2003的安全设置方法,但一些更安全与深入的设置,还需要参考脚本之家以前发布的文章   服务器安全设置 1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限. 2.系统盘和站点放置盘除administrators 和system的用户权限全部去除. 3.启用windows自带防火墙,只保留有用的端口,比如远程和Web.Ftp(3389.80.21)等等,有邮件服务器的还要打开25和130端口. 4.安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名

win2003服务器安全设置教程图文(系统+数据库)_win服务器

服务器安全设置 1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限. 2.系统盘和站点放置盘除administrators 和system的用户权限全部去除. 3.启用windows自带防火墙,只保留有用的端口,比如远程和Web.Ftp(3389.80.21)等等,有邮件服务器的还要打开25和130端口. 4.安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名或者删除. 5.更改sa密码为你都不知道的超长密码,在任何情况下都不要用sa这个帐户. 6.改名系统默认帐户名并

浅谈优化SQLServer数据库服务器内存配置的策略

server|sqlserver|策略|服务器|数据|数据库|优化 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好.操作简便,计算.分析.检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集.按照不同要求生成统计报表,进行全面业务活动分析提供了强有力的保障.但在这套程序的推广.维护中笔者发现系统有时运行速度较

win2003 服务器 安全设置 技术实例(比较安全的方法)_win服务器

1.服务器安全设置之--硬盘权限篇 这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等.本实例经过多次试验,安全性能很好,服务器基本没有被木马威胁的担忧了. 硬盘或文件夹: C:\ D:\ E:\ F:\ 类推 主要权限部分: 其他权限部分: Administrators 完全控制 无如果安装了其他运行环境,比如PHP等,则根据PHP的环境功能要求来设置硬盘权限,一般是安装目录加上users读取运行权限就足够了,比如c:\php的话,就在根目录权限

远程连接阿里云SqlServer 2012 数据库服务器的图文教程

前言: 在使用 阿里云 上的一些产品时,遇到不少坑. 安装IIS 时,遇到因买的配置过低,虚拟内存不足,而导致 IIS 总是安装失败: 现在 在上面安装了个 Sql Sever 2012,远程老是 不能连接,百度找半天,终于能够连接上了. 实现步骤如下: 1. 找到 安全组配置,打开 安全组配置,点击配置规则,增加 地址段访问的 授权规则,Sql Server的默认端口时 1433 . 2. 服务器上 win + R  键入  compmgmt.msc ,打开 计算机管理,按照如图所示 设置.注

如何用c# 连接字符串数据库服务器端口

正常的数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下. <add key="Article" value="server=.;uid=Admin;pwd=admin;database=db;"></add> 但是有时候,为了数据库服务器安全,这个端口会被改成其它的,这时再连接数据库可能报出以下错误: 在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允

Windows 服务器安全设置攻略

window|安全|服务器|攻略 前言 其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事. 本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点. 基本的服务器安全设置 安装补丁安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新. 安装杀毒软件虽

Oracle 9i数据库服务器的体系结构

2.4.1 进程结构    Oracle 9i网络环境里共有两大类进程.    1. 用户进程    用户进程是在客户机内存上运行的程序,如客户机上运行的[SQL Plus].[企业管理器]等.用户进程向服务器进程提出操作请求.    2. 服务器进程    主要的服务器进程如表2.5所示.表2.5 Oracle 9i的主要后台支持进程 名称 主要作用 系统监控进程(SMON) 数据库系统启动时执行恢复性工作,对有故障数据库进行恢复 进程监控进程(PMON) 用于恢复失败的用户进程 数据库写入进

安装Oracle 9i数据库服务器

  本章介绍Oracle 9i网络中两种主要的成分--数据库服务器和管理客户机的安装和配置过程.本章目的在于帮助读者掌握如何安装Oracle 9i以及如何配置Oracle 9i网络环境.    本书采用Windows 2000 Server作为安装的网络操作系统平台,数据库服务器采用Oracle 9i Database for Windows 2000的企业版.2.1.1 安装的硬件环境需求    下列从5个主要的方面阐述Oracle 9i对硬件环境的要求.    1. 对CPU的要求    C