Windows: PrimoCache per Skript überwachen

PrimoCache von Romex Software lässt sich neben der grafischen Oberfläche per Command Line Interface (CLI) steuern. Dies bietet die Möglichkeit, den Status abzufragen und so das Produkt bzw. den Cache-Status in ein Monitoring einzubinden.

Im Programmordner unter

C:\Program Files\PrimoCache

befindet sich die Datei „rxpcc.exe“. Die möglichen Parameter sind in der Hersteller-Hilfe beschrieben:

PrimoCache – Help Documents – Command Line Interface (CLI)

Die CLI kann nur ausgeführt werden, wenn die GUI geschlossen ist!

Ein Überblick über den Status der angelegten Cache-Tasks erhält man mit „status“. Die Ausgabe sieht so aus:

Cache Task #1 {4A493D32-AFD5-4319-B4A4-AF4861378139}
Status: Active
Level-1 Cache: 4096MB
MM: 4096MB, IM: 0MB
R/W Ratio: Shared
Options: -
Level-2 Cache: 0MB
Block Size: 8KB
Strategy: Read & Write
Defer-Write: Enabled
Latency: 10s
Mode: Native
Options: -
Prefetch: Enabled
Overhead: 182,41MB
Volume #4: Cache (Active)
Strategy: Read & Write
Level-2 Cache: Disabled
Defer-Write: Enabled
Prefetch: Enabled

Eine Statistik gibt es beispielsweise mit „perf -c <Task-Nummer>“:

Volume #4:
Total Read : 4,32GB
Cached Read : 400,42MB (9,0%)
L2Storage Read : 0 (0,0%)
L2Storage Write : 0
Total Write (Req) : 4,37GB
Total Write (L1/L2) : 4,37GB / 0
Total Write (Disk) : 3,48GB (79,5%)
Urgent/Normal : 0 / 3,48GB
Deferred Blocks : 52 (0,0%)
Trimmed Blocks : 21887
Prefetch : Inactive
Free Cache (L1) : 69,01MB
Free Cache (L2) : 0

Eine Verkettung mehrerer Parameter wie „mem status perf -c 1“ funktioniert leider nicht. Möchte man die Ausgaben aus den einzelnen Abfragen in eine Datei schreiben hilft ein kleiner Batch-Aufruf:

@echo off

set PCPath=C:\Program Files\PrimoCache
set LogPath=C:\Logs\PrimoCache

cd "%PCPath%"

rxpcc.exe mem > "%LogPath%"\PrimoCache.log
echo. >> "%LogPath%"\PrimoCache.log
rxpcc.exe status >> "%LogPath%"\PrimoCache.log
echo. >> "%LogPath%"\PrimoCache.log
rxpcc.exe perf -c 1 >> "%LogPath%"\PrimoCache.log

Die wichtigsten Indikatoren das der Cache aktiv ist dürften die Zeilen

  • „Status:“ – Mögliche Werte „Active“, „Paused“
  • „Level-1 Cache:“ – Mögliche Werte „Disabled“, „<Cache-Größe>“
  • „Level-2 Cache:“ – Mögliche Werte „Disabled“, „<Cache-Größe>“

aus der „status“-Ausgabe sein. Ergo könnte man das zuvor erstellte Log danach auswerten:

type "%LogPath%"\PrimoCache.log | find "Status: Active"
if %errorlevel% gtr 0 echo Cache-Status-Fehler >> "%LogPath%"\error.txt

type "%LogPath%"\PrimoCache.log | find "Level-1 Cache: 4096MB"
if %errorlevel% gtr 0 echo Level-1 Cache deaktiviert >> "%LogPath%"\error.txt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.