Every 1.0s: nvidia-smi                                                                                                                                                                Tue Feb 20 12:49:34 2018

Tue Feb 20 12:49:34 2018
| NVIDIA-SMI 390.25                 Driver Version: 390.25                    |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|   0  Quadro M1000M       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   59C    P0    N/A /  N/A |   1895MiB /  2002MiB |     64%      Default |

| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|    0      1166      G   /usr/lib/xorg/Xorg                           239MiB |
|    0      1864      G   compiz                                        80MiB |
|    0      6755      C   python                                      1408MiB |
|    0     25674      G   ...-token=5769296849603E2A1B668201DBB31D6A   149MiB |

I'm a new practitioner of keras+gpu based deep learning.
What is this watch -n 1 nvidia-smitelling me?
Is there any value proposition in it, can it be used for improving performance of the gpu?

In the backgrpound a small Keras model is training.

  • $\begingroup$ What's the difference b/w Memory Usage and GPU Memory Usage? $\endgroup$ Commented Feb 21, 2019 at 1:15

2 Answers 2


watch is linux command and not related to nvidia-smi command,which using that the nvidia-smi command will be updated every 1 second and it give you a view to see how gpu parameters changing like: RAM usage, temperature, P0(means performance,which p0 is best performance and performance decrease when you get p1,p2,...)

about "can it be used for improving performance of the gpu?" the performance of gpu is showing by p0 so your gpu currently is in max performance.

note that minimum interval for watch command is 0.1 second so if you use watch -n 0.1 nvidia-smi then every 0.1 second the output will be update.

for further information type man watch or man nvidia-smi in terminal.

  • $\begingroup$ Also nvidia-smi has looping capabilities built in, no need to use watch. You could instead use nvidia-smi -l 1 $\endgroup$
    – kbrose
    Commented Feb 21, 2018 at 14:07

You can refer to this blog post: Like top, but for GPUs for the detailed explanation of the dashboard.

What is this watch -n 1 nvidia-smitelling me?

That is the same result of nvidia-smi -l 1, which tells us how the GPUs are being used. We can place our GPUs to the device(s) that have not been occupied if multiple GPUs are available, and we can check if our model runs well and how much memory it needs.

Is there any value proposition in it, can it be used for improving performance of the gpu?

It is definitely for helping us to improve its performance. We can check the memory usage and GPU-Util to allocate the computation.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.