测量 Linux 上的峰值 nvidia GPU 内存使用情况

bct*_*bct 4 linux bash cuda gpu

要测量我的程序当前使用的 GPU 内存,我可以使用以下命令(ubuntu linux、nvidia GPU):

while true; do nvidia-smi --query-gpu=memory.used --format=csv; sleep .5; done|grep -v memory
Run Code Online (Sandbox Code Playgroud)

它会定期输出如下值:

70 MiB
74 MiB
75 MiB
76 MiB
77 MiB
77 MiB
70 MiB
Run Code Online (Sandbox Code Playgroud)

是否可以修改命令以始终显示最大值而不是最新值?

(如果可能的话,以仅 bash 的方式)

Sri*_*uru 5

不确定,但你可以这样尝试一下。

a=0
while true; do 
b=$(nvidia-smi --query-gpu=memory.used --format=csv|grep -v memory|awk '{print $1}')
[ $b -gt $a ] && a=$b && echo $a 
sleep .5
done
Run Code Online (Sandbox Code Playgroud)