티스토리 뷰

/proc/PID 를 이용하여 OS이하 생성된 개별 프로세스들의 메모리 사용량을 확인 할 수 있으며 예시는 아래와 같다.

 

1.  java 프로세스들에 대한 각각의 물리 메모리 점유양 조회


[root@TestDB01 ~]# 

[root@TestDB01 ~]# 
[root@TestDB01 ~]# ps -ef | grep -v "grep" |  grep "java" | awk '{print $2}' | while read PID; do echo "PID : ${PID} / `cat /proc/$PID/status | egrep 'VmRSS' | awk '{print $2, $3}'`"; done
PID : 342 / 2468264 kB
PID : 3522 / 2448984 kB
PID : 10197 / 316 kB
PID : 10362 / 27588 kB
PID : 10364 / 500 kB
PID : 16180 / 40728 kB
PID : 22893 / 2500100 kB
PID : 27124 / 2482780 kB
PID : 29526 / 2448656 kB
PID : 31282 / 2462348 kB
[root@TestDB01 ~]# 
[root@TestDB01 ~]# 

 

 

2. 특정 프로세스들의 메모리 점유 총량 조회 (java 예시)

[root@TestWAS01 ~]# 

[root@TestWAS01 ~]# MEM_SIZE=0 && for LIST in `ps -ef | grep -v "grep" |  grep "java" | awk '{print $2}' | while read PID; do cat /proc/$PID/status | egrep 'VmRSS' | awk '{print $2}'; done`; do MEM_SIZE=`expr ${MEM_SIZE} + ${LIST}`; done && echo $MEM_SIZE
2479644
[root@TestWAS01 ~]# 
[root@TestWAS01 ~]# 

 

반응형
TAG
,
댓글
댓글쓰기 폼