Er der en nem måde i Windows at logge %CPU tid per proces over tid til en fil for senere analyse? Task Manager viser %CPU per proces, men kun visuelt uden mulighed for at gemme til en fil. Perfmon kan gemme til en fil og tage tidsbaserede snapshots, men kan ikke bryde %CPU ned per proces. Process Explorer kan bryde ned per proces, men gemmer kun som et enkelt snapshot. Er der et værktøj, der kan logge de top 10 processer efter CPU hver 15. sekund, indtil overvågningen stoppes, eller har jeg overset en funktion i Perfmon eller Process Explorer?
Der er flere måder at logge %CPU tid per proces over tid i Windows, herunder brug af Windows Performance Monitor, Process Explorer, tredjepartsværktøjer og PowerShell scripts.
Er der en nem måde i Windows at logge %CPU tid per proces over tid til en fil for senere analyse?
Ja, der er flere måder at logge %CPU tid per proces over tid i Windows. Her er nogle metoder og værktøjer, der kan hjælpe dig med at opnå dette:
1. Brug af Windows Performance Monitor (Perfmon)
- Perfmon kan konfigureres til at logge data til en fil.
- Selvom Perfmon ikke direkte kan bryde %CPU ned per proces, kan du bruge "Process" objektet og vælge specifikke processer at overvåge.
- Sådan gør du:
- Åbn Perfmon (skriv "perfmon" i søgefeltet og tryk Enter).
- Gå til "Data Collector Sets" > "User Defined".
- Højreklik og vælg "New" > "Data Collector Set".
- Følg guiden og tilføj "Process" objektet med "% Processor Time" counter for de ønskede processer.
- Konfigurer logfrekvensen til 15 sekunder.
- Start dataindsamlingen.
2. Brug af Process Explorer
- Process Explorer kan vise detaljerede oplysninger om CPU-brug per proces, men gemmer kun som et enkelt snapshot.
- For kontinuerlig overvågning kan du bruge et script til at automatisere snapshots:
- Opret et script (f.eks. i PowerShell) til at tage snapshots af Process Explorer hver 15. sekund.
- Gem output til en fil for senere analyse.
3. Brug af tredjepartsværktøjer
- Der findes flere tredjepartsværktøjer, der kan logge CPU-brug per proces over tid:
- Sysinternals Suite: Indeholder værktøjer som Process Monitor, der kan logge detaljerede oplysninger.
- Process Lasso: Kan overvåge og logge CPU-brug per proces.
- PRTG Network Monitor: Kan konfigureres til at overvåge og logge CPU-brug per proces.
4. Brug af PowerShell scripts
- Du kan skrive et PowerShell script til at logge CPU-brug per proces:
- Brug cmdlet'en
Get-Process
til at hente CPU-brug per proces.
- Log data til en fil med en tidsstempel.
- Kør scriptet med en tidsinterval på 15 sekunder.
Her er et eksempel på et simpelt PowerShell script:
while ($true) {
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 |
ForEach-Object {
"$($_.Name) $($_.CPU) $(Get-Date)" | Out-File -Append -FilePath "C:\cpu_log.txt"
}
Start-Sleep -Seconds 15
}
Dette script logger de top 10 processer efter CPU-brug hver 15. sekund til en fil kaldet "cpu_log.txt".
Ved at bruge en af disse metoder kan du effektivt logge %CPU tid per proces over tid til en fil for senere analyse.