<<パラメータの意味>> OSの確保する、メモリを最大に設定する。 スキャンボードを2枚実装するために必要。 詳細は下記参照のこと。 ----------------------------------------- 沖情報システムズの中村です。 大変お世話になっております。 ご迷惑をおかけしまして申し訳ありませんでした。 調査に際しましては多大な御協力を頂きまして有難うございます。 オーバーレイのご質問につきましては別途ご回答いたします。 本件の調査詳細および対策詳細を記載いたします。 調査詳細: OSはPagedPoolとNonPagedPoolのMaxSizeをPCの物理メモリから計算 して「標準」値を決定します。メモリ1GBを実装したPCでこの値を 確認しましたところ、268MBとなります。下記にその時のデバッガ 出力を記載します。 ------------------------------------------------------------ *** Virtual Memory Usage *** Physical Memory: 262011 ( 1048044 Kb) 00000000: Unable to get page file 00000000: Unable to get paged pool info 009DEEF0 unable to get nt!MmAllocatedNonPagedPool unable to get nt!MmExtendedCommit unable to get nt!MmPageFileFullExtendPages unable to get nt!MmPageFileFullExtendCount unable to get nt!MmTotalFreeSystemPtes unable to get nt!MmSystemLockPagesCount unable to get nt!MiSpecialPagesNonPaged unable to get nt!MiSpecialPagesNonPagedMaximum 00000004: Unable to get number of free nonpaged PTEs unable to get nt!MmSpecialPagesInUse Available Pages: 227949 ( 911796 Kb) ResAvail Pages: 236075 ( 944300 Kb) Modified Pages: 560 ( 2240 Kb) NonPagedPool Usage: 781 ( 3124 Kb) NonPagedPool Max: 54278 ( 217112 Kb) PagedPool 0 Usage: 2654 ( 10616 Kb) PagedPool 1 Usage: 209 ( 836 Kb) PagedPool 2 Usage: 217 ( 868 Kb) PagedPool 3 Usage: 209 ( 836 Kb) PagedPool 4 Usage: 206 ( 824 Kb) PagedPool Usage: 3495 ( 13980 Kb) PagedPool Maximum: 68608 ( 274432 Kb) ● ------------------------------------------------------------ 274432Kb / 1024 = 268MB 基板2枚時は計256MBのPagedPoolが必要ですので、Maxに極めて 近い値となります。お借りしましたDELLのPCで2枚確認した時は 1GBを実装していました。物理メモリサイズとしては現象が発生 していましたPCと同じですが、DELLのPCにはScanBoard以外に他の 基板を実装していませんので、Poolの消費量はそれほど増加せず ぎりぎり動作していた状況であったと考えます。 対策詳細: Windows2000ではPagedPoolとNonPagedPoolのMaxSizeをレジストリ にて指定することが可能です。「最大」の指定を行うと、物理メモ リのサイズによらずOSとしての最大値が設定されます。「最大」に 指定した時のデバッガ出力を記載します。 ------------------------------------------------------------ *** Virtual Memory Usage *** Physical Memory: 262011 ( 1048044 Kb) 00000000: Unable to get page file 00000000: Unable to get paged pool info 009DEEF0 unable to get nt!MmAllocatedNonPagedPool unable to get nt!MmExtendedCommit unable to get nt!MmPageFileFullExtendPages unable to get nt!MmPageFileFullExtendCount unable to get nt!MmTotalFreeSystemPtes unable to get nt!MmSystemLockPagesCount unable to get nt!MiSpecialPagesNonPaged unable to get nt!MiSpecialPagesNonPagedMaximum 00000004: Unable to get number of free nonpaged PTEs unable to get nt!MmSpecialPagesInUse Available Pages: 228052 ( 912208 Kb) ResAvail Pages: 236004 ( 944016 Kb) Modified Pages: 366 ( 1464 Kb) NonPagedPool Usage: 686 ( 2744 Kb) NonPagedPool Max: 54278 ( 217112 Kb) PagedPool 0 Usage: 2593 ( 10372 Kb) PagedPool 1 Usage: 151 ( 604 Kb) PagedPool 2 Usage: 156 ( 624 Kb) PagedPool 3 Usage: 152 ( 608 Kb) PagedPool 4 Usage: 160 ( 640 Kb) PagedPool Usage: 3212 ( 12848 Kb) PagedPool Maximum: 88064 ( 352256 Kb) ● ------------------------------------------------------------ 352256Kb / 1024 = 344MB 約76MB増加します。この結果、基板2枚を実装しても 344 - 256 = 88MB の余裕がある計算になります。 本レジストリの指定をおこなうと、OSが物理的環境を考慮しなく なりますので、例えばメモリ1GBで2枚動作させたあとメモリを 256MBに減らして2枚動作させようとすると、本来バッファ確保エラ ーとなるはずがエラーとならずにOS内部で確保を試み続けてしまう などの可能性がありますので、本設定後は基板枚数に対して物理 メモリを極端に減らさないよう若干注意が必要です。 以上でございます。