我想知道是否有一种方法可以使用 top 或其他程序来跟踪我将运行的脚本的内存消耗。我正在使用
runtime.totalMemory - runtime.freeMemory
但这并没有减少它,因为它考虑了整个系统,而不仅仅是我想要跟踪的过程。
我正在使用 shell 脚本来运行 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
=================================
如果您询问要运行的脚本,那么我相信没有办法检查它,因为它可能会调用任何东西,而轮到它也可以调用很多东西等等。