راهاندازی Huge Page در لینوکس
راهکارهای مبتنی بر پایگاهداده اوراکل عمدتاً برای سازمانهای بزرگ اتخاذ میگردند. ازاینرو منابع بسیار زیادی برای سیستمها محیا میشود. از جمله منابع سیستمی حافظه موقت است که مدیریت آن بر عهده سیستمعامل میباشد. مدیریت آدرسهای حافظه از طریق یک جدول امکانپذیر است. زمانی که مقدار حافظه موقت بیش از ۳۲ گیگا بایت میباشد حجم جدولی که آدرسهای حافظه موقت را نگهداری میکند به چند گیگا بایت میرسد. بهمنظور کاهش حجم این جدول اندازه هر بلوک حافظه موقت افزایش داده میشود.
اکنون به تشریح راهاندازی Huge Page در سیستمعامل لینوکس و تنظیمات لازم در پایگاهداده اوراکل پرداخته میشود.
تنظیمات سیستمعامل لینوکس
در سطح سیستمعامل پارامترهای مرتبط با حافظه اشتراکی[1] و Huge Page تنظیم میگردد. این تنظیمات که در فایل /etc/sysctl.conf انجام میشوند، به شرح زیر است.
- پارامتر shmmax
مقدار این پارامتر یک گیگا بایت بیشتر از مقدار حافظه SGA پایگاهداده اوراکل تنظیم میشود. برای یافتن این مقدار از پارامترهای SGA_TARGET و SGA_MAX_SIZE پایگاهداده اوراکل استفاده میشود. این پارامتر بر حسب بایت مقداردهی میشود.
[root@oraserv ~]# grep shmmax /etc/sysctl.conf
kernel.shmmax = 4398046511104
- پارامتر shmall
مقدار این پارامتر از تقسیم پارامتر shmmax بر shmin بدست میآید. این پارامتر بر حسب بایت مقداردهی میشود.
[root@oraserv ~]# grep shmall /etc/sysctl.conf
kernel.shmall = 1073741824
- پارامتر vm.nr_hugepages
این پارامتر تعداد بلوکهای Huge Page را مشخص مینماید. تعداد بلوکهای مورد نیاز از تقسیم کل فضای حافظه SGA بر اندازه هر بلوک Huge Page که در سیستمعامل لینوکس به صورت پیشفرض ۲ مگا بایت میباشد بدست میآید. همچنین پس از بدست آوردن تعداد بلوکهای مورد نیاز مقدار ۵ عدد به عنوان سربار افزوده میگردد. این متغیر بر حسب کیلو بایت محاسبه و مقداردهی میشود.
[root@oraserv ~]# grep hugepages /etc/sysctl.conf
vm.nr_hugepages = 43520
پس از انجام تنظیمات بالا Huge Page راهاندازی میشود. در ادامه این فضا برای استفاده پایگاهداده اوراکل رزرو میشود. برای این منظور پارامتر memlock در فایل /etc/security/limits.conf مقداردهی میگردد. این پارامتر بر حسب کیلو بایت مقداردهی میشود.
[root@oraserv ~]# grep memlock limits.conf
# - memlock - max locked-in-memory address space (KB)
oracle soft memlock 104857600
oracle hard memlock 104857600
grid soft memlock 104857600
grid hard memlock 104857600
تنظیمات پایگاهداده اوراکل
برای استفاده پایگاهداده اوراکل از Huge Page لازم است پارامتر USE_LARGE_PAGES مقداردهی گردد. این پارامتر از سه مقدار TRUE, FALSE و ONLY پشتیبانی مینماید. مقدار FALSE برای غیر فعال شدن، مقدار TRUE برای فعال شدن و مقدار ONLY برای صرفاً استفاده از Huge Page بکار میرود. پس از انجام تنظیمات فوق لازم است پایگاهداده راهاندازی مجدد گردد.
نکته مهم در مورد قابلیت Huge Page عدم امکان استفاده از تنظیم خودکار حافظه اوراکل میباشد. برای نظارت میتوان از دستور زیر استفاده نمود.
[root@orcl ~]# cat /proc/meminfo | grep -i huge
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.