시간이 많이 걸리는 프로세스를 실행하고 있습니다. 시간은 크게 문제가 되지 않지만 RAM이 얼마나 필요한지 알고 싶습니다. 프로세스가 이미 실행 중이므로 /usr/bin/time
옵션이 아닙니다. 프로세스의 pid를 찾아서 실행했습니다.
watch -n 1 grep VmHWM /proc/3100/status
잘 작동하고 그대로 두고 다른 작업을 한 다음 나중에 1초 간격으로 값이 기록된 내용을 확인할 수 있습니다. watch가 마지막 유효한 출력을
grep: /proc/3100/status: No such file or directory
옵션을 사용해도 -e
도움이 되지 않습니다. watch
0이 아닌 종료 시 출력을 플러시하지 않는 방법이 있습니까 ? 아니면 이전 제로 출구가 계속 표시되도록 가장 가까운 두 개의 출구를 표시하시겠습니까?
답변1
이를 위해 쉘 while 루프를 사용합니다.
pid=3100
while out=$(grep VmHWM /proc/$pid/status); do
printf "\r$out "
sleep 1
done
printf "\n"