.\" -*- coding: UTF-8 -*- .\" Copyright 2003, Andries E. Brouwer .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH alloc_hugepages 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم alloc_hugepages, free_hugepages \- تخصيص أو تحرير الصفحات العملاقة .SH موجز .nf .\" asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, .\" unsigned long size, int prot, int flag); .\" asmlinkage int sys_free_hugepages(unsigned long addr); \fBvoid *syscall(\fPsize_t size; \fB SYS_alloc_hugepages, int \fP\fIkey\fP\fB,\fP \fB void \fP\fIaddr\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB,\fP \fB int \fP\fIprot\fP\fB, int \fP\fIflag\fP\fB);\fP \fBint syscall(SYS_free_hugepages, void *\fP\fIaddr\fP\fB);\fP .fi .P \fIملاحظة\fP: لا توفر glibc أغلفة لنداءات النظام هذه، مما يستلزم استخدام \fBsyscall\fP(2). .SH الوصف استُحدثت استدعاءات النظام \fBalloc_hugepages\fP() و \fBfree_hugepages\fP() في لينكس 2.5.36 وأُزيلت مرة أخرى في لينكس 2.5.54. كانت موجودة فقط على i386 و ia64 (عند البناء مع \fBCONFIG_HUGETLB_PAGE\fP). في لينكس 2.4.20، توجد أرقام استدعاءات النظام، لكن الاستدعاءات تفشل مع الخطأ \fBENOSYS\fP. .P على i386، تعرف أجهزة إدارة الذاكرة الصفحات العادية (4\ KiB) والصفحات العملاقة (2 أو 4\ MiB). وبالمثل، تعرف ia64 الصفحات العملاقة بعدة أحجام. تخدم استدعاءات النظام هذه لربط الصفحات العملاقة في ذاكرة العملية أو لتحريرها مرة أخرى. الصفحات العملاقة مقفلة في الذاكرة، ولا تُبدل. .P وسيطة \fIkey\fP هي معرّف. عندما تكون صفرًا، تكون الصفحات خاصة، ولا تُورث للأبناء. عندما تكون موجبة، تُشارك الصفحات مع تطبيقات أخرى تستخدم نفس \fIkey\fP، وتُورث لعمليات الابن. .P تخبر وسيطة \fIaddr\fP لـ \fBfree_hugepages\fP() أي صفحة تُحرر: كانت قيمة الإرجاع لاستدعاء \fBalloc_hugepages\fP(). (تُحرر الذاكرة فعليًا أولاً عندما يحررها جميع المستخدمين.) وسيطة \fIaddr\fP لـ \fBalloc_hugepages\fP() هي تلميح، قد يتبعه النواة أو لا. يجب أن تكون العناوين محاذاة بشكل صحيح. .P وسيطة \fIsize\fP هي حجم المقطع المطلوب. يجب أن تكون مضاعفًا لحجم الصفحة العملاقة. .P تحدد وسيطة \fIprot\fP حماية الذاكرة للمقطع. هي واحدة من \fBPROT_READ\fP، \fBPROT_WRITE\fP، \fBPROT_EXEC\fP. .P تُتجاهل وسيطة \fIflag\fP، ما لم تكن \fIkey\fP موجبة. في تلك الحالة، إذا كانت \fIflag\fP هي \fBIPC_CREAT\fP، يُنشأ مقطع صفحة عملاقة جديد عندما لا يوجد أي مقطع بالمفتاح المعطى. إذا لم يُضبط هذا العلم، يُعاد \fBENOENT\fP عندما لا يوجد مقطع بالمفتاح المعطى. .SH "قيمة الإرجاع" عند النجاح، تُعيد \fBalloc_hugepages\fP() العنوان الافتراضي المخصص، وتُعيد \fBfree_hugepages\fP() صفرًا. عند الخطأ، يُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBENOSYS\fP استدعاء النظام غير مدعوم على هذه النواة. .SH الملفات .TP \fI/proc/sys/vm/nr_hugepages\fP عدد صفحات hugetlb المكوّنة. يمكن قراءة هذا وكتابته. .TP \fI/proc/meminfo\fP يعطي معلومات عن عدد صفحات hugetlb المكوّنة وعن حجمها في المتغيرات الثلاثة HugePages_Total و HugePages_Free و Hugepagesize. .SH المعايير لينكس على معالجات إنتل. .SH التاريخ اختفت استدعاءات النظام هذه؛ كانت موجودة فقط في لينكس 2.5.36 حتى لينكس 2.5.54. .SH ملاحظات يمكن الآن استخدام نظام الملفات hugetlbfs بدلاً من ذلك. تُحصل الذاكرة المدعومة بالصفحات العملاقة (إذا كانت وحدة المعالجة المركزية تدعمها) باستخدام \fBmmap\fP(2) لربط الملفات في نظام الملفات الافتراضي هذا. .P يمكن تحديد العدد الأقصى للصفحات العملاقة باستخدام وسيط الإقلاع \fBhugepages=\fP. .\".P .\" requires CONFIG_HUGETLB_PAGE (under "Processor type and features") .\" and CONFIG_HUGETLBFS (under "Filesystems"). .\" mount \-t hugetlbfs hugetlbfs /huge .\" SHM_HUGETLB .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .