Windows Server 上“缺少可用交换空间”

Windows Server 上“缺少可用交换空间”

我有几个 Windows Server 2012 虚拟机,由 zabbix 2.4 监控。zabbix 会为某些虚拟机抛出“缺少可用交换空间”的错误,但这些机器上有可用的磁盘和内存,并且虚拟内存在 Windows 上设置为 OS 控制...

Windows Server 上的“缺少可用交换空间”是什么意思?是磁盘空间?RAM?还是虚拟内存?

我该如何解决?

谢谢。

答案1

我刚刚解决了我的项目中出现的相同错误。它与 Windows 页面文件有关,在我的例子中,它被配置为由 Windows 自动管理。

在我的情况中,Windows 认为它​​不需要更高的交换空间,也不会占用更多空间,但剩余空间为 0,因此 zabbix 报告了错误。我已选择移动到自定义页面文件大小 - 只需记住在保存之前点击设置,因为它在重启后不会一直保留。

系统 -> 高级系统设置 -> 高级选项卡 -> 性能设置 -> 高级选项卡,并更改为使用手动页面文件,而不是系统分配的页面文件

答案2

这是解决问题的一个办法。不幸的是,我们有许多 Windows 服务器,并且让 Windows 来管理它们的页面文件(交换空间)。

当 Windows 管理页面文件时,它会保持页面文件大小不变,有时甚至会填充 0 字节的空闲空间,直到某个程序请求更多内存,然后如果页面文件驱动器上有空间,它将增加页面文件的大小,从而提供更多的可用页面文件空间。

这会让“简单”的 Zabbix 警报变得混乱。例如,它看到一个 1.7GB 的页面文件,其中有 0 个字节可用,并发出警报。它没有看到 Windows 正在管理页面文件,并且驱动器有足够的磁盘空间可用于页面文件的增长。

如果 Zabbix 能够做到就太好了(伪代码如下):如果“Windows 正在管理页面文件”,则如果页面文件可用空间百分比低于阈值,并且包含页面文件的驱动器的可用空间小于第二个阈值,则抛出触发器(发送警报),否则# 假设驱动器上的页面文件大小固定,如果页面文件可用空间百分比低于阈值,则抛出触发器(发送警报)FI

这种触发器的复杂性超出了我的 Zabbix 技能等级。如果有人对如何实现这一点有建议,那将非常有帮助。(我们每天追踪 4 到 5 个生产级交换空间警报。更正,忽略。这让我们感到害怕,也应该让 Zabbix 开发人员感到害怕。狼来了可不是什么好事。)

账单

答案3

如果您认为这不是问题,您可以禁用警告。转到: Templates > Template OS Linux > Triggers 并禁用: Lack of free swap space on {HOST.NAME}

如果您想监控其他机器上的交换空间,您也可以复制该模板。

相关内容