SQL Serverのメモリは常に増加し、1 GBのRAMが使用され、1週間で7 GBになります。


8

急速に増加する約45 GBのデータベースがあります(毎週約1 GB)。

つまり、多くの挿入を行っています。Webアプリには多くのユーザーがいないため、現在の読み取り数は少なくなっています。

ただし、RAM sqlサーバーのユーザーが1週間後にサーバーを最初に起動したときに〜1GBから〜7GBのRAMを使用するようになることに気付きました。

何らかのメモリリークはありますか?SQLサーバーがキャッシュに使用するメモリを増やすことを示唆するMSDNの記事があり、それは常に増加し続けます。ただし、サーバーには7.5GBまたはRAMしかないため、毎週SQL Serverを再起動しないとメモリが不足するのではないかと心配しています...これは間違っているようです。

これは典型的な動作ですか?メモリ使用量に上限を設定するために設定できる設定はありますか?


3
Farseekerの回答を参照してください。彼は頭に釘を打ちました。これは通常の動作であり、SQLのメモリ使用量を制限する方法があります。本当にそうする必要はありません。SQLサーバーの上限は、数時間で10.5 GB〜11 GB(合計12 GBのうち)です。私と私のDBAは、SQLをそのように多くのメモリで使用しているのを見て非常に満足しています。これは、アプリケーションがそのデータにアクセスする速度がそれだけ速くなることを意味します。
Cypher、

回答:


14

SQLサーバーは、手に入るだけのRAMを使用することを目的としています。SQLサーバーも信じられないほどスマートです。2Gbから96Gbの範囲のRAMを備えたデータベースサーバーがあり、RAMの手動での管理を始めなければならず、そのほとんどは99.5%の使用率です。

単純な事実は、1Gbのメモリを消費して実行しているSQL Serverは、96Gbのメモリを実行しているSQLサーバーよりも読み取りがはるかに遅くなるということです。

SQLサーバーの役割を他のメモリ集約型の役割と共有しているのでない限り、そのままにしておきます。システムで利用可能なメモリをこれ以上使用することはなく、99%の使用率に達した場合は素晴らしい-大きなキャッシュを作成したので、今後はより高速になります。


おかげで、これが期待され、望まれる動作であることがわかりませんでした。その時は必ず一人にしておこう。
rksprst

1
@rksprst-すべて良いです。慣れるには少し時間がかかります。
マークヘンダーソン

2

通常、OSが動作するRAMを持つように、OSに1〜2 GBのRAMを割り当てる必要があります。その後、SQL Serverは残りのメモリを使用できます。


一部のMSソースはメモリに上限を設けることを推奨しているため、+ 1します。
Sam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.