트러블슈팅할때 가끔 RSS메모리를 주기적으로 관찰해야할 필요가 있습니다.
커맨드 등등으로 했었는데 아래 bash쉘로도 가능합니다.
- 참고: https://poonamparhar.github.io/dynamic_compiler_threads/
#!/bin/bash
pid=$1
smaps_file=/proc/$pid/smaps
output_file=rss_$pid.out
rm rss_$pid.out
echo 'Monitoring RSS of the Process' $pid. Saving output to file $output_file.
while true
do
# Get the current timestamp
timestamp=$(date +"%FT%T%z")
# Get the current RSS value
rss=$(grep -m 1 "^Rss:" "$smaps_file" | awk '{print $2}')
# write timestamp and rss to the output file
echo "$timestamp: $rss" >> "$output_file"
sleep 5
done
위 스크립트 생성 후 ps -ef | grep java 로 PID 확인해서 스크립트 아큐먼트로 PID를 입력해서 사용하면 파일로 저장됩니다.
P.S. 링크 글 자체의 퀄리티도 꽤 높습니다. 이런 글 볼때마다 커널이나 OS 공부, C공부를 다시 깊게 해보고 싶다는 생각이 드는군요.