为什么服务器增加了内存,结果用不起来!

先行者79 2005-01-01 03:25:36
原来服务器内存有2G的,现在增加到3G,目前sp_configure的配置如下:
affinity mask -2147483648 2147483647 0 0
allow updates 0 1 0 0
awe enabled 0 1 0 0
c2 audit mode 0 1 0 0
cost threshold for parallelism 0 32767 5 5
Cross DB Ownership Chaining 0 1 0 0
cursor threshold -1 2147483647 -1 -1
default full-text language 0 2147483647 2052 2052
default language 0 9999 30 30
fill factor (%) 0 100 0 0
index create memory (KB) 704 2147483647 0 0
lightweight pooling 0 1 0 0
locks 5000 2147483647 0 0
max degree of parallelism 0 32 0 0
max server memory (MB) 4 2147483647 2867 2867
max text repl size (B) 0 2147483647 65536 65536
max worker threads 32 32767 255 255
media retention 0 365 0 0
min memory per query (KB) 512 2147483647 10240 10240
min server memory (MB) 0 2147483647 2867 2867
nested triggers 0 1 1 1
network packet size (B) 512 65536 4096 4096
open objects 0 2147483647 0 0
priority boost 0 1 1 1
query governor cost limit 0 2147483647 0 0
query wait (s) -1 2147483647 -1 -1
recovery interval (min) 0 32767 0 0
remote access 0 1 1 1
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 600 600
scan for startup procs 0 1 0 0
set working set size 0 1 1 1
show advanced options 0 1 1 1
two digit year cutoff 1753 9999 2049 2049
user connections 0 32767 0 0
user options 0 32767 64 64
由于以前由数据库自动分配内存,内存始终用不起来,我就强制设置为使用固定内存,可是在服务器上任务管理器那里显示,还是没有用起来(内存占用还是以前2G的时候的情况-sql server占用1.8g;现在内存加到3G以后,内存使用还是1.8G,明显不正常)。但是数据库查询里面运行sp_configure得到的结果又是对的。
有人知道为什么嘛?谢谢
...全文
359 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
先行者79 2005-01-01
  • 打赏
  • 举报
回复
谢谢谢谢
NinGoo 2005-01-01
  • 打赏
  • 举报
回复
使用 Windows 2000 上的 AWE 内存
Microsoft® SQL Server™ 2000 企业版使用 Microsoft Windows® 2000 地址窗口扩展 (AWE) API 支持超大量的地址空间。SQL Server 2000 企业版在 Windows 2000 Advanced Server 上可访问大约 8 GB 内存,在 Windows 2000 Data Center 上可访问大约 64 GB 的内存。

标准 32 位地址最多可映射 4 GB 的内存。因此 32 位 Microsoft Windows NT® 4.0 和 Windows 2000 进程的标准地址空间限制到 4 GB。默认情况下,为操作系统留出 2 GB 的地址空间,且有 2 GB 可供应用程序使用。如果在 Windows NT 企业版或 Windows 2000 Advanced Server 的 Boot.ini 文件中指定 /3GB 开关,则操作系统只保留 1 GB 的地址空间,且应用程序最多可得到 3 GB 的地址空间。有关 /3GB 开关的更多信息,请参见 Windows NT 企业版或 Windows 2000 Advanced Server 帮助。

AWE 是 Microsoft Win32® API 的内存管理功能的一组扩展,它允许应用程序寻到多于 4 GB 的内存,而通过标准 32 位寻址可获得的内存为 4 GB。AWE 允许应用程序获取物理内存并作为非换页内存,然后将非换页内存的视图动态映射到 32 位地址空间。虽然 32 位地址空间限制为 4 GB,但是非换页内存却可以远远大于 4 GB。这使大量占用内存的应用程序(如大型数据库系统)可以寻到比 32 位地址空间中支持的更多的内存。有关 AWE 的更多信息,请参见 Microsoft Web 站点上的 MSDN® 页。

启用 AWE 内存
必须通过 SQL Server 2000 企业版实例,使用 sp_configure 选项 awe enabled 专门启用 AWE 内存。

当 awe enabled 设置为 0 时,不使用 AWE 内存,实例默认为使用标准 32 位虚拟地址空间中的动态内存。


当 awe enabled 设置为 1 时,使用 AWE 内存,且实例最多可以在 Windows 2000 Advanced Server 上得到 8 GB 物理内存,在 Windows 2000 Data Center 上得到 64 GB 物理内存。
SQL Server 2000 企业版实例在 awe enabled 设置为 1 的状态下运行时:

实例不动态管理地址空间的大小。


实例将启动时获取的所有内存一直控制到关闭时。


实例的内存页来自 Windows 非换页池,这意味着不能换出实例的任何内存。
必须认真管理 SQL Server 实例在 awe enabled 设置为 1 时使用的内存。如果实例获取了大部分可用的物理内存并作为非换页内存,则其它应用程序或系统进程可能无法得到运行所需的内存。应使用 max server memory 配置设置控制每个使用 AWE 内存的 SQL Server 实例所使用的内存量。有关更多信息,请参见"在 Windows 2000 上管理 AWE 内存"。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧