0

我使用 C# SCOM SDK 将我们的性能和事件数据收集到 SCOM 1801。

为了连接到管理组,我使用下一个代码:

var settings = new ManagementGroupConnectionSettings(serverName)
{
    //CacheMode = CacheMode.None,
    UserName = userName,
    Domain = domain,
    Password = ToSecureString(password)
};

var managementGroup = ManagementGroup.Connect(settings);

一切正常。

managementGroup.Dispose()但是 GC 在调用方法后不会清理内存。

我已经使用 VS 内存配置文件查看了内存。

我可以看到下一个情况:

在此处输入图像描述

当然,我可以使用 ManagementGroupConnectionSettings 类的属性CacheMode=CacheMode.None禁用 缓存

但在这种情况下,SCOM SDK 的工作非常非常缓慢。

所以我认为正确的方法是使用缓存,在必要的工作之后需要删除缓存。

如何删除 SCOM SDK 客户端缓存?

4

1 回答 1

1

尝试使用CacheMode.ManagementPacks枚举值。

您可以在Microsoft 文档中找到有关 CacheMode 枚举的更多信息。

我希望它有所帮助。

于 2018-11-29T23:10:24.947 回答