ClipStudio用 メモリ使用率確認バッチ(Win用)

ClipStudioで作業中、メモリ不足による未保存状態での
強制終了が辛すぎるのでメモリ不足を通知する確認バッチを作成しました。

一定の間隔でClipStudioのメモリ使用量を抽出して、
特定の使用量以上になったらエラー画面が表示されます。

最初にツールの欠点を書いておきます。

  • コマンドプロンプトが開きっぱなしになる
  • エラー画面の位置が指定できない (プライマリ画面のみ)
  • エラー画面が最前面に表示されない (気付かないかも)
  • メモリ使用率保存用の「mem_info.txt」が生まれる

上記はVBScriptを利用すれば回避できるかもしれませんが、
ファイル数が増えてしまうので今回使っていません。

動作検証及び確認環境は「Windows8 64bit版」のみとなります。
恐らくWindowsの他バージョンでも利用は可能と思われます。

なお、このバッチによる不具合、動作不良には関与致しません。
自己責任でのご利用をお願い致します。


バッチ作成方法は、以下に記載するコードをコピペして
「ファイル名.bat」で保存するだけです。

コードは以下。実行方法はbatファイルを起動するだけ、
終了時はバッチをそのまま閉じて下さい。

※メモリ使用量の判定は修正を行ってください。

@echo off

rem メモリ情報を保存する場所 (デフォルトはバッチの場所)
set file=mem_info.txt

:start
cls

rem メモリ情報を保存する場所 (デフォルトはバッチの場所)
tasklist | find "CLIPStudio" >mem_info.txt
for /f "usebackq tokens=*" %%m in (`find "CLIPStudio" %file%`) do @set MEM=%%m

for /f "usebackq tokens=*" %%m in (`echo %MEM:,=%`) do @set MEM=%%m
for /f "usebackq tokens=*" %%m in (`echo %MEM: K=%`) do @set MEM=%%m
for /f "usebackq tokens=*" %%m in (`echo %MEM:~-7%`) do @set MEM=%%m
set /a MEM=%MEM%/1024
echo Clip Studio専用
echo 物理メモリ 使用量 %MEM% MB

rem メモリ使用量判定 8000は8000MB gtrは以上
if %MEM% gtr 8000 (
rem メッセージボックス表示 "本文"、"タイトル"
echo msgbox "クリスタがもうすぐ死ぬよ",vbCritical,"メモリ不足" > %TEMP%/msgboxtest.vbs & %TEMP%/msgboxtest.vbs
)

rem 確認間隔 1は1秒
timeout 300
goto :start

コード編集時の補足

  • 別プロセスに使う場合、10~11行の「CLIPStudio」を変更する。
    プロセス名は「tasklist」コマンドで確認可能。
  • メモリ使用量を変更する場合は、21行目の「8000」を変更する。
  • 使用率を確認する周期は27行目のtimeoutを変更する。(1=1秒)

メモリ使用量の確認方法については、
事前に情報画面のアプリケーション欄から
危険なメモリ使用量(90%以上目安)になった時の
数値を確認しておく必要があります。

ウィンドウ → 情報 で表示可能です。

個人的にはこれ使い辛いんじゃねと思いますが、
長時間作業する時にしばらく試用してみます。

以上、簡易的なメモリ確認のツールでした。