Konsolowy monitor systemu dla Windows

Na potrzeby szybkiego podstawowego monitoringu systemów Windows napisałem jakiś czas temu konsolowy monitor systemu. Prosty program stylizowany nieco na htop umożliwia podgląd obciążenia procesora, pamięci RAM, pliku wymiany i podstawowy podgląd drzewa procesów.

Aplikacja napisana jest w C# z wykorzystaniem kwerend bazy danych WMI (Windows Management Instrumentation, zainteresowanych odsyłam do dokumentacji m.in. tutaj). Program jest obiektowy i umożliwia stosunkowo łatwą rozbudowę zarówno zaimplementowanych funkcjonalności jak i całej aplikacji poprzez dodawanie nowych funkcji.

Aplikacja skomplikowana jest do pliku *.exe, można więc uruchomić ją bezpośrednio z powłoki graficznej (wówczas otworzy się okno konsoli). Takie wywołanie programu umożliwia pracę jedynie w podstawowym trybie, który pokazuje wyłącznie zużycie procesora i RAM:

Podstawowy wygląd WinTop
Podstawowy wygląd WinTop

Dla uzyskania dostępu do dodatkowych opcji należy uruchomić program z poziomu konsoli z odpowiednimi parametrami np.:

c:\\>WinTop.exe cr

wywołanie takie pokaże nam nie tylko sumaryczne obciążenie procesora, ale także obciążenie jego poszczególnych rdzeni:

WinTop - obciążenie rdzeni procesora
WinTop – obciążenie rdzeni procesora

żeby zobaczyć stopień użycia pliku wymiany powinniśmy wywołać program z parametrem v:

c:\\>WinTop.exe v

 

WinTop - plik wymiany
WinTop – plik wymiany

natomiast dostęp do listy procesów zapewnia użycie parametru p:

c:\\>WinTop.exe p
WinTop - lista procesów
WinTop – lista procesów

Oczywiście, wszystkie parametry można dowolnie łączyć i podawać w jakiejkolwiek kolejności 😉 Poniżej zebrane w całość parametry wywołania dla WinTop:

cr (alias: core) - obciążenie poszczególnych rdzeni procesora,
v (alias: virt) -  sumaryczne zużycie pamięci wirtualnej,
p (alias: process) - 30 pierwszych procesów w systemie wraz z informacją o pid, nazwie, zużyciu ramu oraz pamięci wirtualnej.
Parametry albo ich aliasy należy podawać oddzielone spacją.

A tak wygląda program wywołany z wszystkimi parametrami:

 

WinTop - wszystkie opcje
WinTop – wszystkie opcje

dla kronikarskiej ścisłości wyjście z programu następuje po naciśnięciu Esc ;), a cały program udostępniany jest na licencji GNU / GPL.
Projekt do pobrania z mojego repozytorium GitHub 🙂

Projekt jest dostępny w wersji beta i nie zaimplementowano w nim 
kilku funkcji np. automatycznego wykrywania wielordzeniowości CPU 
czy jego architektury.
Podziel się:

Mikołaj Niedbała

I'm a Poland based IT administrator, linux administrator and IT engineer creating professional IT infrastructure solutions based on Linux and virtual environments.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *