Monitor the Graphics card usage

How can I monitor how much of the graphics card is used when I run a certain application? I want to see how much my application uses the GPU.


Solution 1:

If you develop in Visual Studio 2013 and 2015 versions, you can use their GPU Usage tool:

  • GPU Usage Tool in Visual Studio (video) https://www.youtube.com/watch?v=Gjc5bPXGkTE
  • GPU Usage Visual Studio 2015 https://msdn.microsoft.com/en-us/library/mt126195.aspx
  • GPU Usage tool in Visual Studio 2013 Update 4 CTP1 (blog) http://blogs.msdn.com/b/vcblog/archive/2014/09/05/gpu-usage-tool-in-visual-studio-2013-update-4-ctp1.aspx
  • GPU Usage for DirectX in Visual Studio (blog) http://blogs.msdn.com/b/ianhu/archive/2014/12/16/gpu-usage-for-directx-in-visual-studio.aspx

Screenshot from MSDN: enter image description here

Moreover, it seems you can diagnose any application with it, not only Visual Studio Projects:

In addition to Visual Studio projects you can also collect GPU usage data on any loose .exe applications that you have sitting around. Just open the executable as a solution in Visual Studio and then start up a diagnostics session and you can target it with GPU usage. This way if you are using some type of engine or alternative development environment you can still collect data on it as long as you end up with an executable.

Source: http://blogs.msdn.com/b/ianhu/archive/2014/12/16/gpu-usage-for-directx-in-visual-studio.aspx

Solution 2:

From Unix.SE: A simple command-line utility called gpustat now exists: https://github.com/wookayin/gpustat.

It is free software (MIT license) and is packaged in pypi. It is a wrapper of nvidia-smi.