VS-Code verursacht 17.10, 18.04 zufällig und vollständig einfrieren


16

Bitte lesen Sie : Siehe das letzte Bit. Ich glaube nicht, dass dies ein Problem im Zusammenhang mit Ubuntu ist, sondern eher VS Code.

Vor kurzem, unter 17.10 und 18.04 (ich habe heute gerade ein Upgrade durchgeführt), wird Ubuntu zufällig und vollständig einfrieren. Ich kann den Cursor nicht bewegen oder die Tastatur benutzen. Natürlich habe ich erfolglos versucht, zu einer TTY-Sitzung zu wechseln. Jedes Mal muss ich auf SysRq+ zurückgreifen REISUB, was (offensichtlich) nicht bevorzugt wird.

Ich habe versucht, Grafiktreiber zu wechseln, auf der Theorie, dass es das sein könnte. Ich habe ursprünglich den Open-Source-Treiber nVidia verwendet und ohne Erfolg auf den proprietären Treiber umgestellt. Ich verwende derzeit den Open Source-Treiber.

Alles, was ich normalerweise geöffnet habe, ist Firefox (nicht eine Menge geladener Registerkarten ) und VS-Code, wobei höchstens ein paar Dateien und ein Terminal geöffnet sind.

Irgendwelche Ideen?

Update: Die Systemprotokolle zeigen keine Anzeichen von irgendetwas überhaupt geschieht, geschweige denn etwas falsch. Ich weiß nicht, ob dies damit zusammenhängt, aber manchmal (und insbesondere nach dem Booten) benötigen Programme viel Zeit (> 5-10 Sekunden), selbst Befehlszeilenprogramme.

Noch ein Update! - Auch wenn alle GNOME-Erweiterungen deaktiviert waren, stürzte es immer noch ab. Ich habe XFCE ausprobiert, das immer noch abgestürzt ist.

Zusammenfassung : Ubuntu friert zu scheinbar zufälligen Zeiten vollständig ein und hinterlässt keine Spuren in den Protokollen. Es bezieht sich nicht auf eine bestimmte Desktop-Umgebung oder GNOME-Erweiterungen.

(wahrscheinlich endgültiges) Update: Ich bin überzeugt, dass dies ein Problem mit VS Code ist. Ich habe GNOME seit Tagen mit anderen geöffneten Electron-Apps (Slack, Pulse usw.) ausgeführt und hatte kein einziges Einfrieren. Ich habe DM'd VS Code auf Twitter und werde wahrscheinlich einen Fehlerbericht einreichen, da sie noch nicht geantwortet haben.


1
Beginnen Sie mit Ihren Protokollen. Das ist viel einfacher als mit Videotreibern zu spielen.
user535733

@ user535733 Welches Protokoll speziell?
jhpratt GOFUNDME RELICENSING

Hallo jhpratt, für mich hat diese askubuntu.com/a/870235/790920 gearbeitet .
abu_bua

@jhpratt Ich schlage vor, ALLE Ihre Protokolle in / var / log methodisch zu durchsuchen. Es sollte ziemlich schnell klar sein, welche relevant sind und welche nicht. Sie suchen natürlich nach den wenigen Sekunden, bevor ein Einfrieren auftritt, und lesen nicht nur mühsam alles ... es ist also hilfreich, wenn Sie die GENAUE Zeit eines Vorfalls verfolgen.
user535733

1
journalctl -b -1 -xezeigt Ihnen die Protokolle am Ende des vorherigen Startvorgangs an. Wie viel RAM hast du? Wie viel Tausch? free;swaponwerde es dir sagen.
Walzer

Antworten:


7

Es stellt sich also heraus, dass dies nicht spezifisch für Ubuntu ist, aber ich werde dies trotzdem hier veröffentlichen, um später darauf zurückgreifen zu können.

Offenbar, obwohl ich bestimmte Dateien bin ignoriere die Verwendung files.excludeEinstellung (insbesondere das ./node_modulesVerzeichnis), VS - Code noch Uhren , diese Dateien auf Änderungen.

Um dies zu lösen, kopieren Sie einfach die Liste von files.excludenach files.watcherExclude. Dadurch wird verhindert, dass VS Code die vielen tausend Dateien durchsucht, die sich in node_modulesoder ähnlichen Verzeichnissen befinden. Auf diese Weise bleibt etwas RAM für Chrome zum Verschlingen übrig.


hi @jhpratt sind diese Änderungen, auf die Sie sich beziehen, Änderungen, die in der settings.jsonDatei von VS Code vorgenommen werden sollen?
Cryanbhu

1
@cryanbhu Ja, das ist richtig. Nach meinem besten Wissen sind diese Informationen auch noch korrekt.
jhpratt GOFUNDME RELICENSING

2
Ich kann sehen, dass node_modulesdas unter ist, watcherExcludeaber ich stehe immer noch vor dem gleichen Problem.
Mohammad Faisal

3

Ich bin gerade darauf gestoßen. Beim Start eines großen Projekts frierte mein System nach ca. 20 Sekunden ein und reagierte nicht mehr (Ubuntu 18.04). Das Ausführen von htop beim Starten von VSCode zeigte, dass alle Kerne zu 100% (i7-8700K) benötigt wurden, der gesamte Speicher (16 GB) und dann der Swap verbraucht wurden. Das Einfrieren geschah Momente später. Dies geschah aufgrund einer schlechten Erweiterung, in meinem Fall war es CSS Peek.

Starten Sie also vscode mit deaktivierten Erweiterungen (Code --disable-extensions) und prüfen Sie, ob dies weiterhin der Fall ist. Wenn es die fehlerhafte Erweiterung nicht aufspürt und zur Hölle schickt .

Ich hatte zufällige vollständige Einfrierungen und verbrachte einige Stunden damit, herauszufinden, warum. Beim Neustart waren die Protokolle wirklich nicht hilfreich. Anfangs dachte ich, es sei der NVIDIA-Treiber, aber nein - nur eine VSCode-Erweiterung.


2

Ich habe das gleiche Problem in meinem Ubuntu 16.04.

Ich habe git.autorefresh in den Einstellungen ausgeschaltet , dann funktioniert es einwandfrei und reibungslos


1
Hat mir auch geholfen, danke.
ivan.ukr

1

Ich habe das gleiche Problem erlebt. Schließlich stellte ich fest, dass in meinem Fall das Problem nicht mehr ausreicht (ich habe 8 GB RAM und nur 1 GB Swap-Partition auf der Festplatte). Ich habe dies behoben, indem ich zusätzlichen Swap-Speicherplatz mithilfe der Datei in meinem Stammverzeichnis zugewiesen habe:

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

Dadurch werden vorübergehend zusätzliche 8 GB Swap für Ihr System aktiviert. Wenn es hilft, können Sie hier weitere Anweisungen zum ständigen Aktivieren eines neuen Austauschs lesen.

Weitere Optionen sind: RAM physisch hinzufügen oder Swap-Partition hinzufügen / vergrößern.

Ich habe New Swap als Datei verwendet, weil ich ein mit luks + lvm verschlüsseltes System habe und die Größe der vorhandenen Swap-Partition in meinem Fall zu kompliziert und riskant ist.

PS Ich habe Ubuntu 18.04


Wahrscheinlich wird niemand Zeit / Geld damit verbringen, den Arbeitsspeicher aufgrund eines "Texteditors" zu erhöhen.
Matousc

@matousc Nun, Sie haben Recht, und aus diesem Grund ist es eine zweite Option. Zuerst ist Swap hinzuzufügen
Artem S.

@matousc VS Code ist eine vollwertige IDE sowie ein Texteditor.
Prooffreader

1

Ich habe auch unter zufälligen Systemabstürzen gelitten, als ich VSC ausführte. Ich habe sogar versucht, ohne Erweiterungen zu starten, was mir überhaupt nicht geholfen hat. Einige Male ist mein System beim Start von VSC eingefroren.

Ich habe jedoch die Protokolle überprüft und festgestellt, dass diese Abstürze möglicherweise mit dem Grafiktreiber (NVidia GTX 660) zusammenhängen.

Lösung in meinem Fall: Wechsel von Nouveau zu proprietärem Treiber (ich habe das Metapaket gewählt)

Übrigens: Mit Ubuntu 18.04


1

Ich hatte das gleiche Problem. Um dies für ein bestimmtes Projekt zu beheben, müssen Sie das aktualisieren .vscode/settings.json, um ungefähr so ​​auszusehen:

{
  "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
  }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.