vacia tengo suficiente puedo pero nada memoria llena liberar interno interna insuficiente instalar hay habiendo esta espacio error disponible como celular borrar aplicaciones almacenamiento cuda gpgpu remote-access

cuda - tengo - no hay suficiente espacio de almacenamiento sd



¿Cómo puedo vaciar la memoria de la GPU utilizando CUDA(el restablecimiento físico no está disponible) (5)

Mi programa CUDA se bloqueó durante la ejecución, antes de que se vaciara la memoria. Como resultado, la memoria del dispositivo permaneció ocupada.

Me estoy ejecutando en un GTX 580, para el cual no se admite nvidia-smi --gpu-reset .

La colocación de cudaDeviceReset() al principio del programa solo afecta el contexto actual creado por el proceso y no vacía la memoria asignada antes.

Estoy accediendo a un servidor de Fedora con esa GPU de forma remota, por lo que el restablecimiento físico es bastante complicado.

Entonces, la pregunta es: ¿hay alguna forma de vaciar la memoria del dispositivo en esta situación?


Aunque no debería ser necesario hacer esto en circunstancias que no sean excepcionales, la manera recomendada de hacer esto en los hosts de Linux es descargar el controlador nvidia haciendo

$ rmmod nvidia

con privilegios de root adecuados y luego volver a cargarlo con

$ modprobe nvidia

Si la máquina está ejecutando X11, deberá detener esto manualmente de antemano y reiniciarlo después. Los procesos de inicialización del controlador deben eliminar cualquier estado anterior en el dispositivo.

Esta respuesta se ha recopilado de los comentarios y se ha publicado como un wiki de la comunidad para que esta pregunta salga de la lista sin respuesta de la etiqueta CUDA.


Primer tipo

nvidia-smi

A continuación, seleccione el PID que desea matar

sudo kill -9 PID



comprueba qué está usando tu memoria GPU con

sudo fuser -v /dev/nvidia*

Su salida se verá algo como esto:

USER PID ACCESS COMMAND /dev/nvidia0: root 1256 F...m Xorg username 2057 F...m compiz username 2759 F...m chrome username 2777 F...m chrome username 20450 F...m python username 20699 F...m python

Luego htop el PID que ya no necesita en htop o con

sudo kill -9 PID.

En el ejemplo anterior, Pycharm estaba comiendo mucha memoria, así que maté a 20450 y 20699.


en macOS (/ OS X), si alguien más está teniendo problemas con el sistema operativo, aparentemente pierde memoria:

  • https://github.com/phvu/cuda-smi es útil para verificar rápidamente la memoria libre
  • Al salir de las aplicaciones parece liberarse la memoria que usan. Salga de todo lo que no necesita, o salga de las aplicaciones una por una para ver cuánta memoria usaron.
  • Si eso no lo corta (salir de aproximadamente 10 aplicaciones liberadas alrededor de 500 MB / 15% para mí), el mayor consumidor con diferencia es WindowServer. Puede forzar la salida, lo que también anulará todas las aplicaciones que esté ejecutando y lo desconectará. Pero es un poco más rápido que un reinicio y me devolvió al 90% de memoria libre en el dispositivo cuda.