sysdba.ir

وبلاگی برای انتشار تجربیات شخصی راهبر پارسی اوراکل

sysdba.ir

وبلاگی برای انتشار تجربیات شخصی راهبر پارسی اوراکل

راه‌اندازی Huge Page در لینوکس

شنبه, ۱۴ مرداد ۱۳۹۶، ۰۳:۲۶ ب.ظ

راه‌کارهای مبتنی بر پایگاه‌داده اوراکل عمدتاً برای سازمان‌های بزرگ اتخاذ می‌گردند. ازاین‌رو منابع بسیار زیادی برای سیستم‌ها محیا می‌شود. از جمله منابع سیستمی حافظه موقت است که مدیریت آن بر عهده سیستم‌عامل می‌باشد. مدیریت آدرس‌های حافظه از طریق یک جدول امکان‌پذیر است. زمانی که مقدار حافظه موقت بیش از ۳۲ گیگا بایت می‌باشد حجم جدولی که آدرس‌های حافظه موقت را نگهداری می‌کند به چند گیگا بایت می‌رسد. به‌منظور کاهش حجم این جدول اندازه هر بلوک حافظه موقت افزایش داده می‌شود.

اکنون به تشریح راه‌اندازی Huge Page در سیستم‌عامل لینوکس و تنظیمات لازم در پایگاه‌داده اوراکل پرداخته می‌شود.

تنظیمات سیستم‌عامل لینوکس

در سطح سیستم‌عامل پارامترهای مرتبط با حافظه اشتراکی[1] و Huge Page تنظیم می‌گردد. این تنظیمات که در فایل /etc/sysctl.conf انجام می‌شوند، به شرح زیر است.

  1. پارامتر shmmax

مقدار این پارامتر یک گیگا بایت بیشتر از مقدار حافظه SGA پایگاه‌داده اوراکل تنظیم می‌شود. برای یافتن این مقدار از پارامترهای SGA_TARGET و SGA_MAX_SIZE پایگاه‌داده اوراکل استفاده می‌شود. این پارامتر بر حسب بایت مقداردهی می‌شود.

[root@oraserv ~]# grep shmmax /etc/sysctl.conf
kernel.shmmax = 4398046511104

  1. پارامتر shmall

مقدار این پارامتر از تقسیم پارامتر shmmax بر shmin بدست می‌آید. این پارامتر بر حسب بایت مقداردهی می‌شود.

[root@oraserv ~]# grep shmall /etc/sysctl.conf
kernel.shmall = 1073741824

 

  1. پارامتر 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

  • موافقین ۰ مخالفین ۰
  • ۹۶/۰۵/۱۴
  • ۸۸۴ نمایش
  • محمدحسین چهاردولی

Huge Page

Linux

لینوکس

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
تجدید کد امنیتی