none
SQL Server2016 メモリ中の使用状況につきまして

    質問

  • お世話になっております、yanazakiと申します。
    SQLServer2016 のメモリについてお伺いしたいです。

    サーバを運用していると、SQLServer.exe で使用しているメモリ量が増加し続け、
    サーバに搭載しているメモリとほぼ同量まで増加します。
    [max server memory]を設定すると、この値で収束し、減少(解放)することはありません。

    つきましてはSQLServer.exe が取得したメモリ中、
    本当はキャッシュなどとして、実際には使用していないメモリサイズを確認する方法をご教授いただけますでしょうか。


    パフォーマンスモニタやSQL Server Management Studio のレポートを見ましたが、
    どれが相当するか分かりませんでした。。

    何卒よろしくお願い致します。

    以上
    2019年5月10日 7:26

回答

  • yanazakiさん


    パフォーマンスモニタのメトリクスを確認することで実現できるかと思います。

    Memory\Available MBytes

     →利用可能なメモリサイズ

    SQLServer:Memory Manager\Total Server Memory (KB)

     →SQL Serverが確保しているメモリサイズ

    SQLServer:Memory Manager\Free Memory (KB)

     →SQL Serverが確保しているメモリの中で、実際には使用していないメモリサイズ

    ちなみに、メモリにのっているテーブルごとのサイズを確認することもできます。MicrosoftMVPの小澤さんが公開されている、以下のクエリを実行してみてください。

    https://raw.githubusercontent.com/MasayukiOzawa/SQLServer-Util/master/Buffer%20Cache/%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%81%AE%E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97%20(DB_%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%8D%98%E4%BD%8D).sql

    ★参考となった場合は「回答としてマーク」をお願いいたします。

    • 回答としてマーク yanazaki 2019年5月10日 8:47
    2019年5月10日 8:39

すべての返信

  • yanazakiさん


    パフォーマンスモニタのメトリクスを確認することで実現できるかと思います。

    Memory\Available MBytes

     →利用可能なメモリサイズ

    SQLServer:Memory Manager\Total Server Memory (KB)

     →SQL Serverが確保しているメモリサイズ

    SQLServer:Memory Manager\Free Memory (KB)

     →SQL Serverが確保しているメモリの中で、実際には使用していないメモリサイズ

    ちなみに、メモリにのっているテーブルごとのサイズを確認することもできます。MicrosoftMVPの小澤さんが公開されている、以下のクエリを実行してみてください。

    https://raw.githubusercontent.com/MasayukiOzawa/SQLServer-Util/master/Buffer%20Cache/%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%81%AE%E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97%20(DB_%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%8D%98%E4%BD%8D).sql

    ★参考となった場合は「回答としてマーク」をお願いいたします。

    • 回答としてマーク yanazaki 2019年5月10日 8:47
    2019年5月10日 8:39
  • maaaaaaaa8様

    お世話になっております、質問者のyanazakiです。

    迅速なご回答を誠にありがとうございました。

    SQLServer:Memory Manager\Free Memory (KB)ですね。

    リンクをいただいたクエリも是非実行させていただきます。

    2019年5月10日 8:47