我试图监控一个使用CUDA和MPI的进程,有没有办法我可以做到这一点,像命令“顶部”,但也监控GPU ?


当前回答

您可以使用监控程序glances及其GPU监控插件:

开源 安装方法:sudo apt-get install -y python-pip;Sudo PIP安装[gpu] 启动:sudo扫视

它还监视CPU、磁盘IO、磁盘空间、网络和其他一些东西:

其他回答

您可以使用监控程序glances及其GPU监控插件:

开源 安装方法:sudo apt-get install -y python-pip;Sudo PIP安装[gpu] 启动:sudo扫视

它还监视CPU、磁盘IO、磁盘空间、网络和其他一些东西:

要获得使用资源的实时洞察,请执行:

Nvidia-smi -l

这将在每一秒循环并调用视图。

如果你不想在控制台历史记录中保留循环调用的过去痕迹,你也可以这样做:

观看-n0.1 nvidia-smi

其中0.1是时间间隔,单位为秒。

如果你只是想找到运行在gpu上的进程,你可以简单地使用下面的命令:

lsof /dev/nvidia*

对我来说,nvidia-smi和watch -n 1 nvidia-smi在大多数情况下已经足够了。有时nvidia-smi显示没有进程,但gpu内存用完了,所以我需要使用上面的命令来查找进程。

这可能不够优雅,但你可以尝试一下

while true; do sleep 2; nvidia-smi; done

我也尝试了@Edric的方法,它很有效,但我更喜欢nvidia-smi的原始布局。

你可以使用nvidia-smi pmon -i 0来监控GPU 0中的每个进程。 包括计算模式、sm使用情况、内存使用情况、编码器使用情况、解码器使用情况。