Windows 内存使用情况 - 是否有东西限制了可用 RAM

Windows 内存使用情况 - 是否有东西限制了可用 RAM

有人能从下面的图片看出这台机器是否不自然地限制了内存使用量吗?内存从 32GB 升级到 64GB,用于 SSRS 报告渲染,这是唯一一个可运行的大型进程。

SSRS 进入恐慌模式。

  1. 这里有一条日志条目

处理!ReportServer_0-1!a5c!2019 年 9 月 19 日-18:54:28:: w 警告:处理可伸缩性 - 已收到内存缩减请求

  1. 在上述日志条目之后,SSRS 开始对 RSTempFile 文件进行分页,就好像它们是虚拟内存一样。没有关于此的文档,据我所知,这都是内部的,应该清理,但是,文件正在增长到 40+GB。

根据此处的文件,SSRS 内存配置,配置文件中缺少WorkingSetMaximum意味着 SSRS 将根据需要声明尽可能多的内存,但是,它似乎不会像 SQL Server 那样预先声明所有内存。

默认情况下,报表服务器将 WorkingSetMaximum 设置为计算机上的可用内存量。服务启动时会检测此值。

除非您手动添加,否则此设置不会出现在 RSReportServer.config 文件中。如果希望报表服务器使用较少的内存,可以修改 RSReportServer.config 文件并添加元素和值。有效值范围从 0 到最大整数。此值以千字节表示。

我捕获了处于这种恐慌状态的框,但无法完全弄清楚。SSRS 配置为使用所有可用内存,并开始收到高压内存缩减请求,并开始分页到磁盘缓存文件,但是,自从升级以来,该机箱的内存使用量从未超过 32%(见下图)。是否有其他因素人为地限制了内存?它是一个虚拟化盒子,但是,我只能从操作系统的角度来看待它,因为我正在解决磁盘空间积累问题。

下面的图片是在 ssrs excel 渲染器全力以赴时拍摄的。使用的内存不应该更高吗?

(当 ssrs 进入此阶段时,两小时的渲染会延长到 20 小时,我猜不同之处在于使用磁盘进行 VM。 * 当渲染请求结束时(正常情况下),ssrs 会清理 * 一旦渲染会话转换到此分页策略,会话就不会转换回来,即使内存稳定下来也是如此。 * 其他“较小”的请求处理速度非常快,不会影响分页。)

图片 1:

无需发帖 1

图片 2:

无需发帖 2

图片 3:

无需发帖 3

图片4:

无需发帖 4

答案1

机器重启后,我们添加了 128GB 的​​ RAM 并设置了一个值WorkingSetMaximum。SSRS 被分配了 100GB 的内存,并且从未超过 84GB。我真的不能说 MS 文档是否错误,并且设置WorkingSetMaximum将允许在渲染线程开始映射到文件之前消耗更多内存。这也可能是重启。我真的没有时间确认,但它现在正在渲染大型报告,而无需创建非常大的“页面”文件。

相关内容