اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
دو دقیقه
به صورت پیش فرض تنظیمات حافظهی اس کیوال سرور به صورتی است که به آن اجازه میدهد تمامی حافظهی مهیای سیستم عامل را مصرف کند! اگر شخصی با این مساله آشنایی نداشته باشد احتمالا تصور خواهد کرد که اس کیوال سرور نشتی حافظه دارد یا کلا مشکلی در سیستم روی داده است که تا این حد مصرف حافظه بالا رفته است.
برای مشاهدهی این تنظیمات روی instance سرور مورد نظر کلیک راست کرده و گزینه خواص را انتخاب کنید. سپس در صفحهی باز شده گزینه memory را مشاهده نمائید.
البته اینکار را با استفاده از دستورات T-SQL هم میتوان انجام داد:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'max server memory (MB)'
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
که البته عمدا آنرا بر روی یک گیگ تنظیم کردهام تا عملکرد سیستم مختل نشود. (چون اگر غیر از این باشد، تعارفی نداشته و هر آنچه را که صلاح بداند مصرف میکند!)
کمی در بلاگهای رسمی برنامه نویسهای اس کیوال سرور در سایت MSDN در اینباره جستجو کردم و نتیجه آن به صورت زیر است:
تنظیمات حداکثر حافظهی مصرفی اس کیوال سرورهای 2005 و 2008
برای یک سیستم عامل 64 بیتی:
Physical RAM | MaxMem Setting |
2GB | 1500 |
4GB | 3200 |
6GB | 4800 |
8GB | 6700 |
12GB | 10600 |
16GB | 14500 |
24GB | 22400 |
32GB | 30000 |
48GB | 45000 |
64GB | 59000 |
برای سروری 32 بیتی این اعداد حداکثر را تقریبا منهای 300 مگابایت نمائید. (و البته همانطور که مطلع هستید در سیستم عاملهای سرور 32 بیتی، اگر بیشتر از 2 گیگا بایت رم داشتید سوئیچ 3GB و اگر بیشتر از 4 گیگابایت رم مهیا بود، سوئیچ PAE باید در boot.ini تنظیم شوند. در غیر اینصورت هزینهی سخت افزاری بیهودهای را متحمل شدهاید، زیرا استفادهی بهینهای از آن در یک سیستم عامل 32 بیتی نخواهد شد)
و این اعداد را همانطور که ذکر شد، در تنظیمات سرور میتوان وارد نمود ( از طریق management studio ) و یا با استفاده از دستورات T-SQL نیز این امر میسر است: (در مثال زیر حداکثر حافظه مجاز مصرفی به 2300 مگابایت تنظیم میشود)
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'max server memory (MB)', 2300
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
برای مطالعهی بیشتر
http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html
http://blogs.msdn.com/axperf/archive/2008/03/10/welcome-database-configuration-checklist-part-1.aspx
http://technet.microsoft.com/en-us/library/bb124810.aspx