ネットが頻繁に切れる現象に対処する
Windows7 などで、ネットワークが切れる
Windows7のSNP機能をオフにして安定したネットワーク環境を入手しよう。ネットワーク設定を改善して遅い不具合を解消しよう。
64bitOS にしてからネットが瞬断するんだよね。WEBなんかもディレイしてからリトライするから遅くて仕方ない。遅い遅い!。JDownloader2を使っているんだけど転送中にネットが切れてリトライが30分待ちとか1日待ちになっちゃうんだよね。これじゃ面倒で仕方ない!!。
SNP(Scalable Networking Pack)とはSNPとは、本来はCPUが行っていたネットワーク処理をCPU負荷軽減のためにNIC(ネットワーク・インタフェースカード)で行わせる機能。うまくいっていればPC全体のパフォーマンスが向上する。
SNPの3つの機能(1) Receive-Side Scaling
CPUの受信処理をマルチコアで処理する機能。
(2) TCP Chimney Offload
処理が重いと言わるチェックサム計算などのTCPの送受信処理をCPUでは無くNICに担当させる機能。
(3) Network Direct Memory Access (NetDMA)
NICがメモリアクセスする時にCPUを経由せずに直接メモリアクセス出来るようにする機能。
SNPの問題点NICのドライバがSNPに完全対応していれば良いのだが、NICチップやカードによってはメモリーリークやネットワークパケットの取りこぼしが発生し、ネットワークの問題で正常に通信できないという問題が発生する。
で、困った事に未対応のNICドライバが存在するにもかかわらず、Windwos7の初期設定ではSNP機能がオン状態になっているのです。
ここではWindws7以降のOSでの対処を記述します。
SNPがオンか否かのチェックネットワークの問題が発生している場合は、まずSNPが動作しているかチェックします。
コマンドプロンプトでTCPグローバルパラメーターを見てみましょう。
【Windows7】 『スタート>アクセサリ>コマンドプロンプトを右クリック→管理者モードでコマンドプロンプトを起動』する
【Windows8】 『デスクトップ画面>左下のフォルダアイコンを開く>左ペインのマイコンピュータ>Cドライブを選択>Altキーでメニュー表示>ファイル>コマンドプロンプトを管理者として開く』
↓これがWindows7のデフォルト値です
>netsh int tcp show global
アクティブ状態を照会しています...
TCP グローバル パラメーター
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Receive-Side Scaling 状態 : enabled
Chimney オフロード状態 : automatic
NetDMA 状態 : enabled
Direct Cache Acess (DCA) : disabled
受信ウィンドウ自動チューニング レベル : normal
アドオン輻輳制御プロバイダー : none
CEN 機能 : disabled
RFC 1323 タイムスタンプ : disabled
** 上の autotuninglevel 設定は、少なくとも 1 つのプロファイルのプロファイルのローカル/ポリシー構成を上書きするウィンドウ スケーリング ヒューリスティックの結果です。
上から3つ、「Receive-Side Scaling状態」「Chimney オフロード状態」「NetDMA 状態」がSNP機能を表しています。
SNP機能の無効化
これまた、コマンドプロンプトで無効化をセットしましょう。
・TCP Chimney Offload の無効化
>netsh int tcp set global chimney=disabled・Receive-Side Scaling(RSS)の無効化
>netsh int tcp set global rss=disabled・Network Direct Memory Access(NetDMA)の無効化
>netsh int tcp set global netdma=disabled当然、リブート(再起動)する
(*)追申
実はWindows8ではデフォルトで「Chimney オフロード状態」と「NetDMA 状態」がdisabledになり、「Receive-Side Scaling状態」はenabledのままでした。
このことから、Windows7の場合は、「Chimney オフロード状態」と「NetDMA 状態」をdisabledにするのが賢明だと思われます。
参考http://blogs.technet.com/b/jpntsblog/archive/2010/03/23/scalable-networking-pack.aspx
http://www.windows-tips.info/2013/05/10/windows-7-netwoek-snp-offload/
LANの自動構成をオフにする「コントロールパネル」「インターネットのプロパティ」「LANの設定」「自動構成」の
「設定を自動的に検出する」をオフにする