2019年06月10日
プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。
『プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。』 srv 2019 エラー
非ページ プールとは何か… 直感で書いた図解です。
(2022/1/25 追記)
※ 物理メモリー = コンピューターに装備されているメモリー 「実装 RAM」とも呼ばれる
※ 仮想メモリー = アプリから見えるメモリー空間全体。32-bit アプリであれば 4GB の空間。この空間が 4KB ずつに分割されている。必要に応じて「物理メモリ―」「ページングファイル」などがマッピングされる。アプリに何を見せるかは Windows が決定する。
〜〜〜 2019/12/26 追記 (2020/01/16 更新!) 〜〜〜
要約しますに
・ページプール=pagefile.sys へ移動可能なメモリ。アプリで使うメモリなど
・非ページプール=pagefile.sys へ移動不可能なメモリ。OS 内部の情報や、ハードウェアとの通信に使用するメモリなど。
タスクマネージャーで目安値を確認してみました:
- Windows 10 (ver 1809) では 500 MB ほど
- Windows Server 2012 R2 では 250 MB ほど
「非ページプール」は、通常の利用状態では枯渇しません。
枯渇するとすれば、メモリリークの発生によるもので、
大体はデバイスドライバーの不具合によるものです。
これが発生してしまうと、
Windows の再起動しか解決方法がありません。
発生源の特定方法は一応分かりました。
しかしハードウェアベンダーが問題を修正してくれるかどうかは
別問題です。
〜〜〜 6/26 更新 〜〜〜
下図はちょっと古い(最近のパソコン事情を考慮していない、とても古いマイコン時代のノイマン型の遺物)ですが、説明し易いです。
GPU とか USB ホストとか、AHCI (SATA) とか、デバイスと CPU の間でデータをやり取り (1 バイト〜100 MB ほど?) する為にはメモリー空間が必要な訳です…
具体的にどのくらいの容量? につきましては「メモリの範囲」から推測します。
SATA (AHCI) の場合は F7E1A7FF - F7E1A000 で、たったの 2KB! とっても経済的ですね!
と思ったら間違いです…
この 2KB は主にコマンドを格納するだけで、
SATA (AHCI) の方から DMA 等で別途データを送り込んでくる設計になっています。その受け皿を物理メモリ上に用意しないといけません。
という事で「メモリの範囲」は、あてになりませんでした orz
実際に、どのくらいの物理メモリを消費するのかは不明です(デバイスドライバー依存)
こういったディスクを扱うデバイスとか、GPU とかは、物理メモリ(非ページプール)を消費しそうです。
あとウィルス対策ソフトも物理メモリ(非ページプール)を消費しそうです。ウィルスデータの定義ファイルとか、常時メモリ上に置いていないとスキャンができませんからね…
あと、非ページプールの物理メモリは断片化するという問題点があります。デフラグができません。断片化による問題とは、連続した空き領域の確保ができなくなる…
例えば (1MB free + 使用中 + 1MB free + 使用中 + 1MB free) の場合、3MB free ですが、連続した空きは 1MB です。
あとはソフトウェアの不具合でメモリリークが発生するなど、使用後開放されないメモリがあるとかでしょうか…
という事で、Windows も定期的な再起動が必要になります。
『プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。』の、まとめ
非ページ プール という、物理メモリに直接領域を割り当てできる概念があります。
GPU とか USB ホストとか SATA (ACHI) とか、大量のデータを転送するデバイスは、非ページプールから大量のメモリを確保しがちです。
ウィルス対策ソフトなど、カーネルモードで動作するアプリも非ページプールを占有しがちです。
ソフトの不具合でメモリリークが発生する場合があります。
物理メモリは断片化しますが、デフラグができません。
上記理由により、非ページ プールが枯渇する場合がございます。Windows を定期的に再起動するなどして、メモリをリフレッシュしてください。
〜〜〜 昔の説明 〜〜〜
現実世界の概念を用いると… 個人宛の書類箱と、個人の机になります。
『プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。』 を説明するには IRQL や IRP をちょっと知る必要があります。
非ページ プールとは何か… 直感で書いた図解です。
(2022/1/25 追記)
※ 物理メモリー = コンピューターに装備されているメモリー 「実装 RAM」とも呼ばれる
※ 仮想メモリー = アプリから見えるメモリー空間全体。32-bit アプリであれば 4GB の空間。この空間が 4KB ずつに分割されている。必要に応じて「物理メモリ―」「ページングファイル」などがマッピングされる。アプリに何を見せるかは Windows が決定する。
〜〜〜 2019/12/26 追記 (2020/01/16 更新!) 〜〜〜
要約しますに
・ページプール=pagefile.sys へ移動可能なメモリ。アプリで使うメモリなど
・非ページプール=pagefile.sys へ移動不可能なメモリ。OS 内部の情報や、ハードウェアとの通信に使用するメモリなど。
タスクマネージャーで目安値を確認してみました:
- Windows 10 (ver 1809) では 500 MB ほど
- Windows Server 2012 R2 では 250 MB ほど
「非ページプール」は、通常の利用状態では枯渇しません。
枯渇するとすれば、メモリリークの発生によるもので、
大体はデバイスドライバーの不具合によるものです。
これが発生してしまうと、
Windows の再起動しか解決方法がありません。
発生源の特定方法は一応分かりました。
しかしハードウェアベンダーが問題を修正してくれるかどうかは
別問題です。
〜〜〜 6/26 更新 〜〜〜
下図はちょっと古い(最近のパソコン事情を考慮していない、とても古いマイコン時代のノイマン型の遺物)ですが、説明し易いです。
GPU とか USB ホストとか、AHCI (SATA) とか、デバイスと CPU の間でデータをやり取り (1 バイト〜100 MB ほど?) する為にはメモリー空間が必要な訳です…
具体的にどのくらいの容量? につきましては「メモリの範囲」から推測します。
SATA (AHCI) の場合は F7E1A7FF - F7E1A000 で、たったの 2KB! とっても経済的ですね!
と思ったら間違いです…
この 2KB は主にコマンドを格納するだけで、
SATA (AHCI) の方から DMA 等で別途データを送り込んでくる設計になっています。その受け皿を物理メモリ上に用意しないといけません。
という事で「メモリの範囲」は、あてになりませんでした orz
実際に、どのくらいの物理メモリを消費するのかは不明です(デバイスドライバー依存)
こういったディスクを扱うデバイスとか、GPU とかは、物理メモリ(非ページプール)を消費しそうです。
あとウィルス対策ソフトも物理メモリ(非ページプール)を消費しそうです。ウィルスデータの定義ファイルとか、常時メモリ上に置いていないとスキャンができませんからね…
あと、非ページプールの物理メモリは断片化するという問題点があります。デフラグができません。断片化による問題とは、連続した空き領域の確保ができなくなる…
例えば (1MB free + 使用中 + 1MB free + 使用中 + 1MB free) の場合、3MB free ですが、連続した空きは 1MB です。
あとはソフトウェアの不具合でメモリリークが発生するなど、使用後開放されないメモリがあるとかでしょうか…
という事で、Windows も定期的な再起動が必要になります。
『プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。』の、まとめ
非ページ プール という、物理メモリに直接領域を割り当てできる概念があります。
GPU とか USB ホストとか SATA (ACHI) とか、大量のデータを転送するデバイスは、非ページプールから大量のメモリを確保しがちです。
ウィルス対策ソフトなど、カーネルモードで動作するアプリも非ページプールを占有しがちです。
ソフトの不具合でメモリリークが発生する場合があります。
物理メモリは断片化しますが、デフラグができません。
上記理由により、非ページ プールが枯渇する場合がございます。Windows を定期的に再起動するなどして、メモリをリフレッシュしてください。
〜〜〜 昔の説明 〜〜〜
現実世界の概念を用いると… 個人宛の書類箱と、個人の机になります。
『プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした。』 を説明するには IRQL や IRP をちょっと知る必要があります。
- IRQL とは。平たくは「割り込みの緊急度合」です。
- 割り込みとは。平たくは「あの… 丸々君、ちょっといいかな?」と対応を要求する行為のことです。
- IRP とは、平たくは「これ、やっておいてください」の「これ」の詳細をデジタルの世界で表現したものです。
例えば、「〜ファイルの内容を読み取ってください」 (IRP_MJ_READ) といった感じです。こういう感じの要求が 23 種類ほどあります。 - 緊急度合には、平たく「通常」と「高い」があります。
- 「通常」であれば、やれる事に制限はありません。
- 「高い」であれば、やってはいけない事がいくつかあります。
例えば「ディスクの読み書き完了を待つ」とかですね…
現実世界でいうと「あの〜の件だけどね… じつは○○○で、×××で〜」のように、手が取られる状態で延々と説明を聞いてしまう状態です。そういう場合はアサーションのテクニックで「お急ぎなのは分かりますが、少々手が込んでいるので後でお伺いに参ります」のように待ってもらう必要がありますが… IRQL の「高い」場合の対応も、大体それと同じ考え方です。 - ページとは、大体 4KB のメモリー空間のことです。
- ページプールとは、その 4KB が(物理メモリ or ページファイル)に存在するページ達のことです。上図でいうと、机の上にあったり、引き出しにあったり、カバンに入っていたりする状態です。ページプール → ページングできるプール。
- ページングできるとは、ページングファイルに移動してもよいページのことです。目的は、物理メモリが不足した場合に、物理メモリに無理矢理スペースを作る為です。
- 非ページプールとは、その 4KB が常に物理メモリに存在するページ達のことです。上図でいくと、共有スペースに固定されたファイル箱です。非ページプール → ページングできないプール
- ページングできないとは、ページングファイルへ移動してはならないページのことです。
2020/01/21 修正 - 緊急度合「高い」 = DISPATCH_LEVEL、「通常」 = PASSIVE_LEVEL
- 緊急度合「高い」。人間での例としては「電話中」の状態です。他の事がまったく手出しできない状態。相手と通話できているのならば良いのですが、相手が居ないのに「帰ってくるまで待ちます!」などと言語道断な対応をすると Windows では IRQL_NOT_LESS_OR_EQUAL になります… 通常の対応であれば、緊急度「高い」の電話はいったん切り、あとで掛けなおすという「通常」タスクを入れるものと思います。
- 郵便物などはファイル箱に入れて頂く訳ですが… このスペースには限りがあります。
- パソコンなどの大きな荷物がどんどん届くと、すぐに空間を占有してしまいます。
- そして共有スペースが物であふれかえった状態が、「システムの非ページ プール」の枯渇を意味します。
- こうなってしまった場合、通常 Windows の再起動が必要になります。
2019年05月30日
Windows 10 1903 での DD 動作検証 結果
最新の Windows 10 で、デジタルドルフィンズ 利用者側での動作検証をしました。
特に修正が必要な点は認められませんでした。
特に修正が必要な点は認められませんでした。
テストした環境:
- Windows 10 日本語版 バージョン 1903 (64-bit)
- Internet Explorer 11
- ddproxy 5.0.25
テストした機能:
- 新規登録
- 検索機能
- ファイルを開く
- ファイルを開く(アプリを選択)
- ファイルを保存
- 詳細画面 PDF プレビュー (Adobe Acrobat Reader DC 使用)
- 詳細画面 TIFF プレビュー (AxTIF5 使用)
- 詳細画面 画像プレビュー
- CSV 出力, HTML 出力, SYLK 出力, XML 出力
- 印刷
- メールに添付 (Mozilla Thunderbird 使用)
- URL を送る (Mozilla Thunderbird 使用)
- 書類の差し替え
- zip で保存
2019年05月27日
クラウドの仮想マシンで DD を稼働する場合の価格目安
クラウドの仮想マシン (Windows Server) で、業務ソフトを稼働する場合の目安価格
2019/05/27 版
目安
Azure 19,468 円・月
さくら 25,812 円・月
AWS 211.59 USD・月 → 23,153 円・月
※ Azure と AWS は従量課金の性質上、月額が変化します。ディスクのアクセス回数とか、ネットワークの通信量が主な変化要因です。
Azure 目安
さくら 目安
AWS 目安
2019/05/27 版
目安
Azure 19,468 円・月
さくら 25,812 円・月
AWS 211.59 USD・月 → 23,153 円・月
※ Azure と AWS は従量課金の性質上、月額が変化します。ディスクのアクセス回数とか、ネットワークの通信量が主な変化要因です。
Azure 目安
Virtual Machines
- 1 D1 (1 vCPU、3.5 GB RAM) x 31 Days
- Windows – (OS のみ)
- 従量課金制
- 0 マネージド OS ディスク – E4, 100 トランザクション ユニット
Storage Accounts
- Managed Disks、Standard SSD, E20 ディスクの種類 1 ディスク
Data Transfers
- ゾーン 2:アジア太平洋、日本、オーストラリア、60 GB
さくら 目安
AWS 目安