NkMonはWindows 2000/XP/Vista/7/8/10/11用のシステムモニターです。
nkmon.exeを適当なディレクトリに置いてください。
nkmon.exeを削除してください。レジストリには一切書き込みません。
右クリックでメニューを表示します。
layoutファイルを作成すると、表示内容を自由に変更することができます。
-d profdir | config, layout, positionファイルの場所 |
-p port | UDPレシーバのポート番号 |
ファイルは以下の場所をから探します。
環境変数 NKTOOLSPROF が設定されていない場合 | nkmon.exeと同じディレクトリ |
環境変数 NKTOOLSPROF が設定されている場合 | %NKTOOLSPROF%\nkmon |
初期設定。
表示内容の定義。エンコーディングはUTF-8です(バージョン0.6より)。
width width | ウィンドウの幅 |
bgalpha alpha | 背景の不透明度(0-255) |
areagraph height range data | 面グラフ |
bargraph height range data | 棒グラフ |
color color | 描画色(RRGGBB) |
dclock height hour min sec | デジタル時計風 |
font name size [bold] [italic] [cleartype] | フォント |
linegraph height range data | 折れ線グラフ |
space height | スペース(マイナス可) |
text height format [arguments...] | テキスト |
テキストのフォーマット
%s | 文字列 |
%h | 単位(K, M, G)つき10進数 |
%% | "%"文字 |
%hと%sはh, sの前の数字で最小のフィールド幅を指定できます。数字の前に0を指定すると空白の代わりに0で埋めます。
string | センタリング |
string\s | 左寄せ |
\sstring | 右寄せ |
string1\sstring2 | string1左寄せ、string2右寄せ |
\\string | "\"を含む文字列 |
"test test" | スペースを含む文字列 |
""test"" | ダブルクォーテーションを含む文字列 |
例
現在時間をHH:MM:SSの書式、白色、センタリングで表示
color ffffff text %02s:%02s:%02s $time.hour $time.min $time.sec
CPU使用率を高さ24ピクセルの青色の面グラフで表示
color 0000ff areagraph 24 $cpu.load.toal 100
Segoe UI 11ピクセル ClearType有効
font "Segoe UI" 11 cleartype
ウィンドウの位置、サイズ、Stay On Topの状態。終了時に自動的に作成します。configでsavepositionをoffに設定している場合は作成しません。
以下の変数をlayoutファイル内で使用できます。値は1秒毎に更新されます($hdtemp.*, $sttemp.*は10分毎)。
<num>は0始まりです。
$cpu.load.total | CPU使用率(全CPU平均)(0..100) |
$cpu.load.system | CPU使用率(カーネル)(全CPU平均)(0..100) |
$cpu.load.user | CPU使用率(ユーザ)(全CPU平均)(0..100) |
$cpu.load.idle | CPUアイドル率(全CPU平均)(0..100) |
$cpu.c<num>.load.total | 物理コア<num>番のCPU使用率(0..100) |
$cpu.c<num>.load.system | 物理コア<num>番のCPU使用率(カーネル)(0..100) |
$cpu.c<num>.load.user | 物理コア<num>番のCPU使用率(ユーザ)(0..100) |
$cpu.c<num>.load.idle | 物理コア<num>番のCPUアイドル率(0..100) |
$cpu.p<num>.load.total | <num>番のCPU使用率(0..100) |
$cpu.p<num>.load.system | <num>番のCPU使用率(カーネル)(0..100) |
$cpu.p<num>.load.user | <num>番のCPU使用率(ユーザ)(0..100) |
$cpu.p<num>.load.idle | <num>番のCPUアイドル率(0..100) |
$cpu.c<num>はWindows 7以降で使用できます。Windows APIの制限により、CPUの最大個数(論理プロセッサ数)が32を超える場合、$cpu.c<num>の値は正しくありません。
$disk.read.bytespersec | ディスク読み取り速度(bytes/sec) |
$disk.write.bytespersec | ディスク書き込み速度(bytes/sec) |
$disk.<letter>.total | <letter>ドライブサイズ(bytes) |
$disk.<letter>.free | <letter>ドライブ未使用量(bytes) |
$disk.<letter>.used | <letter>ドライブ使用量(bytes) |
$gpu.p<num>.load | <num>番のGPU使用率(0..100) |
$gpu.p<num>.temp | <num>番のGPUの温度(℃) |
環境によって正しく取得できない場合があります。loadはDirect3Dのみが対象です。
$hdtemp.hd<num> | <num>番の物理ドライブの温度(℃) |
$hdtempで温度が取得できないとき、$sttempで取得できる場合があります。
$hostname | ホスト名 |
$mem.memtotal | 物理メモリサイズ(bytes) |
$mem.memfree | 物理メモリ未使用量(bytes) |
$mem.memused | 物理メモリ使用量(bytes) |
$mem.swaptotal | スワップ(ページファイル)サイズ(bytes) |
$mem.swapfree | スワップ(ページファイル)未使用量(bytes) |
$mem.swapused | スワップ(ページファイル)使用量(bytes) |
$net.in.bytespersec | Ethernet受信速度(bytes/sec) |
$net.out.bytespersec | Ethernet送信速度(bytes/sec) |
$net.tcp.rtoalgorithm | IPv4 TCP統計情報 |
$net.tcp.rtomin | IPv4 TCP統計情報 |
$net.tcp.rtomax | IPv4 TCP統計情報 |
$net.tcp.maxconn | IPv4 TCP統計情報 |
$net.tcp.activeopens | IPv4 TCP統計情報 |
$net.tcp.passiveopens | IPv4 TCP統計情報 |
$net.tcp.attemptfails | IPv4 TCP統計情報 |
$net.tcp.estabresets | IPv4 TCP統計情報 |
$net.tcp.currestab | IPv4 TCP統計情報 |
$net.tcp.insegs | IPv4 TCP統計情報 |
$net.tcp.outsegs | IPv4 TCP統計情報 |
$net.tcp.retranssegs | IPv4 TCP統計情報 |
$net.tcp.inerrs | IPv4 TCP統計情報 |
$net.tcp.outrsts | IPv4 TCP統計情報 |
$net.tcp6.rtoalgorithm | IPv6 TCP統計情報 |
$net.tcp6.rtomin | IPv6 TCP統計情報 |
$net.tcp6.rtomax | IPv6 TCP統計情報 |
$net.tcp6.maxconn | IPv6 TCP統計情報 |
$net.tcp6.activeopens | IPv6 TCP統計情報 |
$net.tcp6.passiveopens | IPv6 TCP統計情報 |
$net.tcp6.attemptfails | IPv6 TCP統計情報 |
$net.tcp6.estabresets | IPv6 TCP統計情報 |
$net.tcp6.currestab | IPv6 TCP統計情報 |
$net.tcp6.insegs | IPv6 TCP統計情報 |
$net.tcp6.outsegs | IPv6 TCP統計情報 |
$net.tcp6.retranssegs | IPv6 TCP統計情報 |
$net.tcp6.inerrs | IPv6 TCP統計情報 |
$net.tcp6.outrsts | IPv6 TCP統計情報 |
$power.source | 使用電源(AC, Batt, ?, Err) |
$power.battstat | バッテリの状態(charging, no batt, ?, 空文字列) |
$power.battlife.parcent | バッテリ残量率(0..100) |
$power.battlife.hour | バッテリ残量時間 |
$power.battlife.min | バッテリ残量分数 |
$power.battlife.sec | バッテリ残量秒数 |
バッテリが充電中でない場合、battstatは空文字列になります。
$proc.process | プロセス数 |
$proc.thread | スレッド数 |
$proc.handle | ハンドル数 |
$sttemp.st<num> | <num>番の物理ドライブの温度(℃) |
$hdtempで温度が取得できないとき、$sttempで取得できる場合があります。
$time.year | 西暦 |
$time.shortyear | 西暦下2桁 |
$time.month | 月 |
$time.monthname | 月名(Jan, Feb, ...) |
$time.day | 日 |
$time.dayname | 曜日(Mon, Tue, ...) |
$time.hour | 時 |
$time.min | 分 |
$time.sec | 秒 |
$time.weeknum | ISO週番号 |
$time.yearday | 年の始めからの日数 |
$time.yeardayremain | 年の残りの日数 |
$time.utc.* | UTC |
$time.pHHMM.* | UTC+HH:MM |
$time.mHHMM.* | UTC-HH:MM |
$time.sunrise.hour | 日の出時刻(時) |
$time.sunrise.min | 日の出時刻(分) |
$time.sunset.hour | 日の入り時刻(時) |
$time.sunset.min | 日の入り時刻(分) |
日の出時刻・日の入り時刻は、configのtime.locationで設定した緯度、経度、高度から計算します。1分程度の誤差があります。
参考文献: 長沢工『日の出・日の入りの計算』地人書館
$uptime.days | 日 |
$uptime.hour | 時 |
$uptime.min | 分 |
$uptime.sec | 秒 |
$udp.<name> | "name value"形式で送られたUDPパケットのvalue |
ポート7531に"name value"の形式で UDPパケットを送ると、$udp.<name> でvalueを参照出来ます。valueのエンコーディングはUTF-8です(バージョン0.6より)。
例: $udp.testに"hello"を設定するPythonスクリプト
import socket addr = ('127.0.0.1', 7531) s = socket.socket(type=socket.SOCK_DGRAM) s.sendto('test hello'.encode('utf-8'), addr)
bug-XXXX@nk2.org (XXXXはnkmonに置き換えてください)に送ってください。
Copyright (C) 2006-2023 Nobuyuki Honda
本ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。本ソフトウェアの使用によって生じるいかなる損害についても、作者は一切の責任を負わないものとします。
以下の制限に従う限り、商用アプリケーションを含めて、本ソフトウェアを任意の目的に使用し、自由に改変して再頒布することをすべての人に許可します。
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: