Files
rfcp/installer/monitor-realtime.bat
2026-02-01 14:26:17 +02:00

50 lines
1.4 KiB
Batchfile

@echo off
title RFCP Real-time Resource Monitor
setlocal EnableDelayedExpansion
echo ============================================
echo RFCP Real-time Resource Monitor
echo ============================================
echo Press Ctrl+C to stop
echo ============================================
echo.
echo TIME CPU%% MEM(MB) PROCS FREE_RAM(MB)
echo ---------- ----- ------- ----- ------------
:loop
:: Get current time
set T=%time:~0,8%
:: Count RFCP processes and their memory
set PROC_COUNT=0
set TOTAL_MEM=0
for /f "skip=3 tokens=5 delims= " %%m in ('tasklist /FI "IMAGENAME eq rfcp-server.exe" 2^>nul') do (
set /a PROC_COUNT+=1
set MEM_STR=%%m
set MEM_STR=!MEM_STR:,=!
set MEM_STR=!MEM_STR: =!
if "!MEM_STR!" NEQ "" (
set /a TOTAL_MEM+=!MEM_STR! 2>nul
)
)
set /a TOTAL_MEM_MB=TOTAL_MEM/1024 2>nul
:: Get free RAM (PowerShell — wmic deprecated in Win11)
for /f %%a in ('powershell -NoProfile -Command "(Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory" 2^>nul') do (
set /a FREE_RAM=%%a/1024 2>nul
)
:: Get CPU load (PowerShell — wmic deprecated in Win11)
for /f %%a in ('powershell -NoProfile -Command "(Get-CimInstance Win32_Processor).LoadPercentage" 2^>nul') do (
set CPU=%%a
)
:: Display
echo %T% %CPU%%% %TOTAL_MEM_MB% %PROC_COUNT% %FREE_RAM%
:: Wait 2 seconds
timeout /t 2 /nobreak >nul
goto loop