JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Administración de Oracle Solaris: tareas comunes     Oracle Solaris 11 Information Library (Español)
search filter icon
search icon

Información del documento

Acerca de este manual

1.  Localización de información acerca de comandos de Oracle Solaris

2.  Gestión de grupos y cuentas de usuario (descripción general)

3.  Gestión de cuentas de usuario y grupos (tareas)

4.  Inicio y cierre de un sistema Oracle Solaris

5.  Trabajo con Oracle Configuration Manager

6.  Gestión de servicios (descripción general)

7.  Gestión de servicios (tareas)

8.  Uso del gestor de fallos

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

10.  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

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

12.  Gestión de paquetes de software (tareas)

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

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

15.  Configuración y administración de impresoras mediante CUPS (tareas)

16.  Gestión de la consola del sistema, dispositivos del terminal y servicios de energía (tareas)

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

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

19.  Resolución de problemas de software y sistemas (tareas)

20.  Resolución de diversos problemas de software y sistemas (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 10-4 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 10-5 Visualización de la prioridad global de un proceso

En el siguiente ejemplo, se muestra la salida 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 CMD
 1 T      0     0     0  SYS  96        ?      0          ?         0:11 sched
 1 S      0     5     0  SDC  99        ?      0        ? ?         0:01 zpool-rp
 0 S      0     1     0   TS  59        ?    688        ? ?         0:00 init
 1 S      0     2     0  SYS  98        ?      0        ? ?         0:00 pageout
 1 S      0     3     0  SYS  60        ?      0        ? ?         2:31 fsflush
 1 S      0     6     0  SDC  99        ?      0        ? ?         0:00 vmtasks
 0 S     16    56     1   TS  59        ?   1026        ? ?         0:01 ipmgmtd
 0 S      0     9     1   TS  59        ?   3480        ? ?         0:04 svc.star
 0 S      0    11     1   TS  59        ?   3480        ? ?         0:13 svc.conf
 0 S      0   162     1   TS  59        ?    533        ? ?         0:00 pfexecd
 0 S      0  1738  1730   TS  59        ?    817        ? pts/ 1       0:00 bash
 0 S      1   852     1   TS  59        ?    851        ? ?         0:17 rpcbind
 0 S     17    43     1   TS  59        ?   1096        ? ?         0:01 netcfgd
 0 S     15    47     1   TS  59        ?    765        ? ?         0:00 dlmgmtd
 0 S      0    68     1   TS  59        ?    694        ? ?         0:01 in.mpath
 0 S      1  1220     1   FX  60        ?    682        ? ?         0:00 nfs4cbd
 0 S     16    89     1   TS  59        ?   1673        ? ?         0:02 nwamd
 0 S      0   146     1   TS  59        ?    629        ? ?         0:01 dhcpagen
 0 S      1   129     1   TS  59        ?   1843        ? ?         0:00 kcfd
 0 S      1  1215     1   FX  60        ?    738        ? ?         0:00 lockd
 0 S      0   829   828   TS  59        ?    968        ? ?         0:00 hald-run
 0 S      0   361     1   TS  59        ?   1081        ? ?         0:01 devfsadm
 0 S      0   879     1   TS  59        ?   1166        ? ?         0:01 inetd
 0 O 119764  1773   880   TS  59        ?    557          cons ole     0:00 ps
 0 S      0   844   829   TS  59        ?    996        ? ?         0:00 hald-add
 0 S      0   895   866   TS  59        ?    590        ? ?         0:00 ttymon
 0 S      0   840     1   TS  59        ?    495        ? ?         0:00 cron
 0 S      0   874     1   TS  59        ?    425        ? ?         0:00 utmpd
 0 S      0  1724   956   TS  59        ?   2215        ? ?         0:00 sshd
 0 S 119764   880     9   TS  59        ?    565        ? cons ole     0:00 csh
 0 S      0   210     1   TS  59        ?   1622        ? ?         0:00 sysevent
 0 S      0   279     1   TS  59        ?    472        ? ?         0:00 iscsid
 0 S      1  1221     1   TS  59        ?   1349        ? ?         0:00 nfsmapid
 1 S      0   374     0  SDC  99        ?      0        ? ?         0:00 zpool-us
 0 S      0  1207     1   TS  59        ?   1063        ? ?         0:00 rmvolmgr
 0 S      0   828     1   TS  59        ?   1776        ? ?         0:03 hald
 0 S      0   853   829   TS  59        ?    896        ? ?         0:02 hald-add
 0 S      0   373     1   TS  59        ?    985        ? ?         0:00 picld
 0 S      0   299     1   TS  59        ?    836        ? ?         0:00 dbus-dae
 0 S  12524  1730  1725   TS  59        ?    452        ? pts/ 1       0:00 csh
 0 S      0   370     1   TS  59        ?    574        ? ?         0:00 powerd
 0 S      0   264     1   FX  60        ?    637        ? ?         0:00 zonestat
 0 S      0   866     9   TS  59        ?    555        ? ?         0:00 sac
 0 S      0   851   829   TS  59        ?    998        ? ?         0:00 hald-add
 0 S  12524  1725  1724   TS  59        ?   2732        ? ?         0:00 sshd
 0 S      1  1211     1   TS  59        ?    783        ? ?         0:00 statd
 0 S      0  1046     1   TS  59        ?   1770        ? ?         0:13 intrd
 0 S      0   889     1   TS  59        ?   1063        ? ?         0:00 syslogd
 0 S      0  1209     1   TS  59        ?    792        ? ?         0:00 in.ndpd
 0 S      0  1188  1186   TS  59        ?    951        ? ?         0:15 automoun
 0 S      0  1172   829   TS  59        ?    725        ? ?         0:00 hald-add
 0 S      0  1186     1   TS  59        ?    692        ? ?         0:00 automoun
 0 S    101  1739  1738   TS  59        ?    817        ? pts/ 1       0:00 bash
 0 S      0  1199     1   TS  59        ?   1495        ? ?         0:02 sendmail
 0 S      0   956     1   TS  59        ?   1729        ? ?         0:00 sshd
 0 S     25  1192     1   TS  59        ?   1528        ? ?         0:00 sendmail
 0 S      0   934     1   TS  59        ?   6897        ? ?         0:14 fmd
 0 S      0  1131     1   TS  59        ?   1691        ? ?         0:07 nscd
 0 S      1  1181     1   TS  59        ?    699        ? ?         0:00 ypbind
 

Cómo designar una prioridad de proceso (priocntl)

  1. Conviértase en el rol root.
  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 con esta opción, también se especifica la cantidad máxima que usted puede aumentar o reducir su 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 10-6 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 el rol root.
  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 10-7 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 el rol root.
  2. Cambiar 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 usuario root 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 10-8 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. 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 usuario root puede aumentar o disminuir la prioridad de un proceso.

  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, 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).