VSCodeのSSH接続によるサーバー高負荷の原因と対策

Mario
2024-09-20
2024-09-20

VSCodeを使用してサーバーにSSH接続していると、時々サーバーの負荷が異常に高くなることがあります。これによりパフォーマンスが低下し、作業が困難になることがあります。サーバーが通常より多くの作業を処理している状態を指し、応答時間の遅延や効率の低下を招きます。本記事では、この問題の原因と解決方法について説明します。

サーバー高負荷の原因

以下は、サーバーの負荷が高くなる一般的な理由です。

ファイル監視

VS Codeのファイル監視機能は、特に大規模なプロジェクトで大量のリソースを消費することがあります。ファイルの変更を常時監視するため、サーバーに負荷がかかることがあります。デフォルトでVS Codeは多くのディレクトリを監視対象としていますが、プロジェクトが大きくなるとその分負荷も増加します

拡張機能

一部の拡張機能は多機能で常時動作しているため、多くのリソースを消費することがあります。これがサーバーの高負荷の原因となることがあります。特に、リアルタイムの分析や補完機能を提供する拡張機能は注意が必要です。

リソース消費の多い拡張機能の例:

  • Live Server: リアルタイムのプレビュー機能がリソースを多く消費することがあります。
  • Prettier: 自動整形機能が頻繁に動作するため、負荷がかかることがあります。
  • IntelliCode: AI補完機能がリソースを消費することがあります。
  • ESLint: コード解析とエラーチェックを頻繁に行うため、高負荷になることがあります。
  • GitLens: Git履歴の表示と統合がリソースを消費することがあります。

解決方法

ファイル監視の設定を調整する

ファイル監視が原因の場合、VS Codeの設定でファイル監視を無効にするか、特定のディレクトリを監視対象から除外することで負荷を軽減できます。

ファイル監視を無効にする

ファイル監視が原因の場合、VS Codeの設定でファイル監視を無効にすることで負荷を軽減できます。

  1. ファイル > 設定 > 「Watcher exclude」を検索する
  2. 全部除外するために パターンを追加を押して、**を追加。vscodeを再起動

この設定を追加することで、全てのファイルの監視を停止し、リソースの節約が可能です。

一部のディレクトリだけ監視対象から外す

特定のディレクトリだけを監視対象から外すことも有効です。以下の設定を使用して、一部のディレクトリを除外します。

  • 「Watcher exclude」から**を削除し、除外たいいディレクトリ(たとえばvendorなど)を追加して、再起動してください。

これにより、不要なディレクトリの監視を避け、リソースの節約が可能です。

拡張機能の見直し

拡張機能を見直し、不要なものを無効化またはアンインストールします。また、リソース消費が多い拡張機能を特定し、必要に応じて代替の軽量な拡張機能に切り替えます。

  • 不要な拡張機能の無効化・アンインストール:  VS Codeのサイドバーから拡張機能アイコンをクリックします。不要な拡張機能を右クリックし、「無効化」または「アンインストール」を選択します。
  • リソース消費の確認: VSCodeの開発者ツール([ヘルプ] > [プロセスエクスプローラーを開く])を使用して、各拡張機能のリソース消費を確認できます。

おわりに

VS Codeを使っているときにサーバーの負荷が高くなる原因はいくつかありますが、適切な対策を取ることで問題を軽減できます。ファイル監視の設定変更や拡張機能の見直しを行うことで、高負荷を軽減し、サーバーのパフォーマンスを向上させることができます。