我遇到了 sqlservr.exe(版本 2008)的问题。它占用了更多内存。我在 Windows 任务栏管理器上检查了 sqlservr.exe 的使用情况(内存使用情况 - 8GB Ram)。我不知道该如何修复它。使用 Perfmon 获得了以下服务器指标:
SQLServer:Buffer Manager
Buffer cache hit ratio
13
SQLServer:Buffer Manager
Page lookups/sec
46026128096
SQLServer:Buffer Manager
Free pages
129295
SQLServer:Buffer Manager
Total pages
997309
SQLServer:Buffer Manager
Target pages
1053560
SQLServer:Buffer Manager
Database pages
484117
SQLServer:Buffer Manager
Reserved pages
0
SQLServer:Buffer Manager
Stolen pages
383897
SQLServer:Buffer Manager
Lazy writes/sec
384369
SQLServer:Buffer Manager
Readahead pages/sec
69315446
SQLServer:Buffer Manager
Page reads/sec
71280353
SQLServer:Buffer Manager
Page writes/sec
12408371
SQLServer:Buffer Manager
Checkpoint pages/sec
7053801
SQLServer:Buffer Manager
Page life expectancy
735262
SQLServer:General Statistics
Active Temp Tables
161
SQLServer:General Statistics
Temp Tables Creation Rate
3131845
SQLServer:General Statistics
Logins/sec
2336011
SQLServer:General Statistics
Logouts/sec
2335984
SQLServer:General Statistics
User Connections
27
SQLServer:General Statistics
Transactions
0
SQLServer:Access Methods
Full Scans/sec
34422821
SQLServer:Access Methods
Range Scans/sec
2027247756
SQLServer:Access Methods
Workfiles Created/sec
49771600
SQLServer:Access Methods
Worktables Created/sec
28205828
SQLServer:Access Methods
Index Searches/sec
4890715219
SQLServer:Access Methods
FreeSpace Scans/sec
21178928
SQLServer:Access Methods
FreeSpace Page Fetches/sec
21226653
SQLServer:Access Methods
Pages Allocated/sec
41483279
SQLServer:Access Methods
Extents Allocated/sec
4743504
SQLServer:Access Methods
Extent Deallocations/sec
4806606
SQLServer:Access Methods
Page Deallocations/sec
41419137
SQLServer:Access Methods
Page Splits/sec
23834799
SQLServer:Memory Manager
SQL Cache Memory (KB)
29160
SQLServer:Memory Manager
Target Server Memory (KB)
8428480
SQLServer:Memory Manager
Total Server Memory (KB)
7978472
请有人帮助我。我真的想知道上述情况的原因。
答案1
计数器“目标服务器内存”为 8428480 KB,这是 SQL Server 想要使用的内存量。您只为该实例分配了 7978472KB(“总服务器内存”)
我建议你添加更多内存或迁移到 x64(如果还没有的话)
但是如果你启用了 PAE 和 AWE,必须将最大服务器内存设置为 32 位。否则它占据了除 256 MB 之外的所有空间。
最后,SQL Server 的设计目标是使用内存。另一个SF 问题关于它
答案2
我假设您已将 SQL 配置为使用 AWE。如果是这样,那么 SQL 分配所有内存并根据需要将内存释放给其他进程是正常的。本文介绍了 AWE 和分配的内存在 SQL Server 中的工作原理。