nvidia-smi提供的信息是瞬时信息还是区间平均值?

17

当我使用nvidia-smi -l 60时,例如,我会想知道:

  • 所给出的信息是每60秒使用时的快照
  • 所给出的信息是时间加减60秒内的平均值

你知道答案吗?我还没有找到。

谢谢。


当有许多应用程序在使用8xK80 GPU时,查询速度非常慢。对于复杂情况,可能每秒只能进行1次快照查询。 - huseyin tugrul buyukisik
1个回答

43

-l选项在给定的秒数内执行对nvidia-smi的轮询操作(如果您想要每个特定毫秒执行,则为-lms)。因此基本上是按照给定的时间间隔进行快照。

实际上,如果您只想监控它,您可以使用watch工具执行相同的操作(这是在shell脚本中进行轮询的标准方式)。这将显示nvidia-smi输出并每1秒更新一次: watch -n 1 nvidia-smi

如果您想将其重定向到某个文件(并且最终过滤它,如果您对某些特定指标感兴趣),您还可以构建一个简短的shell脚本来执行。如下所示:

while true; do nvidia-smi | tee -a logfile && sleep 2; done


2
我对在此间隔循环中收集平均值很感兴趣,而不是快照。使用-l或watch有什么区别? - Vincent Rossignol
1
这是一样的,但如果实用程序没有此功能,那么您可以这样做。如果您确实想要平均值,则需要更频繁地轮询(例如每秒钟一次),然后进行平均。 - Emilien
2
要以毫秒为单位获取更新,请使用-lms。例如,每秒更新20次:nvidia-smi -lms 50 - automorphic
使用-lms只是在控制台中重复输出,但不会替换输出,因此在Ubuntu 18.04上对我来说-lms 50是无用的。观察选项运行良好。 - phi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接