실행할 스크립트의 메모리 소비를 추적하기 위해 top 또는 다른 프로그램을 사용할 수 있는 방법이 있는지 궁금합니다. 나는 사용하고있다
runtime.totalMemory - runtime.freeMemory
그러나 추적하려는 프로세스뿐만 아니라 전체 시스템을 고려하기 때문에 이는 중요하지 않습니다.
저는 scala 프로그램을 실행하기 위해 쉘 스크립트를 사용하고 있으며 해당 프로그램의 메모리 사용량을 추적하고 싶습니다.
답변1
SCALAPID=$!
백그라운드에서 scala 프로세스를 시작한 후 추적하려는 scala 프로세스의 PID를 가져온 다음 ps -o size= -q $SCALAPID
반환 값을 사용하여 해당 프로세스의 메모리 사용량을 킬로바이트 단위로 찾습니다.
답변2
이미 실행 중인 프로세스의 메모리를 확인하려면 다음을 시도하십시오.이것:
# ./ps_mem.py
Private + Shared = RAM used Program
188.0 KiB + 52.0 KiB = 240.0 KiB atd
.....
25.9 MiB + 66.0 KiB = 26.0 MiB memcached
53.1 MiB + 106.5 KiB = 53.2 MiB named
453.2 MiB + 107.0 KiB = 453.3 MiB mysqld
---------------------------------
1.2 GiB
=================================
실행할 스크립트에 대해 묻는 경우 스크립트가 무엇이든 호출할 수 있고 차례대로 많은 것을 호출할 수 있으므로 확인할 방법이 없다고 생각합니다.