Memori SQL Server terus naik, dari 1GB RAM yang digunakan menjadi 7GB dalam seminggu

8

Saya memiliki database ~ 45GB yang meningkat dengan cepat (~ 1GB setiap minggu).

Jadi itu melakukan banyak sisipan; aplikasi web tidak memiliki banyak pengguna sehingga membaca rendah saat ini.

Tapi saya memperhatikan bahwa pengguna server RAM sql berjalan dari ~ 1GB ketika server pertama kali mulai menggunakan ~ 7GB RAM setelah seminggu.

Apakah ada semacam kebocoran memori? Ada sebuah artikel di MSDN yang menyarankan bahwa server SQL meningkatkan memori yang digunakannya untuk caching dan itu akan selalu terus meningkat. Namun, server hanya memiliki 7.5GB atau ram jadi saya khawatir itu akan kehabisan memori kecuali saya me-restart SQL Server setiap minggu ... yang tampaknya salah.

Apakah ini tipikal perilaku? Apakah ada beberapa pengaturan yang dapat saya atur untuk membatasi penggunaan memori?

rksprst
sumber
3
Lihat jawaban Farseeker. Dia memukul paku di kepala. Ini adalah perilaku normal, out-of-the-box dan sementara ada cara untuk membatasi penggunaan memori SQL; Anda tidak perlu melakukan itu. Tutup server SQL kami pada 10,5GB - 11GB (dari total 12GB) memori dalam beberapa jam. Saya, dan DBA saya, sangat senang ketika kita melihat SQL dengan memori sebesar itu. Ini berarti aplikasi kita akan memiliki akses ke data yang jauh lebih cepat.
Cypher

Jawaban:

14

SQL server dimaksudkan untuk menggunakan ram sebanyak mungkin. SQL server juga sangat pintar. Kami memiliki server basis data dengan RAM mulai dari 2Gb hingga 96Gb dan tidak pernah, pernahkah saya harus masuk dan mulai mengelola RAM secara manual, dan kebanyakan dari mereka duduk di utilisasi 99,5%.

Fakta sederhana adalah bahwa SQL Server berjalan dengan 1Gb memori yang dikonsumsi akan menjadi jauh lebih lambat saat dibaca daripada server SQL yang berjalan dengan 96Gb memori yang dikonsumsi.

Kecuali Anda berbagi peran SQL server dengan peran intensif memori lainnya, maka biarkan saja. Ini tidak akan pernah menggunakan lebih banyak memori yang tersedia di sistem, dan jika itu mencapai utilisasi 99% maka hebat - Anda telah membuat cache yang besar dan segalanya akan lebih cepat dari sekarang.

Mark Henderson
sumber
Terima kasih, tidak tahu ini adalah perilaku yang diharapkan dan diinginkan. Saya akan pastikan untuk membiarkannya sendiri.
rksprst
1
@ rksprst - semua baik, perlu membiasakan diri.
Mark Henderson
2

Biasanya Anda ingin mengalokasikan 1-2 Gigs RAM untuk OS sehingga OS memiliki RAM untuk bekerja dengannya. SQL Server kemudian dapat memiliki sisa memori.

mrdenny
sumber
Beberapa sumber MS merekomendasikan pembatasan memori Anda, jadi +1.
Sam