问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用 Editbin 调整 SQL Server 线程的堆栈大小

发布网友 发布时间:2022-04-08 03:08

我来回答

1个回答

热心网友 时间:2022-04-08 04:37

Microsoft 的二进制文件编辑器 (Editbin.exe) 可用于调整 SQL Server 大内存配置允许在具有 2 GB 或更多的物理 RAM 的计算机上的 SQL Server 线程的堆栈大小。

一个 32 位操作系统为 Windows NT 可以解决最大为 4 GB 的虚拟内存。Windows NT 可将此虚拟地址范围划分为 2 GB 用于用户进程和系统的另一个 2 GB。因此,SQL Server 可以解决最大 2 GB 的虚拟内存 (或物理内存),如果 2 GB 或更大系统上存在。

如果您正试图最大化的 2 GB 或更多的物理内存的系统上分配给 SQL Server 内存数量,您可能会发现您将不能将按照您预期的那样为高 SQLServer 内存参数设置。例如对于设置 900,000 页 (大约 1.8 GB) 的参数可能会导致下面的任一 SQL Server 的内存:

· 启动服务器时出现错误:initdata: 对缓冲区页的子分配失败 (x 所请求的字节为单位)。

-或者-

· 试图将用户连接时出现错误: 没有足够的内存用于 pss 分配。

这两个错误写入Windows NT 事件日志和 $ SQL Server 错误日志。

在最初的分析上似乎合理您应该能够将 1.8 GB 分配给 SQL Server 并将 Windows NT 系统的其余部分。但是,默认,SQL Server 由创建的每个线程由 Windows NT 指派 1 MB 的虚拟堆栈空间,这不占 SQL Server 内存配置参数值中的虚拟内存。如果 SQL Server 被配置为使用多个几百个辅助线程,大量的虚拟内存可以专用于线程的堆栈空间并且因此不能用于服务器启动时或在必要时用户连接的动态内存分配。例如对于 200 工作线程将占用大约 200 MB 的虚拟内存的单独的堆栈空间。实际,SQL
Server 线程是永远不会使用保留的虚拟内存地址的大容量。但是,WindowsNT 它们时默认情况下分配 SQL Server 创建线程。

在情况下其中有 2 GB 或更多的物理内存在的系统上,您正试图为 SQL Server (以及 SQL Server 数据高速缓存的) 尽可能使用尽可能多的内存就可以减少默认线程虚拟堆栈大小要有效地使用这些内存地址。在中增加分配给 SQL Server,(通过增加 SQL Server 内存配置参数,或通过只能够将多个用户连接不内存不足的情况下) 的内存数量,可以看到降低堆栈大小的效果。

若要修改 SQL Server 线程堆栈大小,您必须使用 Microsoft Visual c + + 开发环境中包含Microsoft 二进制文件编辑器 (Editbin.exe)。从 Windows NT 的命令提示符处运行的 Editbin 实用程序用于修改对象文件、 可执行文件的文件和动态链接库 (dll)。Editbin 实用程序的详细信息,请参阅 Microsoft Visual c + + 文档。

若要减小专用于 SQL Server 所使用的每个 Windows NT 线程虚拟地址范围,运行以下命令:

EDITBIN /STACK:reservesqlservr.exe

此选项设置堆栈的大小以字节为单位),保留参数中的每个线程的虚拟内存指定总堆栈分配的位置。Editbin舍入到最接近的 4 个字节指定的值。 请注意可选提交参数时,不需要调整的 SQL Server 的线程的堆栈大小。例如对于要为 SQL Server 的线程的堆栈大小设置成 64k,可使用以下命令在该 Mssql\Binn 目录:

EDITBIN /STACK:65536sqlservr.exe

请务必考虑对 Sqlservr.exe 运行此命令之前采取以下几点:

· 除非您的系统具有 2GB 或更多的物理内存,请不要运行此命令。

· 运行此命令之前,您应该进行Sqlservr.exe 文件的备份副本。

· 您应该全面测试您的应用程序和 SQLServer 与它交互,观察到生产环境中 Sqlservr.exe 在更改之前的任何的性能差异。

请记住,线程的堆栈空间量取决于应用程序中。如果您指定一个太低,为您的应用程序的堆栈大小,SQL Server 将报告堆栈溢出错误。 遗憾的是,没有估计所需的堆栈空间的简便方法。因此,建议不 16k 下面设置的堆栈空间。测试表明该金额应适合大多数应用程序。

若要检查当前线程堆栈大小,使用可以 Dumpbin.exe 实用程序 (包括 Microsoft Visual c + + 中) 看一看"的堆栈保留大小"值。

下面的命令 (在Windows NT 命令提示符下运行) 提供了一个示例:

DUMPBIN /headerssqlservr.exe

此命令显示了可选 HEADER VALUES 标题下的"大小的堆栈保留"为 Sqlservr.exe 6.5 服务Pack1 (英特尔) 的以下:

堆栈保留的100000 大小

值显示以十六进制格式 (100,000= 1,048,576 字节,或 1 MB)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华丽转身为什么在优酷看不了了之 《华丽转身:爱情不在服务区》txt全集下载 翡翠台华丽转身英文曲 matplotlib中plt.imshow函数画图出现的颜色问题 数字图像处理(c++ opencv):形态学图像处理-提取连通域 ...opencv做东西,网上的程序读着还可以,程序遇到问题不会改,一些函_百... 深度学习面试问题总结 | 传统图像处理——OpenCV 活虾如何在晚上保持存活状态进行保存? neu代表什么意思 民办学校和私立学校的区别是什么民办学校和私立学校的区别 SANC显示屏屏幕闪烁了几次然后屏幕左右两边就变得很暗 sanc m2089a显示屏通电就不停闪烁怎么回事 “正如万山圈子里,一山还有一山拦”包含的哲理是什么? 一山还有一山高 猜谜 一山还有一山高什么意思? 一山还有一山高是什么意思 "春天五人去爬山,爬了一山又一山" 为什么谜底是"日出" 翻过一山又一山,走过一弯又一弯,我问人来人问我!何时无山何无弯,猜一个成语。急急急_百度问一问 一山还有一山高的下一句接什么句子 一山又一山,闯王把马牵,现在王不在,嘉字力不全(四字) 一月复一月,两月共半边。一山又一山。山山又倒悬。上有可耕之田,下有长流之川。六口共一室,两口不团圆. 一艘船翻过了一山又一山,打一成语 一月又一月,两月共半边.一山又一山,三山皆倒悬.上有可耕之田,下有长流之川.六口共一室,两口不团圆.打一字 “一山还有一山高”什么意思? 某常规项目 i= 12% 净现值 为 860万 I = 18% 时 净现值 -600万 基准收益率10% 则该项目的财务内部收益率? 请问 走一山又一山 山山不断 过一岭又一岭啊 岭岭千层。这几句歌词 在二人转里 叫什么名字 牛蛙的来历 一山又一山,楼外的,青山是什么歌的歌词 找一首电视剧歌曲,其中有句歌词:一山又一山,遮断远山,一草又一草,青了又黄。 一山又一山,闯字马上天,木字不出头,街字没中间,猜四个字,猜猜看是哪四个字? 学习python的好处 学python的好处 高中物理必修一王后雄目录 王后雄《教材完全解读》价格 求 王后雄教材完全解读 物理必修一的全书知识结构图解(名师点津)部分的截图或扫描版或其他形式 教材完全解读 数学必修一116 117页的答案 人教版A 还有往后所 王后雄教材完全解读高中教材都有同步的吗? 2020年有没有什么屏幕宽一点的手机,感觉现在主流手机屏幕都很长? 宽屏手机推荐一下可用来看电子书的,要求待机时间长!! 简历模版用word打开后显示不全而且特别乱 如何配置最大工作线程数 word简历打开不完整,但是转化成pdf格式又是完好的 在word做简历打印时表格显示不出来是怎么回事 靰鞡草是什么啊 乌拉草是什么? 乌拉草的草读什么音 乌拉草的味道好不好闻? 靰鞡草的鞡怎么读 兀拉草是什么? 爽口好吃的脆爆鸭肠,制作步骤分为哪几步呢?