50 lines
1.4 KiB
Batchfile
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
|