Set-MMAgent -MaxOperationAPIFiles 的主要功能是设置 Microsoft Monitoring Agent (MMA) 允许的最大 API 文件操作数量。通过调整这个参数,管理员可以控制 MMA 在处理文件操作时的性能,尤其是在面对大量文件操作时,确保不会过度占用系统资源。

在 Windows 操作系统中,regedit 是用于编辑注册表的工具。你提到的两项注册表键 DisablePagingExecutiveLargeSystemCache 位于以下路径:

Copy Code
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

修改这两项的功能作用如下:

1. DisablePagingExecutive 值为 1

  • 作用:此键控制是否将操作系统的核心代码(即内核和驱动程序)分页到磁盘上。当该值设置为 1 时,表示禁用内核代码的分页,即系统中的核心部分将始终保留在物理内存中,不会被交换到磁盘上的分页文件。这有助于提高系统性能,特别是在服务器或高性能计算中,但也会增加内存的使用,因为更多的数据需要驻留在物理内存中。
  • 性能影响:禁用分页执行(DisablePagingExecutive 为 1)可以减少磁盘 I/O,避免内核代码的分页带来的延迟,提升系统响应速度,特别是对于内存较大的系统。然而,禁用分页会导致系统占用更多的内存,因此在内存不足的情况下可能会引起系统性能下降或崩溃。

2. LargeSystemCache 值为 0

  • 作用LargeSystemCache 控制系统是否使用较大的文件系统缓存。如果将此值设置为 0,表示系统使用较小的文件系统缓存,这通常适用于桌面计算机环境。设置为 0 时,系统将优先分配内存给用户程序,而不是缓存文件系统。
  • 性能影响:当 LargeSystemCache 设置为 0 时,操作系统将把更多的内存用于用户应用程序(如浏览器、文本编辑器等)。这通常有助于提高桌面计算机的应用程序性能,但可能会影响磁盘性能,尤其是对于需要频繁访问磁盘的应用。对于服务器,尤其是文件服务器,通常会将其设置为 1,以便充分利用内存来缓存文件系统,提高磁盘访问性能。

总结

  • 设置 DisablePagingExecutive = 1 可以提升内核性能,但会消耗更多内存。
  • 设置 LargeSystemCache = 0 将优先给用户应用程序更多内存,适用于桌面环境,但可能降低磁盘缓存的效率。

这些设置一般适用于高性能系统或服务器,而普通用户电脑可能不需要修改这些注册表项。


要通过批处理脚本(.bat 文件)来修改 DisablePagingExecutiveLargeSystemCache 的注册表项,你可以编写以下内容的批处理文件:

批处理脚本内容:

Copy Code
@echo off
:: 修改 DisablePagingExecutive 为 1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f

:: 修改 LargeSystemCache 为 0
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 0 /f

:: 输出修改完成信息
echo 注册表项修改完成!
pause

说明:

  1. reg add 命令用来添加或修改注册表项。

    • /v 用于指定注册表项的名称。
    • /t 用于指定注册表项的数据类型(REG_DWORD 表示一个32位整数)。
    • /d 用于指定注册表项的值。
    • /f 表示强制覆盖现有值(如果已存在该注册表项)。
  2. 批处理脚本执行后,会修改以下注册表项:

    • DisablePagingExecutive 为 1,禁用内核分页。
    • LargeSystemCache 为 0,适用于桌面环境,优先给用户程序分配内存。

如何使用:

  1. 将上述内容复制到一个新的文本文件中。
  2. 保存文件时,将文件扩展名改为 .bat(例如:modify_registry.bat)。
  3. 右键点击该 .bat 文件,选择 “以管理员身份运行”,以便对注册表进行修改。

注意:修改注册表可能会对系统稳定性和性能产生影响,确保你知道自己在做什么,并在执行前备份注册表。


要通过 .reg 文件来修改注册表,而不是使用批处理文件, .reg 文件的格式是不同的。 .reg 文件用于直接修改 Windows 注册表中的键值,而不需要使用 reg add 命令。

下面是你想要实现的 .reg 文件的内容:

.reg 文件内容:

Copy Code
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
"LargeSystemCache"=dword:00000000

说明:

  • Windows Registry Editor Version 5.00:这是 .reg 文件的标准头部,用于指明这是一个有效的 Windows 注册表编辑文件。
  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]:这是你要修改的注册表项路径。
  • "DisablePagingExecutive"=dword:00000001:将 DisablePagingExecutive 的值设置为 1(禁用内核分页)。
  • "LargeSystemCache"=dword:00000000:将 LargeSystemCache 的值设置为 0(适用于桌面环境,优先分配内存给用户应用程序)。

使用方法:

  1. 将上述内容复制到一个文本文件中。
  2. 将文件保存为 .reg 扩展名,例如 modify_registry.reg
  3. 双击该 .reg 文件,确认修改注册表时的提示。

执行此 .reg 文件后,系统会自动修改注册表值,无需额外的批处理命令。如果你需要恢复默认设置,可以将值修改回默认状态,或者使用 .reg 文件重新添加相应的默认值。

注意:

  • 在修改注册表之前,建议备份注册表,以防出现不可预料的问题。
  • 请确保以管理员权限运行 .reg 文件,这样才能修改 HKEY_LOCAL_MACHINE 下的注册表项。

 

mmagent


ApplicationLaunchPrefetching : False
ApplicationPreLaunch         : False
MaxOperationAPIFiles         : 8192
MemoryCompression            : False
OperationAPI                 : False
PageCombining                : False
PSComputerName               :

  • ApplicationLaunchPrefetching:应用程序启动预取:关闭(False)
  • ApplicationPreLaunch:应用程序预启动:关闭(False)
  • MaxOperationAPIFiles:最大操作API文件数:8192
  • MemoryCompression:内存压缩:关闭(False)
  • OperationAPI:操作API:关闭(False)
  • PageCombining:页面合并:关闭(False)
  • PSComputerName:PS计算机名称:(没有提供值)

 

 

Set-MMAgent 是用于配置 Microsoft Monitoring Agent (MMA) 的 PowerShell cmdlet。MMA 是微软的一款监控工具,广泛用于监视和管理 Azure 监控服务、Log Analytics、系统性能等。Set-MMAgent cmdlet 用于设置或修改 MMA 的某些配置选项。

以下是 Set-MMAgent -MaxOperationAPIFiles 命令中的各个参数及其作用的详细说明:

-MaxOperationAPIFiles <uint32>

  • 作用:设置 MMA 允许的最大 API 文件操作数量。这个参数控制 MMA 在执行与文件操作相关的 API 调用时能够处理的最大文件数。
  • 类型<uint32>,即无符号 32 位整数,表示文件操作的数量上限。
  • 必需:是。此参数必须提供。

-CimSession <CimSession[]>

  • 作用:指定一个或多个 CIM(Common Information Model)会话,用于远程计算机进行管理任务。它用于跨计算机或远程执行命令。
  • 类型CimSession[],即一个 CIM 会话对象数组。
  • 可选:否。如果你要在远程计算机上配置 MMA,应该提供此参数。

-ThrottleLimit <int>

  • 作用:指定命令的限制并发数。这个参数控制命令执行时并发操作的数量,以防止在执行过程中占用过多系统资源。
  • 类型<int>,即一个整数,指定并发操作的最大数目。
  • 可选:是。此参数不是必需的。

-AsJob

  • 作用:将命令作为后台作业运行。这意味着命令不会阻塞 PowerShell 会话,可以在后台运行,并且你可以继续在 PowerShell 中执行其他任务。
  • 类型:布尔值。
  • 可选:否。

<CommonParameters>

  • 该 cmdlet 支持常见的 PowerShell 参数,如 VerboseDebugErrorActionErrorVariable 等,这些参数可以帮助你控制命令的输出、调试信息、错误处理等。

功能总结:

Set-MMAgent -MaxOperationAPIFiles 的主要功能是设置 Microsoft Monitoring Agent (MMA) 允许的最大 API 文件操作数量。通过调整这个参数,管理员可以控制 MMA 在处理文件操作时的性能,尤其是在面对大量文件操作时,确保不会过度占用系统资源。

应用场景:

  • 性能优化:如果你发现 MMA 在处理大量文件时变得非常缓慢,或者系统资源消耗过高,可以调整此参数来限制最大文件操作数量,从而提高系统性能。
  • 远程管理:通过结合 -CimSession 参数,可以远程配置多个计算机上的 MMA 设置。
  • 并发控制:使用 -ThrottleLimit 控制命令的并发执行数量,确保在执行大量操作时不影响系统的正常运行。

如果你有更具体的场景或需求,欢迎提出,我可以提供更深入的帮助。

 

 

posted @ 2024-12-20 20:39  suv789  阅读(26)  评论(0编辑  收藏  举报