Files
psxrecomp/tools/_rss_poll.sh
2026-05-17 11:29:26 -07:00

23 lines
1.1 KiB
Bash

#!/bin/bash
# Poll RSS of psx-runtime and psx-beetle every 60s.
# One stdout line per sample. Designed to run under the Monitor tool.
rt_first=""
bt_first=""
while true; do
ts=$(date +%H:%M:%S)
# tasklist CSV columns: "Image Name","PID","Session Name","Session#","Mem Usage"
rt=$(tasklist //FI "IMAGENAME eq psx-runtime.exe" //FO CSV //NH 2>/dev/null | head -1)
bt=$(tasklist //FI "IMAGENAME eq psx-beetle.exe" //FO CSV //NH 2>/dev/null | head -1)
rt_mem=$(echo "$rt" | sed -E 's/.*"([0-9, ]+) K".*/\1/' | tr -d ', ')
bt_mem=$(echo "$bt" | sed -E 's/.*"([0-9, ]+) K".*/\1/' | tr -d ', ')
[ -z "$rt_mem" ] || ! [[ "$rt_mem" =~ ^[0-9]+$ ]] && rt_mem=0
[ -z "$bt_mem" ] || ! [[ "$bt_mem" =~ ^[0-9]+$ ]] && bt_mem=0
[ -z "$rt_first" ] && [ "$rt_mem" -gt 0 ] && rt_first=$rt_mem
[ -z "$bt_first" ] && [ "$bt_mem" -gt 0 ] && bt_first=$bt_mem
rt_growth=$((rt_mem - ${rt_first:-0}))
bt_growth=$((bt_mem - ${bt_first:-0}))
echo "$ts runtime_rss=${rt_mem}K (+${rt_growth}K from first ${rt_first:-0}K) beetle_rss=${bt_mem}K (+${bt_growth}K from first ${bt_first:-0}K)"
sleep 60
done