Cómo Linux expande el número de abridores de archivos

  
                

Linux Cuando esté realizando la prueba de esfuerzo de Tsung, es posible que deba crear varias solicitudes de TCP, pero el número de apertura del archivo del sistema es fijo, no puede satisfacer la demanda, esta es la necesidad de modificar el número de apertura del archivo, la siguiente pequeña serie Permítanme presentarles cómo modificar la cantidad de archivos abiertos en el sistema Linux.

Versión del sistema operativo: Redhat 5.4

antecedentes de la cuestión: prueba de esfuerzo Tsung, queremos hacer tantas solicitudes TCP y encontró que sólo se puede construir 1.013 petición.

Análisis de motivos: el número predeterminado de abridores de archivos en Linux es 1024, menos 11 utilizados en otros lugares, y el resto es 1013.

Solución:

1) Primero use el comando ulimit -n o ulimit -a para encontrar que el número de archivos abiertos es 1024

El código es el siguiente:

[root @ SamuluIndex ~] # ulimit -n

1024

2) Use ulimit -n 65535 para cambiar el número de archivo abierto al valor máximo de 65535, y luego use ulimit -n para verificar que la modificación fue exitosa.

El código es el siguiente:

[root @ SamuluIndex ~] # ulimit -n 65535

[root @ SamuluIndex ~] # ulimit -n

65535 < Br>

En este punto, ejecute tsung start y descubra que solo se pueden crear 1013 solicitudes. Además, después de volver a iniciar sesión, se encuentra que la cantidad de archivos abiertos se restablece a su valor predeterminado de 1024. Explique que esta solución no funciona.

3) Agregue las siguientes dos líneas al final de /etc/security/limits.conf

El código es el siguiente:

* soft nofile 65535

* hard Nofile 65535

Re-verificación, éxito.

Información complementaria:

Modificar el número máximo de archivos abiertos en el sistema Linux

El siguiente comando puede ver el número máximo de archivos abiertos actualmente establecidos.

ulimit -n

Este número muestra el número máximo de archivos que un usuario normal puede abrir en una sola sesión.

Nota. Si es root, las siguientes operaciones no pueden aumentar la salida de ulimit -n. Debido a que el usuario root del usuario no está sujeto a este límite de ulimit. Solo los usuarios ordinarios estarán sujetos a esta restricción.

Para aumentar el número máximo de archivos abiertos al valor predeterminado de 1024 o más, debe modificar 2 lugares en el sistema.

En este caso, aumentamos el número máximo de archivos abiertos a 2048. Todos los pasos requieren operaciones de usuario root. Los usuarios normales deben iniciar sesión nuevamente para que la configuración tenga efecto.

1. Configure el sistema de acuerdo con el número máximo de archivos abiertos, y verifique el archivo /proc /sys /fs /file-max para confirmar que el número máximo de archivos abiertos se haya configurado correctamente.

# cat /proc /sys /fs /file-max

Si la configuración es demasiado pequeña, modifique la variable /etc/sysctl.conf al valor apropiado. Esto tendrá efecto después de cada reinicio. Si la configuración es lo suficientemente grande, omita el siguiente paso.

# echo 2048 proc /proc /sys /fs /file-maxEdite el archivo /etc/sysctl.conf e insértelo en el enlace descendente.

fs.file-max = 2048

2. Establezca el número máximo de archivos abiertos en el archivo /etc/security/limits.conf. Aquí hay una línea:

# "dominio" "tipo" "elemento" "valor" agregue la siguiente línea.

* - nofile 2048

Esta línea establece el número predeterminado de archivos abiertos por usuario en 2048.

Tenga en cuenta que existen dos restricciones posibles en el elemento &noquo; nofile ". Es duro y suave bajo "tipo".

Para que la cantidad máxima de archivos abiertos a ser modificados surta efecto, estas dos restricciones deben establecerse.

Si configura "tipo" con el carácter " - ", las configuraciones de hardware y software se establecerán al mismo tiempo.

El límite duro indica el valor máximo que se puede establecer en el límite suave.

El límite flexible se refiere al valor de configuración que está actualmente vigente para el sistema.

El valor límite rígido puede ser reducido por los usuarios normales. Pero no puede aumentar.

El límite flexible no se puede establecer por encima del límite rígido.

Solo el usuario root puede aumentar el límite duro.

Al agregar una descripción de límite de archivo, simplemente puede duplicar el valor actual.

El ejemplo es el siguiente. Si desea aumentar el valor predeterminado de 1024, es mejor aumentarlo a 2048. Si desea seguir aumentando, debe configurarlo en 4096.

3. Agregue la siguiente línea al archivo /etc/pam.d/login y /etc/pam.d/xdm, si aún no existe:

session required /lib /security/pam_limits.so

4. cierre de sesión e inicio de sesión

o cargado dinámicamente en el archivo de configuración del shell.

.bashrc Riga:

ulimit -HSn 2048

Segundo, instale

tar zxvf mysql-5.1.50-linux-i686-glibc23. Tar.gz

cp -rf mysql-5.1.50-linux-i686-glibc23 /usr /local /

cd /usr /local /

mv mysql-5.1 .50-linux-i686-glibc23 /mysql

Instala como la ruta predeterminada, para que no tengas que crear enlaces blandos para el directorio del programa

groupadd mysql

useradd -g mysql Mysql

cd mysql /

cp support-files /my-medium.cnf /etc/my.cnf

sed -i ‘ s /log-bin = mysql -bin /# log-bin = mysql-bin /g ’ /etc/my.cnf

sed -i ‘ s /binlog_format = mixed /# binlog_format = mixed /g ’ /etc/my.cnf

sed -i ‘ s /skip-locked /skip-locked /nmax_connections = 1000 /nwait_timeout = 5 /g ’ /etc/my.cnf

Siguiente para inicializar la base de datos

scripts /mysql_install_db --user = mysql

Instalar el control de servicio mysql

cp support-files /mysql.server /etc /Rc.d /init.d /mysqld

chmod 755 /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld en < Br>

service mysqld start

bin /mysqladmin -u root password 123654

Lo anterior es el método para modificar el número de archivos abiertos en Linux. Por lo general, el número de archivos abiertos es absolutamente suficiente. Si realmente necesita modificar el número de archivo abierto, puede probar el método descrito en este artículo. ¿Qué está esperando?

Copyright © Conocimiento de Windows All Rights Reserved