unix면 어케 하겠는데 윈도우 서버라서 batch파일 돌려야되잔아

batch script는 하나도 몰라서 일단

PID 조회 하는 방법

 

C:>tasklist | findstr java
java.exe                      6104                            0    153,724 K
java.exe                      5596                            0    254,384 K
java.exe                      5620                            0    236,744 K
java.exe                      5568                            0    306,988 K
java.exe                      5556                            0    253,144 K
java.exe                      5600                            0    236,540 K
java.exe                      5572                            0    252,296 K
java.exe                      5576                            0    256,148 K
java.exe                      5684                            0    236,768 K
java.exe                      5720                            0    253,508 K
java.exe                      5736                            0    251,056 K
java.exe                      5764                            0    236,720 K
java.exe                      5660                            0    238,000 K
java.exe                      5804                            0    282,956 K
java.exe                      5848                            0    252,244 K
java.exe                      5852                            0    314,412 K
java.exe                      6168                            0    359,652 K
java.exe                      6504                            0    314,200 K
java.exe                      6688                            0    239,400 K
java.exe                      6796                            0    252,548 K
java.exe                      6812                            0    237,692 K
java.exe                      6836                            0    238,268 K
java.exe                      6932                            0    237,068 K
java.exe                      6944                            0    256,728 K
java.exe                      6988                            0    277,596 K
java.exe                      6992                            0    290,220 K
java.exe                      7052                            0    353,380 K
java.exe                      7132                            0    276,508 K
java.exe                      7140                            0    277,760 K
java.exe                      7216                            0    291,428 K
java.exe                      7992                            0    274,764 K
java.exe                     13224                            0     79,764 K
java.exe                     12572                            0    104,364 K
java.exe                      5052                            0    601,196 K
java.exe                       676                            0    510,976 K
java.exe                     12548                            0    473,708 K
java.exe                     13920                            0    477,960 K

 

perm size 조회하는 방법이고 P가 perm %값임


jstat -gcutil [PID]

C:>jstat -gcutil 7992
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
  0.00   0.00  11.74   2.74  51.03  16403  183.179 60016 23397.445 23580.624

 

unix 였으면 아래 스크립트 만들어서 FAIL 값이 0이 아니면 모니터링 되게 만들고 싶은데

batch도 이런게 가능한지 궁금하고 이게 불가능하면 파워쉘을 깔아야되나?

진짜 IT 하나도 모르고 구글링으로만 일해서 감이 안잡힘

 

#!/bin/csh -f
set LINE = `tasklist | grep java|wc -l`
set N = 1
set FAIL = 0

while($N < $LINE)
set PID = `tasklist | grep java|awk '{if (NR >= '"{N}"' && NR <= '"{N}"')print $2}'`
set perm =  `jstat -gcutil $PID`
@ N++
if($perm > 80) then
@ FAIL ++
else
endif
end