AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 96077
Accepted
KASQLDBA
KASQLDBA
Asked: 2015-03-25 05:30:25 +0800 CST2015-03-25 05:30:25 +0800 CST 2015-03-25 05:30:25 +0800 CST

SQL Server 未使用分配的内存

  • 772

我们注意到,对于我们的一个具有以下配置的 SQL 服务器,内存没有得到分配。

SQL 服务器 2005 SP4,32 位

Windows server 2003 R2 SP2,32 位,16 GB RAM 和 12 个内核

此外,我们还启用了 AWE 和 PAE。

Min server memory = 1024

Max server memory = 13500

我知道任务管理器不是最好的方法,但 RAMMAP 也不起作用,但我们相信 SQL 没有使用分配的内存。

请告知可以在这里做什么,或者我的 AWE 配置不正确?

sql-server performance
  • 1 1 个回答
  • 2041 Views

1 个回答

  • Voted
  1. Best Answer
    Shanky
    2015-03-25T07:01:46+08:002015-03-25T07:01:46+08:00

    你有一个奇怪的系统。您的数据库大小为 350+ G,并且您拥有 32 位系统我会说这是一个我永远不想在我的环境中拥有的系统。在 32 位 SQL Server 上管理 350 G 数据库非常困难,它的 VAS 限制(默认)为 2 G。你一定会面临内存压力。

    32 位系统中的 AWE 仅允许 SQL Server 使用超出其 VAS 功能的内存,并且也只有数据和索引页可以利用 AWE 的额外内存。计划缓存、过程缓存和其他缓存无法使用此内存。

    我知道任务管理器不是最好的方法,但 RAMMAP 也不起作用,但我们认为 SQL 没有使用分配的内存

    这不清楚,您所说的相信是什么意思,您能否展示一些事实,您是如何得出 SQL Server 没有使用内存的结论的。请运行

    DBCC MEMORYSTATUS()
    

    命令并在某些共享链接(onedrive,dropbox ...)上共享输出并将链接发布到您的问题中,以便我们可以看到 SQL 服务器正在使用多少内存。

    编辑:

    但是当我在任务管理器和进程资源管理器中查看私有字节时,内存从未超过 300-500 MB。

    这是你正在做的不正确的事情。任务管理器不是查看 SQL Server 内存利用率的地方,我们有 dbcc memorystatus 输出和 perfmon 计数器来查看 SQL Server 2005 内存利用率。如果您注意到任务管理器显示Process private bytes此内存是可分页的,但通过 32 位 AWE API 分配的内存已锁定且不可分页且不可共享。所以任务管理器没有显示 SQL Server 使用的总内存,因为它没有跟踪通过 AWE 分配的内存。所以我想你现在明白了。请阅读 AWE 它是如何在 32 位中运行的。

    现在从您发布的 dbcc memorystatus 转储

    Memory Manager   KB
    VM Reserved     1632608
    VM Committed    169000
    AWE Allocated   13762560
    Reserved Memory 1024
    Reserved Memory In Use  0
    

    Memory utilized by SQL Server 2005 would be sum of VM committed and AWE Allocated.这不会给你绝对的价值,但它是正确的。还有一些未包含在其中的分配,但这只是几 MB,几乎没有关系

    所以 SQL Server 使用的内存是 (169000+13762560)KB 大约 13G。与您设置的最大服务器限制相匹配。所以不用担心 SQL Server 正在使用分配给它的内存。

    另外,无论结果如何,请升级到 Windows 服务器和 SQL Server 的 64 位版本

    • 3

相关问题

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve