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