[-AI-] 監控某程式記憶體使用量及剩餘記憶體量

看板EzHotKey作者 (小寶包是天使與惡魔)時間11年前 (2015/01/07 10:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
採用AUTOIT 編寫,組譯好後可以配合WINDOWS 工作排程自行安排檢查時間 共可以監控4個程式記憶體使用量是否達標及系統記憶體剩下多少提醒。 ----AUTOIT 程式碼 因BBS字數限制所以請COPY下來重新編排------ #Include <Date.au3> #include <Process.au3> $var1 = IniRead("memory.ini", "PROGRAMNAME", "PROGRAMNAME1", "") $var2 = IniRead("memory.ini", "PROGRAMNAME", "PROGRAMNAME2", "") $var3 = IniRead("memory.ini", "PROGRAMNAME", "PROGRAMNAME3", "") $var4 = IniRead("memory.ini", "PROGRAMNAME", "PROGRAMNAME4", "") $var5 = IniRead("memory.ini", "MEMORYSIZE", "PROGRAMNAME1", "0") $var6 = IniRead("memory.ini", "MEMORYSIZE", "PROGRAMNAME2", "0") $var7 = IniRead("memory.ini", "MEMORYSIZE", "PROGRAMNAME3", "0") $var8 = IniRead("memory.ini", "MEMORYSIZE", "PROGRAMNAME4", "0") $var9 = IniRead("memory.ini", "MEMORYSPARE", "SPARESIZE", "0") if $var1 <> "" then Local $list = ProcessList($var1) for $i=1 to $list[0][0] Local $aMemory = ProcessGetStats($list[$i][1]) $memory = $aMemory[0] /1048576 Local $memory2 = Int($memory) if $memory > $var5 then msgbox(0,"PID="& $list[$i][1] & "記憶體使用量", $list[$i][0] & "記憶體使用 量" & $memory2 & "MB",3) EndIf Next EndIf if $var2 <> "" then Local $list = ProcessList($var2) for $i=1 to $list[0][0] Local $aMemory = ProcessGetStats($list[$i][1]) $memory = $aMemory[0] /1048576 Local $memory2 = Int($memory) if $memory > $var6 then msgbox(0,"PID="& $list[$i][1] & "記憶體使用量", $list[$i][0] & "記憶體使用 量" & $memory2 & "MB",3) EndIf Next EndIf if $var3 <> "" then Local $list = ProcessList($var3) for $i=1 to $list[0][0] Local $aMemory = ProcessGetStats($list[$i][1]) $memory = $aMemory[0] /1048576 Local $memory2 = Int($memory) if $memory > $var7 then msgbox(0,"PID="& $list[$i][1] & "記憶體使用量", $list[$i][0] & "記憶體使用 量" & $memory2 & "MB",3) EndIf Next EndIf if $var4 <> "" then Local $list = ProcessList($var4) for $i=1 to $list[0][0] Local $aMemory = ProcessGetStats($list[$i][1]) $memory = $aMemory[0] /1048576 Local $memory2 = Int($memory) if $memory > $var8 then msgbox(0,"PID="& $list[$i][1] & "記憶體使用量", $list[$i][0] & "記憶體使用 量" & $memory2 & "MB",3) EndIf Next EndIf Local $mem = MemGetStats() Local $mem2 = int($mem[2]/1024) if $mem2 < $var9 Then MsgBox(0, "剩餘記憶體", "可用記憶體剩餘" & $mem2 & "MB",3) EndIf Exit -----MEMORY.INI 檔 使用記事本另存新檔---- [PROGRAMNAME] PROGRAMNAME1=IEXPLORE.EXE PROGRAMNAME2=FIREFOX.EXE PROGRAMNAME3= PROGRAMNAME4= [MEMORYSIZE] PROGRAMNAME1=5 PROGRAMNAME2=10 PROGRAMNAME3= PROGRAMNAME4= [MEMORYSPARE] SPARESIZE=500 ---MEMORY.INI 檔說明--- PROGRAMNAME 為要監控的程式名稱,可由工作管理員看到完整程式檔案名稱 PROGRAMSIZE 為到達多少時跳出警告,單位MB 例如 IEXPLORE.EXE到5MB時跳出 告警,並於3秒內消失告警視窗 MEMORYSPARE 為系統記憶體少於多少時跳出告警,例如少於500MB 就告警 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.87.161.130 ※ 文章網址: http://www.ptt.cc/bbs/EzHotKey/M.1420598790.A.AC6.html
文章代碼(AID): #1Kh9u6h6 (EzHotKey)
文章代碼(AID): #1Kh9u6h6 (EzHotKey)