도커 안에 있는 자바 프로세스에 대해서 힙 메모리 사용량을 체크 하는 스크립트.
#!/bin/bash
ARRAY=$(docker ps --format "{{.Names}}")
SAVEIFS=$IFS # Save current IFS
IFS=$'\n' # Change IFS to new line
ARRAY=($ARRAY) # split to array $names
IFS=$SAVEIFS # Restore IFS
for (( i=0; i<${#ARRAY[@]}; i++ ))
do
printf "$i: ${ARRAY[$i]}"
docker exec "${ARRAY[$i]}" sh -c 'jstat -gc `pgrep java` 1000 1' | tail -n 1 | awk '{split($0,a," "); total=(a[1]+a[2]+a[5]+a[7])/1024; sum=(a[3]+a[4]+a[6]+a[8])/1024; print " : " sum "MB / " total "MB"}'
done
너무 대충 만들어서 입맛에 맞게 고쳐 쓰세요.~