Scroll to navigation

ALLOC_HUGEPAGES(2) Manual del Programador de Linux ALLOC_HUGEPAGES(2)

NOMBRE

alloc_hugepages, free_hugepages - asigna o libera páginas de gran tamaño

SINOPSIS

void *alloc_hugepages(int key, void *addr, size_t len,
                      int prot, int flag);
int free_hugepages(void *addr);

DESCRIPCIÓN

The system calls alloc_hugepages() and free_hugepages() were introduced in Linux 2.5.36 and removed again in 2.5.54. They existed only on i386 and ia64 (when built with CONFIG_HUGETLB_PAGE). In Linux 2.4.20, the syscall numbers exist, but the calls fail with the error ENOSYS.

En la arquitectura i386 el hardware de gestión de la memoria maneja páginas ordinarias (4 KiB) y páginas grandes (2 o 4 MiB). De manera similar, la arquitectura ia64 maneja páginas grandes de distintos tamaños. Estas llamadas al sistema sirven para ubicar páginas de gran tamaño en la memoria del proceso o para liberarlas. Las páginas grandes están fijas en memoria, y no son intercambiadas (swapped).

El argumento key es un identificador. Cuando es cero las páginas son privadas, y no son heredadas por los hijos. Cuando es positivo las páginas son compartidas con otras aplicaciones usando el mismo identificador key, y heredadas por los procesos hijo.

The addr argument of free_hugepages() tells which page is being freed: it was the return value of a call to alloc_hugepages(). (The memory is first actually freed when all users have released it.) The addr argument of alloc_hugepages() is a hint, that the kernel may or may not follow. Addresses must be properly aligned.

El parámetro len es la longitud del segmento requerido. Debe ser un múltiplo del tamaño de la página gigante.

El parámetro prot especifica la protección de memoria del segmento. Puede ser PROT_READ, PROT_WRITE o bien PROT_EXEC.

The flag argument is ignored, unless key is positive. In that case, if flag is IPC_CREAT, then a new huge page segment is created when none with the given key existed. If this flag is not set, then ENOENT is returned when no segment with the given key exists.

VALOR DEVUELTO

En caso de éxito, alloc_hugepages() devuelve la dirección virtual asignada, y free_hugepages() devuelve cero. En caso de error, se devuelve -1, y se modifica errno con el valor apropiado.

ERRORES

La llamada al sistema no está soportada por este núcleo.

ARCHIVOS

/proc/sys/vm/nr_hugepages
Número de páginas hugetlb configuradas. Puede ser leído y escrito.
/proc/meminfo
Proporciona información del número de páginas hugetlb configuradas y de su tamaño en las tres variables HugePages_Total, HugePages_Free, Hugepagesize.

CONFORME A

En procesadores Intel, estas llamadas son específicas de Linux y no deben emplearse en aplicaciones que pretendan ser portables.

NOTAS

These system calls are gone; they existed only in Linux 2.5.36 through to 2.5.54. Now the hugetlbfs filesystem can be used instead. Memory backed by huge pages (if the CPU supports them) is obtained by using mmap(2) to map files in this virtual filesystem.

El número máximo de páginas grandes puede especificarse usando el parámetro hugepages= en el arranque.

COLOFÓN

Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.

15 Septiembre 2017 Linux