/* SQLI-WIN-004 – Den reserverede hukommelse (commit) er tæt på grænsen ===================================================================== Hvad og hvorfor Commit charge er den hukommelse, programmerne har reserveret (RAM plus sidefil). Når grænsen nås, kan Windows ikke give mere hukommelse ud, og programmer og tjenester fejler, selv om der måske er ledig RAM. Tærskler (agentens appsettings.json) SQLInsight:Servers:Memory:CommitPercent standard 90 (CommittedBytes / CommitLimit, gennemsnit over 5 minutter) Alvor Middel; Høj ved 97 % eller derover. Rettigheder på den overvågede server (db/permissions/grant-windows-server.ps1, aldrig lokal administrator) Performance Monitor Users + WMI Enable Account/Remote Enable på root\cimv2 WS-Man: Remote Management Users · DCOM: Distributed COM Users Understøttede versioner Windows Server 2008 R2 og nyere. Collector src/SQLInsight.Servers/CimWindowsServerSource.cs – Session.GetPerformanceAsync (CimQueries.MemoryQuery), hvert minut fra src/SQLInsight.Agent/Servers/ServerMonitor.cs – CollectPerformanceAsync. Regel src/SQLInsight.Rules/Servers/WindowsServerRules.cs – ServerCommitRule Evaluering 100 × CommittedBytes / CommitLimit pr. minut; gennemsnittet over 5 minutter (mindst 80 % dækket) mod grænsen. Reglen bruger ikke SQL. Forespørgslerne mod Windows står herunder; filen indeholder kun kommentarer og ændrer intet. CIM/WQL (namespace root\cimv2): SELECT AvailableMBytes, PagesPersec, CommittedBytes, CommitLimit, Timestamp_PerfTime, Frequency_PerfTime FROM Win32_PerfRawData_PerfOS_Memory Efterprøv med PowerShell (skrivebeskyttet; kør på agentens server som agentens konto): $s = New-CimSession -ComputerName SERVER $m = Get-CimInstance -CimSession $s -Query "SELECT CommittedBytes, CommitLimit FROM Win32_PerfRawData_PerfOS_Memory" 100 * $m.CommittedBytes / $m.CommitLimit */