دیتابیس اوراکل

۱ مطلب در آذر ۱۳۹۵ ثبت شده است

HugePage

۳۰
آذر

وقتی که یک پروسس میخواهد از memory استفاده کند ، CPU  یک تکه از RAM را به آن اختصاص میدهد. در واقع CPU به اندازه یک  4k bytes ) chunk ) حافظه را به CPU اختصاص میدهد. هر یک از اون chunkها یک page نامیده میشوند.

از اونجایی که آدرس فضایی که به یک پروسس اختصاص داده میشود ( همان pageها )  به صورت virtual است ، CPU و OS مجبور هستند که به خاطر بسپارند که هر page به چه process اختصاص دارد و  در کجا ذخیره شده است.

اگر تعداد pageها زیاد باشد ، این موضوع زمان زیادی میبرد و همچنین فضای زیادی اشغال میشود.

فرض کنید یک پروسس به 1G از ram نیاز دارد. اگر این 1G را بر اون 4K تقسیم کنیم ، باید در page table به اندازه  262144  ، entry وارد شود (1GB/4K) . اگر فرض کنید هر entry در Page Table  حدود 8bytes فضا مصرف میکند کل فضایی که فقط برایی ذخیره آدرس فیزیکی مصرف شده است  (2MB(262144*8 است. که وقتی تعداد پروسس ها زیاد شود هم فضای زیادی اشغال میشود هم جستجو در این page table سخت تر میشود.

 

در حال حاضر در معماری CPUهای جدید ، Pageها میتوانند اندازه بزرگتری داشته باشند.

نکته 1 ) اگر hardware شما پشتیبانی کند سایز Huge Page حداکثر میتواند 1G باشد.

  • راهله شاکری