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) |
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)
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 de comandos y sistema de archivos /proc
Gestión de procesos con comandos de proceso (/proc)
Cómo visualizar información sobre los 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)
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)
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:
Reparto equitativo (FSS)
Fija (FX)
Sistema (SYS)
Interactivo (IA)
Tiempo real (RT)
La prioridad proporcionada por el usuario oscila entre -60 y +60.
La prioridad de un proceso se hereda del proceso principal. Esta prioridad se conoce como prioridad de modo de usuario.
El sistema busca la prioridad de modo de usuario en la tabla de parámetros de distribución de tiempo compartido. Luego, el sistema agrega prioridad (proporcionada por el usuario) en cualquier nice o priocntl y garantiza un rango entre 0 y 59 para crear una prioridad global.
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).
$ priocntl -l
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
$ ps -ecl
La prioridad global se muestra en la columna PRI.
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
# priocntl -e -c class -m user-limit -p pri command-name
Ejecuta el comando .
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).
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.
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.
# 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
# priocntl -s -m user-limit [-p user-priority] -i idtype idlist
Permite establecer el límite superior del rango de prioridad de usuario y cambiar la prioridad actual.
Al utilizar la opción -p, se especifica la cantidad máxima que se puede aumentar o disminuir la prioridad.
Permite designar una prioridad.
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.
# 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
# priocntl -s -c class -i idtype idlist
Permite establecer el límite superior del rango prioridad de usuario y cambiar la prioridad actual.
Especifica la clase, TS para tiempo compartido o RT para tiempo real, a la cual cambia el proceso.
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.
# 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
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.
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.
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
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).