مشکل پر شدن رم سرور با SQL Server
با سلام
یک سروری دارم که داخلش SQL server 2008R2 نصب است. این سرور رو زمانیکه روشن می کنم، بعداز یه مدتی RAM رو به صورت کامل شروع می کنه به استفاده کردن.
12G RAM که کامل بصورت دائمی اون رو اشغال می کنه تا اینکه دوباره ریست کنم سرور رو.
می خواستم ببینم چطور این مساله رو حل کنم؟ آیا راهی هست که این استفاده از RAM رو کمتر کنم؟
2 پاسخ
سلام دوست عزیز،شما می تونید میزان استفاده از منابع رو در SQL Server مشخص کنید، برای اینکار کافیه از پنجره Object Explorer روی نام سرور راست کلیک کرده و بر روی Properties کلیک کنید تا پنجره Server Properties باز بشه، بعد از باز شدن پنجره از طریق بخش مشخص شده می تونید حداکثر فضایی ک SQL Server می تونه از رم رو استفاده کنه مشخص کنید:
دقت کنید که مقادیر به مگابایت باید وارد شوند.
دوست عزیز احتمالا مشکل شما از Plan Cache ها است. مقدار دهی به Maximum Server Memory فقط برای Buffer Pool است و قسمتهای حافظه مانند MTL, Plan Cache, Process Threads, SQLMGR خارج از این مقدار تنظیمات هستند. به عنوان مثال برای سرور شما اندازه حافظه Plan Cache به مقدار 3.8 گیگابایت است که اگر Queryهای شما به صورت Adhoc باشد به این حافظه به سرعت پر شده و باعث به وجود آمدن Internal Local Memory Pressure و یا Internal Global Memory Pressure خواهد شد.