How to shift process from GPU to CPU usage
Your GPU is being used for both display and compute processes; you can see which is which by looking at the “Type” column — “G” means that the process is a graphics process (using the GPU for its display), “C” means that the process is a compute process (using the GPU for computation).
To move a type “G” process of the GPU, you need to stop it from displaying on the GPU, which will involve stopping the process and (if appropriate) starting it on another GPU for display purposes.
As far as the ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files
process is concerned, you’ll have to look for it using ps
to determine what it is.
As Stephen pointed out you can use the command ps followed by the PID to determine which process is using your GPU.
I was also puzzled by the odd looking process name shown in the nvidia-smi output:
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.138 Driver Version: 390.138 |
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1461 G /usr/lib/xorg/Xorg 54MiB |
| 0 3495 G ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files 59MiB |
+-----------------------------------------------------------------------------+
In my case it was google chrome and that long string of AAAs is used to set the GPU preferences in Chrome.
$ ps -fp 3495
UID PID PPID C STIME TTY TIME CMD
ovalerio 3495 3467 0 10:37 tty2 00:04:04 /opt/google/chrome/chrome --type=gpu-process --field-trial-handle=6716317491882142118,16579441558825986940,131072 --gpu-preferences=MAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAQAAAAAAAAAAAAAAAAAAAACAAAAAAAAAA= --shared-files