标签: memory

在 SQL Server 2008R2 中按数据库规划缓存页

是否可以细分每个数据库使用了多少计划缓存页面?Perfmon 似乎只有服务器的总数,但也许有更详细的 DMV?

此外,缓冲池 (sys.dm_os_buffer_descriptors) 是否包括计划缓存还是单独的?

memory sql-server-2008-r2

2
推荐指数
1
解决办法
1121
查看次数

确定 SQL Server 内存要求

我只是在那里遇到了一个问题,SQL Server 数据库的大小占用了相当多的 RAM。

一点背景:

该数据库适用于小型内容管理网站。CMS 是在 ASP 中自定义构建的,其中散布着一些未经优化的查询,但还不错。实际数据库在磁盘上占用 132MB。

现在回到 SQL Server。

在查看服务器选项时,我遇到了内存部分。我注意到它被设置为 2147483647MB,这让我想到将这个值设置为更小的值可能是一种解决问题的方法。

我将其设置为 500MB,这是一个很大的差异。

到目前为止,该网站运行良好,服务器上的内存不再出现问题。

我的问题:

我如何确定将其设置为的最佳值是多少?500MB 低吗?此服务器上将有另一个数据库。不过它会小得多,大约 50MB。

编辑(更多信息)

我应该补充一点,导致我寻找此内存设置的问题是 SQL Server 在需要时没有将内存释放回操作系统。我运行一个旧站点,需要即时编译页面(即没有 bin 文件夹),并且存在一些页面在需要时未编译的问题。服务器出现内存不足错误。

这个特定的服务器有 2GB 的 RAM。

sql-server-2008 memory

2
推荐指数
1
解决办法
1030
查看次数

DBMS(例如 SQL SERVER 2008)是否使用虚拟内存?

或者换句话说…… DBMS 是否以某种方式绕过操作系统缓存管理器并直接访问内存,或者它让操作系统完成其工作,作为正常进程运行并使用虚拟内存的概念?

sql-server-2008 sql-server memory

2
推荐指数
1
解决办法
454
查看次数

Postgres 内存使用率太低

我有一个 400GB 的内存Postgres 9.3.4 DB在运行Fedora20,每个表都有一些索引。我已将共享缓冲区提高到 4GB(系统有 16GB 可用),在内核中设置 shm 并将 设为effective_cache_size12GB。work_mem是 60MB

然后我每秒对数据库运行数百个查询很长一段时间。我的整个系统(带操作系统)仅使用 3GB RAM 并且没有交换。

Postgres并没有真正使用它可能使用的 RAM,我宁愿最大化我的 RAM 并获得查询/索引性能(如果可能)。

我是否缺少一些配置方面的知识?

postgresql linux memory

2
推荐指数
1
解决办法
3866
查看次数

SSIS 缓冲区/内存故障

运行 SSIS 包时出现此错误...

分配 104857600 字节时缓冲区失败。系统报告31% 的内存负载。有 17179328512 字节的物理内存,其中 11714314240 字节空闲。有 2147352576 字节的虚拟内存,其中 406519808 字节空闲。分页文件有 19729465344 字节,其中 13419847680 字节空闲。

运行包的机器上的内存似乎没问题。31% 的内存负载被认为是高吗?这仅在迁移到较新的服务器后才开始发生。但是这个新服务器的内存容量增加了一倍。

没有添加新的 SSIS 包。SSIS 包存储在 SQL Server 2008R2 服务器上。它们是从另一台运行 SSIS 2008 的服务器调用的。

知道是什么原因造成的吗?

SSIS 包通过第 3 方应用程序执行。我们强制此应用程序以 32 位运行,因为在添加对 System.Data.dll 的引用后出现以下错误 在此处输入图片说明

如何强制 SSIS 包以 64 位运行?

memory ssis

2
推荐指数
1
解决办法
8788
查看次数

sp_Blitz:检测到毒药等待并且可用内存过多

我们有一个使用 SQL 的 SolarWinds Orion 网站,我们收到了许多关于该网站缓慢问题的报告。我在 SQL 框上运行 sp_Blitz,我看到这些错误:

检测到毒药等待:RESOURCE_SEMAPHORE 98:07:56:03 已记录此等待。这种等待通常表明致命的性能问题。

检测到毒药等待:RESOURCE_SEMAPHORE_QUERY_COMPILE 33:06:03:08 已记录此等待。这种等待通常表明致命的性能问题。

可用内存过多 SQL Server 的缓冲池中有 7GB 的可用内存,即 12GB。您会认为大量的空闲内存会很好,但请查看 URL 以获取更多信息。

服务器已配置 16GB 的 RAM,SQL 服务器配置为使用 13GB 的最大服务器内存,每个查询 1024KB。该服务器是否过度配置?我觉得这是内存配置错误,但任何帮助或见解将不胜感激。

sql-server memory sp-blitz

2
推荐指数
1
解决办法
796
查看次数

使用资源调控器并分配更多内存以满足查询的高内存授予请求?

在 SQL Server 2016 数据库服务器上,我几乎没有查询非常慢并且需要更多内存(查询未优化)。这使得整个数据库变慢,因为许多用户正在运行相同的查询。这导致其他查询等待。我CXCONSUMER等待(由于并行执行)和RESOURCE_SEMAPHORE.

所以这造成了内存压力(我相信这些缓慢的查询正在为其他查询造成内存争用,进而造成内存压力),我认为这导致我的计划缓存以固定的时间间隔清除。

我读到默认情况下Memory Grant %为 25%。我正在考虑增加这 25% 来为查询提供内存。我现在正在尝试暂时解决这个问题。

未优化的查询是 LINQ 查询,更改将需要团队一些时间。

所以请建议在资源调控器中增加Memory Grant %是否是一个好主意?

我总共有 128GB RAM,其中 75% (102 GB) 分配给 SQL Server。

sql-server memory resource-governor waits

2
推荐指数
1
解决办法
379
查看次数

网络问题后的可用性组群集内存问题。如何转储 HADR 日志块消息池?

我们有一个四节点可用性组,一个站点中有两个节点,另一个数据中心中有两个站点外节点。我注意到在每个 WAN 问题发生后,WAN 连接出现波动,并且异地节点不断断开连接并重新连接(使用 AOAG 仪表板中的 AOAG 运行状况),主服务器的内存被“HADR 日志块消息池”消耗

SELECT  *
FROM    sys.dm_os_memory_clerks
ORDER   BY pages_kb DESC
Run Code Online (Sandbox Code Playgroud)

类型:OBJECTSTORE_SERVICE_BROKER
名称:HADR 日志块消息池

在最坏的情况下,当网络震荡数小时时,这个内存管理员最终会消耗超过 90% 的 SQL Server 内存,导致 SQL Server 停止运行(SQL 有 10GB 的内存“HADR Log Block Msg Pool”正在使用 9.8GB)。

有没有办法转储这个 HADR 日志块消息池?还是一开始就阻止它变得如此之大?到目前为止,我们唯一的解决方案是故障转移并重新启动机器。

没有错误,只是节点的日志断开连接并重新连接,以及重新连接后数据库重新硬化的日志。

随着越来越多的内存被“HADR 日志块消息池”占用,可用于其他所有内容的内存会下降,从而影响性能。通常这 10GB 的 RAM 适合这个 AOAG 组和使用。只有当 WAN 波动一段时间时,我们才会出现此问题。

我们可以在服务器上投入更多内存,但我认为这不会解决根本问题,它只会在严重损害性能之前为我们争取更多时间。

我同意网络是根本原因,但在问题解决并且 AOAG 恢复同步后,SQL 不会像大多数 SQL 内存管理员那样恢复/重新分配 RAM 给其他 SQL 内存管理员,这似乎很奇怪。

日志传送不起作用;这是一个事务性环境,我们需要近乎实时的,最好是实时的异地 DR。AOAG 小组 99% 的时间都在工作,并且几乎总是实时同步。我们正在尝试与网络团队合作以改善连接性,和/或可能使它只是断开连接而不是摆动。

系统信息
SQL 版本:SQL 2016 SP1 CU6 13.0.4457.0
操作系统版本:Windows 2012 R2 6.3.9600
服务器内存:12GB …

sql-server memory clustering availability-groups sql-server-2016

2
推荐指数
1
解决办法
363
查看次数

SQL Server 内存性能

我在一台服务器上有两个实例。我在每个实例上配置了相同数量的最大内存。总共 36 个演出,我给了每个演出 17 个。为什么目标内存在一个实例上不断上升和下降?(从 17 移动到 12 或之间)但在其他情况下它固定在 17?此外,总服务器内存固定为 10 Gigs。

sql-server memory

2
推荐指数
1
解决办法
104
查看次数

varchar(n) 大小?

varchar(5)当我在查询中使用时INSERT,这意味着表中的属性将在内存中占用5 个字节?(假设一个可打印字符占用一个字节)?

postgresql varchar storage memory database-internals

2
推荐指数
1
解决办法
6659
查看次数