Windows Server 2008 R2 中奇怪的内存使用

Dja*_*rdt 20 windows-server-2008 memory performance-monitoring task-manager memory-usage

我希望有人能帮帮忙。我们有一台带有 16GB RAM的Windows Server 2008 R2机器,它的所有可用内存不断被某些东西吃掉。在没有任务管理器资源监视器显示使用300MB以上的内存中的任何程序......但在服务器上的内存使用量是15.7GB。

https://i784.photobucket.com/albums/yy129/ThunderPeel2001/ram-usage.gif

唯一运行的是SQL Server 2008IIS7.5(使用 ASP.Net)。

注意:重新启动后的 RAM 使用率开始较低并逐渐增加。一周左右后,我们不断在这种情况下发现自己。

我怎样才能发现是什么吞噬了我们所有的记忆?:(

CPU*_*USY 15

这是 64 位服务器 - 您是否启用了内存本地策略中的锁定页面?SQL 可能会消耗剩余的内存 如果您查看 perfmon 计数器,您将看到内存分配

这是一篇深入解释它的文章

您还可以在 SQL 中查看计数器

SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value * 8192.0 ) / 1048576, 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    object_Name LIKE '%Buffer Manager%'
    AND RTRIM(counter_name) IN ( 'Free pages', 'Total pages',
                                 'Database pages' ) 
UNION SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value / 1024 ), 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    counter_name IN ( 'Target Server Memory (KB)',
                      'Total Server Memory (KB)' )
Run Code Online (Sandbox Code Playgroud)

  • 这说明了一切。内存使用是“使用所有可用的”(即 2000TB),并且页面被锁定在 RAM 中,因此在使用时并非所有内容都可以访问它。现在将 SQL Server RAM 使用量(最小/最大)限制为 13GB,这种情况不应再发生。我现在也有几个工具可以用来监视任何变化。谢谢你的帮助! (2认同)

Mas*_*imo 6

快速测试:重新启动 SQL Server。
另一个快速测试:重新启动 IIS。

您将确定是否其中一个是罪魁祸首,或者您是否必须寻找其他地方。