SafeChildren Banner

Havoc Oracle Solaris Experts

miércoles, 14 de julio de 2010

Cómo cambiar parámetros Max User Process y Max Pid en Solaris

Introducción
En Solaris el valor de <max user processes> ( $ ulimit -u ) se define en el archivo de configuración </etc/system> como <maxuprc>, sin embargo, debemos tener en cuenta algunos conceptos.

Si intentamos modificar su valor con el comando <ulimit -u _nuevo_valor>, Solaris mostrará el siguiente error, ya que no es posible modificarlo mediante este comando.
# ulimit -u
29950
# ulimit -u 2000
bash: ulimit: max user processes: cannot modify limit: Argumento no válido
Para poder modificar este valor -el de maxuprc-, debemos tener en cuenta que su valor por defecto es:
max_nprocs - reserved_procs
Por lo tanto, debemos conocer los valores de los siguientes parámetros:
  • maxusers. Antiguamente definía el número máximo de usuarios, en la actualidad se utiliza para establecer los valores a las principales estructuras internas de Solaris. Su valor será igual al número de MB de memoria del sistema sin exceder nunca el valor de 4096.
  • reserved_procs. Número de procesos reservados para el UID 0 (root). Esto nos permitirá tener espacio para en caso de sufrir un exceso de procesos de usuarios, conectarnos a la consola y destruirlos. Su valor será 5 y sin exceder MAXINT. Mi recomendación es que pongáis un valor de (5xNº de Zonas) + 10
  • pidmax. Número máximo de PID que puede ser asignado. Su valor por defecto es 30.000 y puede ser desde 256 hasta 999.9999 sin exceder MAX_NPROCS
  • max_nprocs. Número máximo de procesos que se pueden crear en el sistema. Este valor se utiliza para crear las estructuras de cache UFS, HAT y Semáforos. Su valor por defecto es <10 + (16 x maxusers)>  y sin exceder de PIDMAX
Por lo tanto, como nuestra intención es incrementar el valor de máximo número de procesos de usuarios a 55.000, realizaremos los siguientes cambios  en el archivo </etc/system>. Recuerda hacer una copia para poder arrancar con otro </etc/system> por si algo falla
# cp /etc/system /etc/system.low
# vi /etc/system
 set pidmax=90000
 set maxusers = 4096
 set reserved_procs = 35
 set maxuprc = 55000
 set max_nprocs = 89965
:wq!
# touch /reconfigure
# reboot -- -r
Después de iniciar la máquina, podemos comprobar los nuevos valores, utilizando el comando <ulimit -u>
$ ulimit -a
core file size        (blocks, -c) unlimited
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
open files                    (-n) 4096
pipe size          (512 bytes, -p) 10
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) 55000
virtual memory        (kbytes, -v) unlimited
Referencias

No hay comentarios:

Publicar un comentario en la entrada