Parámetros del kernel relacionados con la red del servidor Linux

  

Casi todos los módulos del kernel, incluidos los controladores y los módulos del núcleo del kernel, proporcionan algunos archivos de configuración bajo el sistema de archivos /proc /sys para proporcionar propiedades y comportamiento de los módulos ajustados por el usuario. Por lo general, un archivo de configuración corresponde a un parámetro del kernel, el nombre del archivo es el nombre del parámetro y el contenido del archivo es el valor del parámetro. Podemos ver todos estos parámetros del kernel con el comando sysctl -a. A continuación se describen algunos de los parámetros del kernel que están más relacionados con la programación de la red.

Primero, algunos archivos en el directorio /proc /sys /fs

Los parámetros del kernel en el directorio /proc /sys /fs están relacionados con el sistema de archivos. Para los programas del servidor, el más importante de estos son los dos parámetros siguientes:

/proc /sys /fs /fs /file-max, límite del descriptor de archivos a nivel del sistema. La modificación directa de este parámetro tiene el mismo efecto que el método de modificación en "Descriptor de archivo máximo de Linux" (aunque se trata de modificaciones temporales). Después de modificar /proc /sys /fs /file-max, la aplicación debe configurar /proc /sys /fs /inode-max en 3-4 veces el valor de /proc /sys /fs /fs /file-max, de lo contrario Puede hacer que la cantidad de nodos i sea insuficiente.

Eche un vistazo a la descripción del sistema de fs.file-max:

/proc /sys /fs /file-max

Este archivo define un límite para todo el sistema en el Número de archivos abiertos para todos los procesos.
(Consulte también setrlimit (2), que puede usar un proceso para establecer el límite por proceso,

RLIMIT_NOFILE, sobre la cantidad de archivos que puede abrir). Recibes muchos mensajes de error sobre la ejecución de los manejadores de archivos, intenta aumentar este valor:

echo 100000 > /proc /sys /fs /file-max

La constante de kernel NR_OPEN impone una Límite superior en el valor que se puede colocar en archivo-max.

Si aumenta /proc /sys /fs /file-max, asegúrese de aumentar /proc /sys /fs /inode-max a 3 -4 veces el nuevo valor de /proc /sys /fs /file-max, o se quedarán sin inodos.

/proc /sys /fs /epoll /max_user_watches, un usuario puede ir al evento del núcleo de Epoll El número total de eventos registrados en la tabla. Se refiere a la cantidad total de eventos que todas las instancias de epoll abiertas por el usuario pueden escuchar, no a la cantidad de eventos que una sola instancia de epoll puede escuchar. El registro de un evento en la tabla de eventos del núcleo de epoll consume aproximadamente 90 bytes de espacio del núcleo en un sistema de 32 bits y 160 bytes de espacio del núcleo en un sistema de 64 bits. Por lo tanto, este parámetro del kernel limita la cantidad total de memoria del kernel utilizada por epoll.

Segundo, algunos archivos en el directorio /proc /sys /net

Los parámetros relevantes de los módulos de red en el kernel se encuentran en el directorio /proc /sys /net, que está relacionado con el protocolo TCP /IP. Los parámetros se encuentran principalmente en los siguientes tres directorios: core, ipv4, ipv6.

/proc /sys /net /core /somaxconn, que especifica el socket en la cola de escucha que puede establecer una conexión completa e ingresar al estado ESTABLISHED. El número máximo.

/proc /sys /net /ipv4 /tcp_max_syn_backlog, especifica el número máximo de sockets que se pueden mover al estado ESTABLISHED o SYN_RCVD en la cola de escucha de escucha.

/proc /sys /net /ipv4 /tcp_wmem, que contiene tres valores que especifican los valores mínimo, predeterminado y máximo del búfer de escritura TCP para un socket.

/proc /sys /net /ipv4 /tcp_rmem, que contiene tres valores que especifican los valores mínimo, predeterminado y máximo del búfer de lectura TCP para un socket.

/proc /sys /net /ipv4 /tcp_syncookies, especifica si se abre la etiqueta de sincronización TCP. La etiqueta de sincronización evita que un socket de escucha reciba repetidamente solicitudes de conexión (segmentos síncronos) de la misma dirección al iniciar una cookie, lo que hace que la cola de escucha de escucha se desborde (la llamada tormenta SYN).

Además de modificar estos parámetros del sistema modificando directamente el archivo, también podemos modificarlos usando el comando sysctl. Ambas modificaciones son temporales. La modificación permanente es agregar los parámetros de red correspondientes y sus valores en el archivo /etc/sysctl.conf y ejecutar sysctl -p para que tengan efecto, al igual que modificar el número máximo de descriptores de archivos que el sistema puede abrir.

Copyright © Conocimiento de Windows All Rights Reserved