• 【Win7】ネットワーク接続トラブル

    Posted on 8 月 14th, 2010 Armada No comments

    初投稿のArmadaです。
    初ということで何をネタにするか悩みましたが、旬なものが良いと思いますので現プロジェクトの中から一つ取り上げます。

    現プロジェクトではWindows7 64bit版の共有PCを開発用として利用しています。
    というのも、ローカルPCはWindows XP 32bit版を使っているのですが、開発で利用しているライブラリが64bit環境でしかコンパイル・実行ができないためにこのような形を取っています。

    この共有PCは複数のメンバーが利用できるよう共有フォルダ内に各々のフォルダを作成しており、そこにプログラム実行用のデータ(ギガオーダー)をコピーして動作確認を行うというような用途がメインとなっています。

    しばらくはこのような状態で利用していたのですが、ある時から共有PCへネットワーク経由でアクセスできなくなってしまいました。
    最初はネットワーク関係を疑ってみましたが、リモートデスクトップ接続はできていたため他に原因があるようでした。

    そこで共有PCのイベントログを確認したところ、以下のエラーが出ていました。
    +++++++++++++++++
    非ページ プール割り当ての制限に達したため、サーバーはシステムの非ページ プールから割り当てることができませんでした。
    +++++++++++++++++
    disp11

     

     

     

     

     

     

     

    エラーの内容を元にネットで調べたところ、「Windows Vista ベースのコンピュータに送信され、同時実行される SMB(ファイル共有のプロトコル) 要求の最大数に制限があり、それを超えると発生するエラー」ということが判明しました。

    原因がわかればあとは解決するのみです。
    Microsoftのサポート情報に掲載されている内容を元にレジストリの編集を行いました。
    http://support.microsoft.com/kb/937082

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters

    「MaxWorkItems = 512」を追加
    「MaxMpxCt = 128」を追加
    「Size = 2」に修正
    disp2

     

     

     

     

    この設定により、SMBの制限を拡張しエラーを回避することが可能となりました。
    ちなみに、上記の設定でもエラーが発生する場合は「Size = 3」と設定することで回避できるようです。
    しばらくはこの設定で様子を見ようと思います。

    イベントログの大事さを改めて感じさせてくれたトラブルでした。

    Leave a reply