标签: memory

为什么我不使用 SQL Server 选项“针对临时工作负载进行优化”?

我一直在阅读 Kimberly Tripp 撰写的一些关于 SQL Server 计划缓存的精彩文章,例如:http : //www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/

为什么甚至有“针对临时工作负载进行优化”的选项?这不应该一直开着吗?无论开发人员是否使用 ad-hoc SQL,为什么不在每个支持它的实例上启用此选项(SQL 2008+),从而减少缓存膨胀?

performance sql-server memory cache query-performance

50
推荐指数
4
解决办法
3万
查看次数

PostgreSQL:强制数据进入内存

有没有一种系统的方法可以强制 PostgreSQL 将特定表加载到内存中,或者至少从磁盘中读取它以便系统缓存它?

postgresql memory cache

41
推荐指数
3
解决办法
4万
查看次数

为什么 SQL Server 消耗更多的服务器内存?

SQL Server 占用了我服务器 RAM 的 87.5%。这最近造成了很多性能瓶颈,例如缓慢。我研究了这个问题。我可以在 Internet 上找到的一种常见解决方案是设置 SQL Server 的最大限制。这已经完成并且获得了很大的改进。我想知道为什么如果没有设置最大内存值为什么 SQL Server 不断消耗资源

sql-server memory sql-server-2008-r2

41
推荐指数
3
解决办法
25万
查看次数

MongoDB 使用过多内存

我们已经使用 MongoDB 几个星期了,我们看到的总体趋势是 mongodb 使用太多内存(远远超过其数据集 + 索引的整个大小)。

我已经通读了这个问题这个问题,但似乎没有一个能解决我一直面临的问题,他们实际上是在解释文档中已经解释过的内容。

以下是htopshow dbs命令的结果。

在此处输入图片说明

显示数据库

我知道 mongodb 使用内存映射 IO,所以基本上操作系统处理内存中的缓存内容,当另一个进程请求空闲内存时,mongodb理论上应该释放其缓存的内存,但从我们所见,它没有。

OOM 开始杀死其他重要进程,例如 postgres、redis 等。(可以看出,为了克服这个问题,我们将 RAM 增加到 183GB,现在可以工作但非常昂贵。mongo 使用了 ~87GB 的 ram,几乎是整个数据集大小的 4 倍)

所以,

  1. 这么多内存使用真的是预期的和正常的吗?(根据文档,WiredTiger 最多使用约 60% 的 RAM 作为其缓存,但考虑到数据集大小,它甚至有足够的数据来占用 86GB 的 RAM 吗?)
  2. 即使内存使用是预期的,为什么 mongo 不会释放其分配的内存,以防另一个进程开始请求更多内存?在我们增加 RAM 之前,Linux oom 不断杀死各种其他正在运行的进程,包括 mongodb 本身,这使系统完全不稳定。

谢谢 !

mongodb memory wiredtiger

41
推荐指数
3
解决办法
7万
查看次数

在专用数据库服务器上,要为操作系统保留多少内存?

假设您有一个明确用于数据库功能的专用服务器——您应该为操作系统保留多少内存?

我意识到这可能会有所不同,具体取决于特定的操作系统、特定的数据库软件等。但是,由于内存对数据库性能非常重要,我希望数据库具有最大合理级别的内存,而不会使主机操作系统挨饿。

所以

  • 什么是好的经验法则?
  • 我们应该查看哪些计数器或性能指标来确定我们是否走得太远并且主机操作系统是否以某种方式被数据库饿死?

sql-server windows memory

39
推荐指数
4
解决办法
7730
查看次数

SQL Server 的“服务器总内存”消耗停滞了数月,还有 64GB 以上的可用空间

我遇到了一个奇怪的问题,SQL Server 2016 标准版 64 位似乎将自己限制在分配给它的总内存的一半(128GB 中的 64GB)。

的输出@@VERSION是:

Microsoft SQL Server 2016 (SP1-CU7-GDR) (KB4057119) - 13.0.4466.4 (X64) 2017 年 12 月 22 日 11:25:00 版权所有 (c) Windows Server 2012 R2 Datacenter 6.3 上的 Microsoft Corporation 标准版(64 位)(内部版本 9600:)(管理程序)

的输出sys.dm_os_process_memory是:

sys.dm_os_process_memory

当我查询时sys.dm_os_performance_counters,我看到Target Server Memory (KB)是在131072000Total Server Memory (KB)是 at 的一半以下65308016。在大多数情况下,我认为这是正常行为,因为 SQL Server 尚未确定它需要为自己分配更多内存。

然而,它已经“卡住”在 64GB 左右超过 2 个月了。在此期间,我们对一些数据库执行了大量内存密集型操作,并向实例添加了近 40 个数据库。我们总共有 292 个数据库,每个数据库都有 4GB 的预分配数据文件和 256MB 的自动增长速率和 2GB …

performance sql-server memory sql-server-2016 sp-blitz

39
推荐指数
2
解决办法
4801
查看次数

选择到临时表中通常比选择到实际表中更快吗?

我想我曾经在某处读到过写入 tempdb 比不在 tempdb 中的实际表更快。这在任何情况下都是真的吗?我想我记得它说了一些关于 tempdb 并将数据存储在内存中的特殊内容?

sql-server memory tempdb temporary-tables sql-server-2016

35
推荐指数
2
解决办法
4577
查看次数

**NOT** 在 MySQL 中使用 MEMORY 存储引擎的原因是什么?

我最近发现 MySQL 有一个我不知道的“内存”引擎(我的大部分数据库工作都是针对业余项目的,所以我边走边学习我需要的东西)。似乎这个选项应该让我大大提高性能,所以我想知道它是否有任何缺点。我所知道的两个是:

  1. 我需要有足够的内存来保存有问题的表。
  2. 如果机器关闭,这些表就会丢失。

我相信 #1 不应该是一个问题,因为我使用的是 AWS EC2,并且可以根据需要移动到具有更多内存的实例类型。我相信我可以通过根据需要转储回磁盘来缓解 #2。

还有哪些问题?内存引擎能否提供比 MyISAM 或 InnoDB 更差的性能?我想我读过一些关于这个引擎的索引不同的东西;这是我需要担心的事情吗?

mysql storage-engine memory

33
推荐指数
2
解决办法
5万
查看次数

每个实例是否有 SQL Server Express 内存和 CPU 限制?

如果我在服务器中有 8GB 的​​ RAM 并且我运行 4 个 SQL Server Express 实例,那么 SQL Server 使用的总内存限制是 1GB 还是 4GB?

是否建议像这样运行多个实例以使每个数据库都能更好地利用资源(假设服务器有足够的资源)?

sql-server instance memory sql-server-express

32
推荐指数
2
解决办法
4万
查看次数

为大量 ram 调整 postgresql

我有两个相同的服务器(在硬件方面),它们都是 windows server 2008 r2 的标准安装,安装了最少的软件(基本上是我的代码和必需的东西,如 jvm 等)。

在一台服务器上,我在第二台服务器 postgresql 9.1 上运行 sql server 2005。这两个服务器的性能差异是惊人的,它在 postgresql 上太糟糕了,我很后悔我最初对我老板说“让我们使用 postgresql 而不是支付 sql server 许可证”的演讲。我们正在讨论同一命令的 30 秒与 15 分钟的差异,这不仅仅是这个命令,它是我向其抛出的任何查询或命令。它们都有几乎相同的数据(记录以不同的顺序插入),并且两个数据库具有完全相同的结构/索引等。

但我希望这只是性能调整的问题。问题是,sql server 几乎使用了服务器上所有 32 gig 的 ram,而 postgresl 什么也没使用,绝对比 gig 少,尽管我实际上还没有详细了解它。

如何让 postgresql 使用 20 多场内存?这些服务器是专门为该数据库内容构建的,因此在我看来,数据库和支持进程未使用的任何内存都被浪费了。

postgresql memory

31
推荐指数
2
解决办法
7万
查看次数