JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Guía de administración del sistema: administración avanzada
search filter icon
search icon

Información del documento

Prefacio

1.  Administración de terminales y módems (descripción general)

2.  Configuración de terminales y módems (tareas)

3.  Gestión de puertos de serie con Service Access Facility (tareas)

4.  Gestión de recursos del sistema (descripción general)

5.  Visualización y cambio de la información del sistema (tareas)

6.  Gestión del uso de discos (tareas)

7.  Gestión de cuotas de UFS (tareas)

8.  Programación de tareas del sistema (tareas)

9.  Gestión de contabilidad del sistema (tareas)

10.  Contabilidad del sistema (referencia)

11.  Rendimiento de los recursos del sistema (descripción general)

12.  Gestión de procesos del sistema (tareas)

Gestión de procesos del sistema (mapa de tareas)

Comandos para gestionar procesos del sistema

Uso del comando ps

Uso de comandos y sistema de archivos /proc

Gestión de procesos con comandos de proceso (/proc)

Cómo mostrar procesos

Cómo visualizar información sobre los procesos

Cómo controlar procesos

Terminación de un proceso (pkill, kill)

Cómo terminar un proceso (pkill)

Cómo terminar un proceso (kill)

Depuración de un proceso (pargs, preap)

Gestión de información de clase de proceso (mapa de tareas)

Gestión de información de clase de proceso

Cambio de prioridad de programación de procesos (priocntl)

Cómo visualizar información básica sobre clases de proceso (priocntl)

Cómo visualizar la prioridad global de un proceso

Cómo designar una prioridad de proceso (priocntl)

Cómo cambiar los parámetros de programación de un proceso de tiempo compartido (priocntl)

Cómo cambiar la clase de un proceso (priocntl)

Cambio de prioridad de un proceso de tiempo compartido (nice)

Cómo cambiar la prioridad de un proceso (nice)

Resolución de problemas de procesos del sistema

13.  Supervisión del rendimiento del sistema (tareas)

14.  Resolución de problemas de software (descripción general)

15.  Gestión de los mensajes del sistema

16.  Gestión de archivos del núcleo central (tareas)

17.  Gestión de información sobre la caída del sistema (tareas)

18.  Resolución de diversos problemas de software (tareas)

19.  Resolución de problemas de acceso a archivos (tareas)

20.  Resolución de incoherencias en el sistema de archivos UFS (tareas)

21.  Resolución de problemas del paquete de software (tareas)

Índice

Gestión de información de clase de proceso

La siguiente lista identifica las clases de programación de procesos que se pueden configurar en el sistema. También se incluye el rango de prioridad de usuario para la clase de tiempo compartido.

Las clases de programación de procesos posibles son las siguientes:

Cambio de prioridad de programación de procesos (priocntl)

La prioridad de programación de un proceso es la prioridad asignada por el programador del proceso, según las directivas de programación. El comando dispadmin muestra las directivas de programación predeterminadas. Para obtener más información, consulte la página del comando man dispadmin(1M).

Puede utilizar el comando priocntl para asignar procesos a una clase de prioridad y gestionar las prioridades del proceso. Para obtener instrucciones sobre el uso del comando priocntl para gestionar procesos, consulte Cómo designar una prioridad de proceso (priocntl).

Cómo visualizar información básica sobre clases de proceso (priocntl)

Ejemplo 12-5 Visualización de información básica sobre clases de proceso (priocntl)

El siguiente ejemplo muestra el resultado del comando priocntl -l.

# priocntl -l
CONFIGURED CLASSES
==================

SYS (System Class)

TS (Time Sharing)
        Configured TS User Priority Range: -60 through 60

FX (Fixed priority)
        Configured FX User Priority Range: 0 through 60

IA (Interactive)
        Configured IA User Priority Range: -60 through 60

Cómo visualizar la prioridad global de un proceso

Ejemplo 12-6 Visualización de la prioridad global de un proceso

El siguiente ejemplo muestra el resultado del comando ps -ecl. Los valores de la columna PRI muestran que el proceso pageout tiene la prioridad más alta, mientras que el proceso sh tiene la prioridad más baja.

$ ps -ecl
 F S UID PID  PPID CLS PRI  ADDR      SZ  WCHAN    TTY      TIME   COMD
19 T 0   0    0    SYS 96   f00d05a8   0           ?        0:03  sched
 8 S 0   1    0    TS  50   ff0f4678 185  ff0f4848 ?       36:51   init
19 S 0   2    0    SYS 98   ff0f4018   0  f00c645c ?        0:01 pageout
19 S 0   3    0    SYS 60   ff0f5998   0  f00d0c68 ?      241:01 fsflush
 8 S 0   269  1    TS  58   ff0f5338 303  ff49837e ?        0:07    sac
 8 S 0   204  1    TS  43   ff2f6008  50  ff2f606e console  0:02     sh

Cómo designar una prioridad de proceso (priocntl)

  1. Conviértase en superusuario o asuma un rol similar.

    Los roles incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre los roles, consulte Configuración de RBAC (mapa de tareas) de Guía de administración del sistema: servicios de seguridad.

  2. Inicie un proceso con una prioridad designada.
    # priocntl -e -c class -m user-limit -p pri command-name
    -e

    Ejecuta el comando .

    -c clase

    Especifica la clase dentro de la cual se ejecutará el proceso. Las clases válidas son TS (tiempo compartido), RT (tiempo real), IA (interactivo), FSS (reparto equitativo) y FX (prioridad fija).

    -m límite de usuario

    Al utilizar la opción -p, se especifica la cantidad máxima que se puede aumentar o reducir la prioridad.

    -p nombre de comando pri

    Permite especificar la prioridad relativa en la clase RT para un subproceso de tiempo real. Para un proceso de tiempo compartido, la opción -p permite especificar la prioridad proporcionada por el usuario, que oscila entre -60 y +60.

  3. Verifique el estado del proceso.
    # ps -ecl | grep command-name

Ejemplo 12-7 Designación de una prioridad de proceso (priocntl)

El siguiente ejemplo muestra cómo iniciar el comando find con la prioridad más alta posible proporcionada por el usuario.

# priocntl -e -c TS -m 60 -p 60 find . -name core -print
# ps -ecl | grep find

Cómo cambiar los parámetros de programación de un proceso de tiempo compartido (priocntl)

  1. Conviértase en superusuario o asuma un rol similar.

    Los roles incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre los roles, consulte Configuración de RBAC (mapa de tareas) de Guía de administración del sistema: servicios de seguridad.

  2. Cambie los parámetros de programación de un proceso de tiempo compartido en ejecución.
    # priocntl -s -m user-limit [-p user-priority] -i idtype idlist
    -s

    Permite establecer el límite superior del rango de prioridad de usuario y cambiar la prioridad actual.

    -m límite de usuario

    Al utilizar la opción -p, se especifica la cantidad máxima que se puede aumentar o disminuir la prioridad.

    -p prioridad de usuario

    Permite designar una prioridad.

    -i xidtype xidlist

    Utiliza una combinación de xidtype y xidlist para identificar el proceso o los procesos. xidtype especifica el tipo de ID, como el ID de proceso o el ID de usuario. Utilice xidlist para identificar una lista de ID de proceso o de usuario.

  3. Verifique el estado del proceso.
    # ps -ecl | grep idlist

Ejemplo 12-8 Cambio de los parámetros de programación de un proceso de tiempo compartido (priocntl)

El siguiente ejemplo muestra cómo ejecutar un comando con un segmento de tiempo de 500 milisegundos, una prioridad de 20 en la clase RT y una prioridad global de 120.

# priocntl -e -c RT -m 500 -p 20 myprog
# ps -ecl | grep myprog

Cómo cambiar la clase de un proceso (priocntl)

  1. (Opcional) Conviértase en superusuario o asuma un rol similar.
  2. Cambie la clase de un proceso.
    # priocntl -s -c class -i idtype idlist
    -s

    Permite establecer el límite superior del rango prioridad de usuario y cambiar la prioridad actual.

    -c clase

    Especifica la clase, TS para tiempo compartido o RT para tiempo real, a la cual cambia el proceso.

    -i idtype idlist

    Utiliza una combinación de xidtype y xidlist para identificar el proceso o los procesos. xidtype especifica el tipo de ID, como el ID de proceso o el ID de usuario. Utilice xidlist para identificar una lista de ID de proceso o de usuario.


    Nota - Debe ser superusuario o trabajar en un shell de tiempo real para cambiar un proceso de tiempo real o para convertirlo en proceso de tiempo real. Si, como superusuario, cambia un proceso de usuario a la clase de tiempo real, el usuario no puede, posteriormente, cambiar los parámetros de programación en tiempo real mediante el comando priocntl -s.


  3. Verifique el estado del proceso.
    # ps -ecl | grep idlist

Ejemplo 12-9 Cambio de la clase de un proceso (priocntl)

El siguiente ejemplo muestra cómo cambiar todos los procesos que pertenecen al usuario 15249 para procesos en tiempo real.

# priocntl -s -c RT -i uid 15249
# ps -ecl | grep 15249

Cambio de prioridad de un proceso de tiempo compartido (nice)

El comando nice sólo se admite para compatibilidad de retroceso con versiones anteriores de Solaris. El comando priocntl proporciona más flexibilidad en la gestión de procesos.

La prioridad de un proceso está determinada por las directivas de su clase de programación y por su número de nice. Cada proceso de tiempo compartido tiene una prioridad global. La prioridad global se calcula agregando la prioridad proporcionada por el usuario, que puede estar influenciada por el comando nice o priocntl, y la prioridad calculada por el sistema.

El número de prioridad de ejecución de un proceso es asignado por el sistema operativo. El número de prioridad está determinado por varios factores, incluidos la clase de programación del proceso, el tiempo de uso de la CPU y, en el caso de un proceso de tiempo compartido, su número de nice.

Cada proceso de tiempo compartido se inicia con un número de nice predeterminado, que hereda de su proceso principal. El número de nice se muestra en la columna NI del informe ps.

Un usuario puede disminuir la prioridad de un proceso aumentando la prioridad proporcionada por el usuario. Sin embargo, sólo un superusuario puede reducir el número de nice para aumentar la prioridad de un proceso. Esta restricción evita que los usuarios aumenten las prioridades de sus propios procesos y monopolicen una mayor porción de la CPU.

Los números de nice oscilan entre 0 y +39, donde 0 representa la prioridad más alta. El valor predeterminado de nice para cada proceso de tiempo compartido es 20. Hay dos versiones disponibles del comando: la versión estándar, /usr/bin/nice, y el comando de shell C incorporado.

Cómo cambiar la prioridad de un proceso (nice)

Mediante este procedimiento, un usuario puede disminuir la prioridad de un proceso. Sin embargo, el superusuario puede aumentar o disminuir la prioridad de un proceso.


Nota - Esta sección describe la sintaxis del comando /usr/bin/nice, pero no el comando nice de shell C incorporado. Para obtener información sobre el comando nice de shell C, consulte la página del comando man csh(1).


  1. Determine si desea cambiar la prioridad de un proceso, ya sea como usuario o como superusuario. Seleccione una de las siguientes opciones:
    • Como usuario, siga los ejemplos del paso 2 para disminuir la prioridad de un comando.
    • Como superusuario, siga los ejemplos del paso 3 para aumentar o disminuir las prioridades de un comando.
  2. Como usuario, disminuya la prioridad de un comando aumentando el número de nice.

    El siguiente comando nice ejecuta el comando nombre-comando con una prioridad inferior aumentando el número de nice 5 unidades.

    $ /usr/bin/nice -5 command-name

    En el comando anterior, el signo menos indica que lo que aparece a continuación es una opción. Este comando también se puede especificar de la siguiente manera:

    % /usr/bin/nice -n 5 command-name

    El siguiente comando nice disminuye la prioridad del comando nombre-comando aumentando el número de nice 10 unidades (valor predeterminado de aumento), sin sobrepasar el valor máximo de 39.

    % /usr/bin/nice command-name
  3. Como superusuario, o habiendo asumido un rol equivalente, aumente o disminuya la prioridad de un comando cambiando el número de nice.

    El siguiente comando nice aumenta la prioridad del comando nombre-comando disminuyendo el número de nice 10 unidades, sin sobrepasar el valor mínimo de 0.

    # /usr/bin/nice --10 command-name

    En el comando anterior, el primer signo menos indica que lo que aparece a continuación es una opción. El segundo signo menos indica un número negativo.

    El siguiente comando nice disminuye la prioridad del comando nombre-comando aumentando el número de nice 5 unidades, sin sobrepasar el valor máximo de 39.

    # /usr/bin/nice -5 command-name

Véase también

Para obtener más información, consulte la página del comando man nice(1).