VS Code causa 17.10, 18.04 congelado al azar y completamente

16

Por favor lea : Vea el último bit. No creo que este sea un problema relacionado con Ubuntu, sino VS Code.

Recientemente, bajo 17.10 y 18.04 (acabo de actualizar hoy), Ubuntu se congelará al azar y por completo. No puedo mover el cursor ni usar el teclado. Naturalmente, he intentado cambiar a una sesión TTY sin éxito. Cada vez, debo recurrir a SysRq+ REISUB, que (obviamente) no es preferido.

He intentado cambiar los controladores de gráficos, en la teoría de que puede ser eso. Originalmente estaba usando el controlador nVidia de código abierto, y cambié al propietario en vano. Actualmente estoy usando el controlador de código abierto.

Todo lo que normalmente tengo abierto es Firefox (no hay un montón de pestañas cargadas ) y VS Code, con a lo sumo un par de archivos y un terminal abierto.

¿Algunas ideas?

Actualización: los registros del sistema no muestran indicios de que algo esté sucediendo, y mucho menos de que algo esté mal. No sé si esto está relacionado, pero a veces (y especialmente después del arranque) los programas toman una cantidad significativa de tiempo (> 5-10 segundos), incluso los programas de línea de comandos.

¡Otra actualización más! - Incluso con todas las extensiones de GNOME deshabilitadas, todavía se bloqueó. Intenté XFCE, que todavía se bloqueó.

Resumen : Ubuntu se congela por completo en momentos aparentemente aleatorios, sin dejar rastro en los registros, y no está relacionado con ningún entorno de escritorio específico o extensiones de GNOME.

(probablemente final) actualización: estoy convencido de que este es un problema con VS Code. He estado ejecutando GNOME durante días, con otras aplicaciones de Electron abiertas (Slack, Pulse, etc.), y no he tenido una sola congelación. Tengo DM'd VS Code en Twitter, y es probable que presente un informe de error ya que aún no han respondido.

jhpratt GOFUNDME RELICENSING
fuente
1
Comience con sus registros. Eso es mucho más fácil que jugar con controladores de video.
user535733
@ user535733 ¿Qué registro específicamente?
jhpratt GOFUNDME RELICENSING
Hola jhpratt, para mí funcionó este askubuntu.com/a/870235/790920 .
abu_bua
@jhpratt Sugiero buscar metódicamente TODOS sus registros en / var / log. Debería ser evidente rápidamente cuáles son relevantes y cuáles no. Por supuesto, está buscando los pocos segundos antes de que ocurra un congelamiento, no solo leyendo tediosamente todo ... por lo que es útil si realiza un seguimiento del tiempo EXACTO de un incidente.
user535733
1
journalctl -b -1 -xele mostrará los registros al final del arranque anterior. ¿Cuánta RAM tienes? ¿Cuánto cambio? free;swaponte diré.
waltinator 01 de

Respuestas:

8

Resulta que esto no es específico de Ubuntu, pero lo publicaré aquí de todos modos para referencia futura.

Aparentemente, a pesar de que estoy ignorando ciertos archivos usando la files.excludeconfiguración (especialmente el ./node_modulesdirectorio), VS Code aún observa esos archivos en busca de cambios.

Para resolver eso, simplemente copie la lista de files.excludea files.watcherExclude. Esto evitará que VS Code busque en los miles de archivos que están en node_modulesu otros directorios similares. De esa manera, dejará un poco de RAM para que Chrome se engulle.

jhpratt GOFUNDME RELICENSING
fuente
hola @jhpratt, ¿estos cambios te refieres a los cambios que se realizarán en el settings.jsonarchivo de VS Code ?
cryanbhu
1
@cryanbhu Sí, eso es correcto. Que yo sepa, esta información también es precisa.
jhpratt GOFUNDME RELICENSING
2
Puedo ver que node_modulesestá debajo watcherExcludepero todavía estoy enfrentando el mismo problema.
Mohammad Faisal
**/.git/objects/**, **/.git/subtree-cache/**y **/node_modules/**se incluyen por defecto enfiles.watcherExclude
noraj
3

Me encontré con esto. Tras el lanzamiento, en un gran proyecto, mi sistema se congelaría después de ~ 20 segundos y dejaría de responder (Ubuntu 18.04). Ejecutar htop mientras se iniciaba VSCode mostró que llevó todos los núcleos al 100% (i7-8700K), se comió toda la memoria (16 gb) y luego el intercambio. La congelación ocurrió momentos después. Esto estaba sucediendo debido a una mala extensión, en mi caso fue CSS Peek.

Por lo tanto, intente iniciar vscode con extensiones deshabilitadas (código --disable-extensions) y vea si aún sucede. Si no rastrea la extensión defectuosa y la envía al infierno .

Tuve congelaciones aleatorias y pasé bastantes horas tratando de averiguar por qué. Al reiniciar, los registros realmente no fueron útiles. Inicialmente pensé que era el controlador nvidia, pero no, solo una extensión VSCode.

neculaesei
fuente
3

Tengo el mismo problema en mi Ubuntu 16.04.

Hice interruptor de apagado git.autorefresh en los ajustes , entonces funciona sin problemas y sin problemas

Kumar Immanuel
fuente
1
También me ayudó, gracias.
ivan.ukr
Este parámetro está deshabilitado de forma predeterminada.
noraj
2

Tuve el mismo problema. Para arreglar esto para un proyecto en particular, querrás actualizar el .vscode/settings.jsonpara que se vea así:

{
  "python.pythonPath": "/usr/bin/python3",
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/node_modules": true,
    "**/.firebase": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true
  }
}
Rudolf Olah
fuente
1
esos 3 files.watcherExcludeson los predeterminados en el código vs 1.42.1
noraj
1

He experimentado el mismo problema. Finalmente, me di cuenta de que en mi caso el problema se está quedando sin memoria (tengo 8 gb de ram y solo 1 gb de partición de intercambio en el disco). Arreglé esto asignando espacio de intercambio adicional usando el archivo en mi directorio raíz:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

esto habilitará temporalmente 8 gb adicionales de intercambio para su sistema. Si le ayuda, aquí puede leer más instrucciones para habilitar el intercambio nuevo constantemente.

Otras opciones son: agregar RAM físicamente o agregar / ampliar la partición de intercambio.

Usé un nuevo intercambio como archivo porque obtuve el sistema encriptado luks + lvm y cambiar el tamaño de la partición de intercambio existente es demasiado complicado y arriesgado en mi caso.

PD: tengo Ubuntu 18.04

Artem S.
fuente
Probablemente nadie gastará tiempo / dinero aumentando la RAM debido a un "editor de texto".
matousc
@matousc, tienes razón, y por eso es una segunda opción. Primero es agregar swap
Artem S.
@matousc VS Code es un IDE completo, así como un editor de texto.
Prooffreader
1

También he sufrido bloqueos aleatorios del sistema al ejecutar VSC. Incluso intenté comenzar sin extensiones, lo que no me ayudó en absoluto. Algunas veces mi sistema se congeló en el inicio de VSC.

Sin embargo, revisé los registros y descubrí que estos bloqueos podrían correlacionarse con el controlador de gráficos (NVidia GTX 660).

Solución en mi caso: cambiar de Nouveau a controlador propietario (he elegido el metapaquete)

Por cierto: Usando Ubuntu 18.04

Gordon
fuente