知道批处理文件中一个进程的RAM

时间:2015-10-16 15:35:19

标签: batch-file ram

到目前为止,我编写了这段代码。这允许我在一段时间后重新启动我的nodejs服务器。

@echo off
:loop
REM nodevars.bat directory
cd C:\Program Files (x86)\nodejs 
REM Initialize environment variables 
call nodevars.bat
::PAUSE
cd C:\Tese\JULIUS-ADDON\Versao_32bits\Julius-ADDON_2013_ComDebug
::PAUSE 
REM Initialize Node.JS
start node app.js
::node app.js ::equivalent
REM timeout
timeout /t 86400 > nul
taskkill /f /im node.exe >nul
timeout /t 2 >null 
goto loop

现在我希望在克服RAM中的某个值时终止进程。知道怎么样?

1 个答案:

答案 0 :(得分:3)

Logman是你的朋友。

Logman.exe create alert ss64_alert -th "\Process(notepad)\Private Bytes>1482752" -tn "kill_task"

当从记事本进程(没有.exe后缀)获取的字节数超过"kill_task"时,这将触发一个名为1482752的计划任务(示例值)

要创建task On demand,您可以在以后设置它:

SCHTASKS /create /tn "kill_task" /tr "C:\Somewhere\killer.bat" /sc ONCE /sd 01/01/1910 /st 00:00

要了解performance counters的输出格式是什么,为了设置正确的数字,您可以使用typerperf

typeperf "\Process(notepad)\Private Bytes" -si 1 -sc 1