Shell 收集在特定ID下运行的所有java服务的最大内存

Shell 收集在特定ID下运行的所有java服务的最大内存,shell,sed,Shell,Sed,我们的进程在用户drack下运行。我们希望了解用户在特定时间使用的总内存。我提出了一个逻辑来验证一个进程何时运行,我在思考如何在多个进程运行时实现这一点上遇到了挑战。你能帮我学逻辑吗 这是我想到的 $ var1=`ps -ef|grep -i drack| egrep -vi "grep|bash"| egrep -o '|Xmx[0-9]*' |tr '\r' ' '` $ echo $var1 Xmx4096 $ var2=`echo $var1 | sed 's/^..

我们的进程在用户
drack
下运行。我们希望了解用户在特定时间使用的总内存。我提出了一个逻辑来验证一个进程何时运行,我在思考如何在多个进程运行时实现这一点上遇到了挑战。你能帮我学逻辑吗

这是我想到的

$ var1=`ps -ef|grep -i drack| egrep -vi "grep|bash"| egrep -o '|Xmx[0-9]*' |tr '\r' ' '`
$ echo $var1
Xmx4096
$ var2=`echo $var1 | sed 's/^...//'`
$ echo $var2
4096
$
我将分配给进程的最大内存存储在
var1
上,使用sed提取前3个值并保持
var2

如果你能推荐我以更好的方式实现它,那也会很有帮助

谢谢