Windows
 Computer >> コンピューター >  >> システム >> Windows

Windows11/10でのポート枯渇の問題のトラブルシューティング

コンピューター間で行われるネットワーク接続(TCPまたはUDPプロトコル)は、ポートを介して行われます。これらを、サービスまたはアプリケーションによって使用されるエントリポイントまたはゲートウェイとして想像してください。より多くのクライアント接続が確立されると、ポートの数が不足します。この投稿では、ポートの枯渇のトラブルシューティング方法を共有します 問題。

ポートには2つのタイプがあります–動的ポート および定義済みポート 。動的ポートを使用すると、複数のクライアントが定義済みのポートに接続できます。ウェブサイトは良い例です。通常、ポート80が定義されていますが、アクティブポートを使用すると、複数のクライアントにサービスを提供できます。動的ポートには制限があるため、すべてのポートがビジー状態になると接続が失敗し始めます。これは、ポートの枯渇と呼ばれます。

Windows11/10のポートの枯渇

Windows11/10でのポート枯渇の問題のトラブルシューティング

このトラブルシューティングガイドの主な目的は、どのプロセスまたはアプリケーションがポートを使い果たしているかを特定することです。決定したら、次のステップはアプリを修正することです。

ポートの枯渇を特定するための症状:

1]ドメイン資格情報を使用してマシンにサインインすることはできませんが、ローカルアカウントを使用してサインインすることはできます。すでに使用されているアカウントは機能する可能性がありますが、新しいアカウントは失敗します。キャッシュが原因で発生します。

2]グループポリシーの更新が失敗し始めます。変更を試みるたびに、「ドメインコントローラーとのネットワーク接続がないために失敗しました」というエラーが表示される場合があります。これは一時的なものである可能性がありますが、兆候です。

3]ファイル共有またはネットワークドライブにアクセスできなくなります。

4]アプリケーションがホストされているサーバーへのリモートデスクトップに障害が発生しました。

その他の兆候には、動的ポートの割り当てに失敗したというメッセージを含むTCPのイベントビューアのイベントID 4227、4231が含まれます。 NetStatコマンドは、特定のアプリケーションのTIME_WAIT状態などの膨大な数のエントリを表示します。

NetStat forWindows11/10およびWindowsServerを使用する

昇格された特権でコマンドプロンプトを開きます。

コマンドを実行します:

netstat -anobq

次に、BOUNDとして最大エントリを持つプロセスIDを確認します。

PowerShellを使用している場合は、以下のコマンドを使用して、バインドが最大のプロセスを特定できます。

Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Select -Property Count, Name, @{Name="ProcessName";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).Name}}, Group | Sort Count -Descendin

多くの場合、クライアントはポートを正しく閉じません。使用されていなくても、これらのポートは空いていません。これは、ポートが枯渇する最大の理由の1つです。

頻繁に必要になる場合は、Netstatコマンドをループで使用できます 。出力は、傾向を監視するために使用できるテキストファイルで利用できるようになります。スクリプトは次のようになります。

@ECHO ON
set v=%1
:loop
set /a v+=1
ECHO %date% %time% >> netstat.txt
netstat -ano >> netstat.txt

PING 1.1.1.1 -n 1 -w 60000 >NUL

goto loop

タスクマネージャーを使用して最大ハンドルを見つける

Windows11/10でのポート枯渇の問題のトラブルシューティング

このようなアプリケーションを見つけるためのもう少し自然な方法は、タスクマネージャーを使用することです。 PowerShellとコマンドプロンプトには独自のメリットがありますが、プロセスをすばやく確認したい場合は、これがより適切な方法です。

  • タスクマネージャを開き、[詳細]タブに切り替えます 。
  • いずれかの列を右クリックして、[列の選択]をクリックします。 。」
  • 利用可能なオプションから「ハンドル」を追加します。
  • ハンドル列ヘッダーをクリックして、最大数で並べ替えます。

Microsoftは、接続が失敗している場合は、ハンドルの数が3000を超えているかどうかを確認することをお勧めします。その場合は、アプリケーションが原因です。ただし、OSサービスはこれに対する例外です。その他の場合は、そのプロセスを1回停止してから、ドメインクレデンシャルを使用してログインし、成功するかどうかを確認してください。

Process Explorer

Windows11/10でのポート枯渇の問題のトラブルシューティング

タスクマネージャが役に立たない場合は、ProcessExplorerを使用できます。これは、DLLバージョンの問題を追跡したり、リークを処理したり、不正なアプリケーションへの洞察を提供したりするのに役立ちます。 Process Explorerは、ここからダウンロードしてインストールする必要があります。必ず昇格された権限で実行してください。

  1. 列ヘッダーを右クリックして、[列の選択]を選択します。
  2. [パフォーマンス]タブに切り替えて、ハンドル数を追加します 。
  3. メニューから、[表示>下のペインを表示]をクリックします 。
  4. もう一度メニューをクリックして、[表示>下部ペインビュー>ハンドル]を選択します 。
  5. ハンドルを降順で並べ替えます。
  6. ハンドル数が最も多いプロセスが表示されます
  7. クリックして、ハンドル数が最も多いプロセスの1つを強調表示します。
  8. 下のパネルには、すべてのハンドルのタイプが表示されます。ポートまたはソケットには通常、「File \ Device\AFD」ラベルが付いています。

多数のハンドルを使用してプロセスを閉じます。アプリケーションが元に戻る場合は、それが原因である可能性があり、アプリケーションを修正するか、OEMの開発者に修正を依頼する必要があります。アプリケーションが要求するために修正できない場合は、コンピューターが使用できるポートの数を増やすことを検討する必要があります。以下のコマンド(例)は、範囲を変更して上げることができます。

netsh int ipv4 set dynamicport tcp start=10000 num=1000

設定できる最小の開始ポートは1025です。最大の終了ポートは65535を超えることはできません。

とはいえ、解決策はまだ一時的なものです。 IT管​​理者は、ポートの枯渇をトラブルシューティングするためのより良いソリューションを見つける必要があります。複数のサーバーを使用してポートを増やすことができる場合もありますが、それはまったく別のリーグです。

Windows11/10でのポート枯渇の問題のトラブルシューティング
  1. 簡単な方法でWindows11/10のプリンタポ​​ートを変更する方法

    プリンタがどこからともなく動作しなくなる時期が来るかもしれませんが、これには驚かれることでしょう。これらはWindows10で一般的であり、ほとんどの場合、プリンター自体は問題ないからではありません。主な問題は通常のソフトウェアまたはポートであり、ポートの側面は今日説明する内容です。 さて、それほど昔のことではありませんが、何人かの人がプリンタポ​​ートを変更する必要があると不平を言っています。プリンタがオフラインになっていることがあり、髪の毛を引っ掻きながら何をすべきか疑問に思うかもしれません。この問題の修正は非常に簡単なので、何をしているのかわからない限り、逸脱することなく適切に指示に

  2. Windows11/10でのリモートデスクトップの黒い画面の問題を修正します

    一部のレポートによると、最近のバージョンのWindows 11/10でRDPまたはリモートデスクトッププロトコルを使用すると、画面が真っ暗になります。この問題が発生するのは、Windows11/10でリモートデスクトップ接続機能を使用している場合です。この黒い画面の本当の原因は、ディスプレイドライバか、リモートデスクトップ接続ユーティリティの設定ミスです。 Windows11/10RDPブラックスクリーン 通常、Windows11/10リモートデスクトップは黒い画面を表示してから切断します。次のtw0の作業方法は、WindowsRDPの黒い画面の問題を解決するのに役立ちます。 永続