メモリが枯渇
Windows Server 2019リモートデスクトップのライセンスには、ADサーバが必須となり、渋々従ってサーバを構築。
テスト段階では特に影響がなかったのだが、実稼働の段階でメモリ枯渇問題が浮上。前もってリソース測定を行っているにも関わらずこうなる。ここがサーバスペック選定の難しい所だ。
その中で通常100Mも行かないDNSのメモリが1G程度まで膨らんでいた。
動作速度も心もとないので、CPUを追加したのだが、更に肥大し、1.2G程度まで膨らんでしまった。
色々調べると、コアの数に比例してメモリが消費されるとの事。確かにコア数は多い。しかし、ソケットプール値を制限する事で押されられるという事を知った。
対処方法
基本、レジストリ値に「SocketPoolSize」指定してやるのだが、コマンドでも可能。
ADサーバでコマンドプロンプトを「管理者として実行」し、次のコマンドを実行する。
Dnscmd /Config /SocketPoolSize 1000
※1000と言う数字は200ユーザ程度を意味する。環境に合わせて変更可能。20人程度であれば100で十分との事。
このコマンドが成功すれば、レジストリのHKEY_LOCAL_MACHIN\SYSTEM\CurrentControlSet\services\DNS\Parameters に SocketPoolSize が追加されている。
追加後、サーバを再起動するか、
net stop dns && net start dns
を実行するとDNSサービスが再起動され、メモリの減少が期待できる。
少なすぎると、マイクロソフト セキュリティ情報 MS08-037 に影響が出るので注意が必要。
コメントを残す