.\" -*- 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 г." "Linux man\-pages 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 ОПИСАНИЕ The system calls \fBalloc_hugepages\fP() and \fBfree_hugepages\fP() were introduced in Linux 2.5.36 and removed again in Linux 2.5.54. They existed only on i386 and ia64 (when built with \fBCONFIG_HUGETLB_PAGE\fP). In Linux 2.4.20, the syscall numbers exist, but the calls fail with the error \fBENOSYS\fP. .P На i386 аппаратура управления памятью умеет работать с обычными страницами (4\ КиБ) и огромными страницами (2 или 4\ МиБ). Подобно этому, ia64 умеет работать с огромными страницами разных размеров. Эти системные вызовы служат для отображения огромных страниц в память процесса или её освобождения. Огромные страницы блокируются в памяти и не могут быть вытеснены в пространство подкачки. .P Аргумент \fIkey\fP служит идентификатором. При нулевом значении страницы считаются частными и не наследуются потомками. При положительном значении страницы совместно используются несколькими приложениями посредством одинакового \fIkey\fP и наследуются процессами\-потомками. .P Аргумент \fIaddr\fP в \fBfree_hugepages\fP() указывает какую страницу нужно освободить: его значением является результат вызова \fBalloc_hugepages\fP(). (Память, на самом деле, освобождается только когда все пользователи её освободят.) Аргумент \fIaddr\fP в \fBalloc_hugepages\fP() \(em это подсказка, которой ядро может и не воспользоваться. Адреса должны быть выровнены соответствующим образом. .P The \fIsize\fP argument is the size of the required segment. It must be a multiple of the huge page size. .P Аргумент \fIprot\fP определяет тип защиты сегмента памяти. Может быть указано одно из значений: \fBPROT_READ\fP, \fBPROT_WRITE\fP, \fBPROT_EXEC\fP. .P Аргумент \fIflag\fP игнорируется, если \fIkey\fP не является положительным. В этом случае, если \fIflag\fP \(em \fBIPC_CREAT\fP, то создаётся новый сегмент огромной страницы, если не существует ни один из указанных идентификаторов. Если флаг не задан, то возвращается \fBENOENT\fP, если не существует сегмента с заданным идентификатором. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, \fBalloc_hugepages\fP() returns the allocated virtual address, and \fBfree_hugepages\fP() returns zero. On error, \-1 is returned, and \fIerrno\fP is set to indicate the error. .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 СТАНДАРТЫ Linux на процессорах Intel. .SH ИСТОРИЯ Эти системные вызовы исчезли; они существовали только в Linux 2.5.36 вплоть до Linux 2.5.54. .SH ПРИМЕЧАНИЯ Now the hugetlbfs filesystem can be used instead. Memory backed by huge pages (if the CPU supports them) is obtained by using \fBmmap\fP(2) to map files in this virtual filesystem. .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 ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Dmitry Bolkhovskikh и Yuri Kozlov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .