VS Codeにより17.10、18.04がランダムに完全にフリーズする


16

読んでください:最後のビットを参照してください。これはUbuntuに関連する問題ではなく、VS Codeに関連する問題だとは思わない。

最近、17.10 および 18.04(今日アップグレードしたばかり)で、Ubuntuはランダムに完全にフリーズします。カーソルを動かしたり、キーボードを使用したりできません。当然、私は成功せずにTTYセッションに切り替えようとしました。毎回、SysRq+ REISUBに頼らなければなりませんが、これは(明らかに)優先されません。

それがあるかもしれないという理論に基づいて、グラフィックスドライバーを切り替えようとしました。私はもともとオープンソースのnVidiaドライバーを使用していましたが、独自仕様に切り替えて利用できませんでした。現在、オープンソースドライバーを使用しています。

私が通常開いているのは、Firefox(たくさんのタブがロードされていない)とVS Codeだけで、最大でいくつかのファイルとターミナルが開いています。

何か案は?

更新:システムログには、何か問題があることは言うまでもなく、何も起きていないことが示されます。これが関連するかどうかはわかりませんが、コマンドラインプログラムであっても、プログラムがかなりの時間(5〜10秒以上)を要することがあります(特にブート後)。

さらに別のアップデート!—すべてのGNOME拡張機能を無効にしても、クラッシュします。XFCEを試しましたが、まだクラッシュしていました。

要約:Ubuntuは一見ランダムな時間に完全にフリーズし、ログに痕跡を残さず、特定のデスクトップ環境やGNOME拡張機能とは関係ありません。

(おそらく最終)更新:これはVS Codeの問題だと確信しています。私は他のElectronアプリ(Slack、Pulseなど)を開いた状態でGNOMEを何日も実行していますが、一度もフリーズしていません。TwitterでVS CodeをDMで公開しましたが、まだ応答していないため、バグレポートを提出する可能性があります。


1
ログから始めます。ビデオドライバーをいじるよりもずっと簡単です。
-user535733

@ user535733どのログを具体的に?
jhpratt GOFUNDME RELICENSING

こんにちはjhpratt、私はこのaskubuntu.com/a/870235/790920で働いていました
-abu_bua

@jhpratt / var / log内のすべてのログを系統的に検索することをお勧めします。どれが関連性があり、どの関連性がないかは、すぐに明らかになるはずです。もちろん、すべてを読み続けるだけでなく、フリーズが発生する前の数秒間を検索しているので、インシデントの正確な時間を把握しておくと役立ちます。
-user535733

1
journalctl -b -1 -xe前回のブートの最後にログを表示します。RAMはどれくらいありますか?どのくらいのスワップ?free;swapon教えてくれます。
ワルチネーター

回答:


8

したがって、これはUbuntuに固有のものではないことがわかりましたが、今後の参考のためにとにかくここに投稿します。

どうやら、files.exclude設定(特に./node_modulesディレクトリ)を使用して特定のファイルを無視しているにもかかわらず、VS Code それらのファイルの変更を監視しています。

これを解決するには、リストをからfiles.excludeにコピーするだけfiles.watcherExcludeです。これにより、VS Codeは、node_modules他の類似したディレクトリにある何千ものファイルを検索できなくなります。そうすれば、それは残して、いくつかのクロームが飲み込んするためにRAMを。


こんにちは@jhprattは、VS Codeのsettings.jsonファイルで行われる変更を参照しているこれらの変更ですか?
cryanbhu

1
@cryanbhuはい、それは正しいです。私の知る限り、この情報はまだ正確です。
jhpratt GOFUNDME RELICENSING

2
私はそれnode_modulesが下にあることがわかりますwatcherExcludeが、私はまだ同じ問題に直面しています。
モハンマドファイサル

3

私はこれに出くわしました。起動時に、大きなプロジェクトで、私のシステムは20秒後にフリーズし、応答しなくなります(Ubuntu 18.04)。VSCodeの起動中にhtopを実行すると、すべてのコアが100%(i7-8700K)になり、すべてのメモリ(16gb)を使用してからスワップを使用することが示されました。凍結はすぐに起こりました。これは拡張機能が悪いために発生していました。私の場合はCSS Peekでした。

そのため、拡張機能を無効にして(code --disable-extensions)vscodeを起動してみて、まだ発生するかどうかを確認してください。障害のある拡張機能を追跡して、地獄に送信しない場合。

ランダムな完全フリーズが発生し、その原因を突き止めるためにかなりの時間を費やしました。再起動時に、ログは実際には役に立ちませんでした。最初はnvidiaドライバーだと思っていましたが、いや-単なるVSCode拡張機能です。



2

同じ問題がありました。特定のプロジェクトでこれを修正するには、.vscode/settings.json次のように更新する必要があります。

{
  "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
  }
}

1

私は同じ問題を経験しました。結局、私の場合、問題はメモリ不足になっていることに気付きました(8GBのRAMとディスク上に1GBのスワップパーティションしかありません)。ルートディレクトリのファイルを使用して追加のスワップスペースを割り当てることで、これを修正しました。

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

これにより、システムで追加の8GBのスワップが一時的に有効になります。役立つ場合は、ここで新しいスワップを常に有効にするための詳細な手順を参照できます。

別のオプションは、RAMを物理的に追加するか、スワップパーティションを追加/拡大します。

luks + lvmで暗号化されたシステムを入手し、既存のスワップパーティションのサイズを変更するのは複雑すぎるため、ファイルとして新しいスワップをファイルとして使用しました。

PS Ubuntu 18.04を入手しました


「テキストエディタ」のためにRAMの増加に時間/お金を費やす人はいないでしょう。
-matousc

@matouscええ、あなたは正しいです。そのため、2番目のオプションです。最初は、スワップを追加することです
アルテムS.

@matousc VS Codeは、本格的なIDEであり、テキストエディターです。
-prooffreader

1

また、VSCの実行中にシステムがランダムにクラッシュすることもありました。拡張機能なしで起動しようとしても、まったく役に立ちませんでした。VSCの起動時にシステムが数回フリーズしました。

ただし、ログを確認したところ、これらのクラッシュはグラフィックスドライバー(NVidia GTX 660)に関連している可能性があることがわかりました。

私の場合の解決策: Nouveauから独自のドライバーに切り替える(メタパッケージを選択しました)

ところで:Ubuntu 18.04の使用

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.