<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title># rm-rf.es &#187; procesos</title>
	<atom:link href="http://rm-rf.es/sobre/procesos/feed/" rel="self" type="application/rss+xml" />
	<link>http://rm-rf.es</link>
	<description>Administración de sistemas, Unix, Linux, FreeBSD, Windows, hosting, dominios, servidores...</description>
	<lastBuildDate>Wed, 23 May 2012 19:38:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Debug de procesos en Solaris con Truss</title>
		<link>http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/</link>
		<comments>http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 06:58:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Comandos]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=2595</guid>
		<description><![CDATA[Podríamos decir que truss es el equivalente en Solaris a strace de Linux, si bien existen también otras alternativas como dtrace que también cumplen perfectamente esta función. Truss es una utilidad que permite ejecutar el comando especificado o un proceso concreto y muestra durante su ejecución las llamadas al sistema que ejecuta y las señales [...]]]></description>
			<content:encoded><![CDATA[<p>Podríamos decir que <strong>truss</strong> es el equivalente en <strong>Solaris</strong> a <strong>strace</strong> de <strong>Linux</strong>, si bien existen también otras alternativas como dtrace que también cumplen perfectamente esta función.</p>
<p>Truss es una utilidad que permite ejecutar el comando especificado o un proceso concreto y muestra durante su ejecución las llamadas al sistema que ejecuta y las señales que recibe. Esto permite ver todo el proceso de ejecución y hacer debug de cualquier error o fault que ocurre.</p>
<p>Vamos a ver unos ejemplos. Lo más básico sería ejecutar truss seguido del comando del que queremos ver su debug, en el siguiente ejemplo simplemente ejecutamos el comando df:</p>
<pre># <strong>truss df</strong>
execve("/usr/gnu/bin/df", 0x08047E6C, 0x08047E74)  argc = 1
sysinfo(SI_MACHINE, "i86pc", 257)               = 6
mmap(0x00000000, 32, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xD1BB0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xD1BA0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xD1B90000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xD1B80000
memcntl(0xD1BB8000, 32064, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
memcntl(0x08050000, 15312, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/gnu/bin/df", "/usr/gnu/bin/df", 1023) = 15
sysconfig(_CONFIG_PAGESIZE)                     = 4096
stat64("/usr/gnu/bin/df", 0x08047AB0)           = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
stat64("/lib/libc.so.1", 0x08047260)            = 0
...
...
...</pre>
<p>No muestro todo el output debido a su longitud, podemos volcarlo a un fichero para analizarlo mejor en lugar de la salida stderr:</p>
<pre># truss -o salida.out df</pre>
<p>En el siguiente ejemplo hacemos debug de un proceso que ya se encuentra en ejecución:</p>
<pre># truss -rall -wall -f -p &lt;PID&gt;</pre>
<p>&#8220;-rall&#8221; implica ver todos los datos de lectura y &#8220;-wall&#8221; todos los de escritura, con &#8220;-f&#8221; vemos los procesos fordked y &#8220;-p&#8221; especifica el PID.</p>
<p>Podéis ver más ejemplos e información del comando en la página man correspondiente. A continuación podéis ver un par:</p>
<pre>$ man truss</pre>
<p>Trazar las llamadas de sistema open, close, read y write únicamente:</p>
<pre># truss -t open,close,read,write find . -print &gt;salida.out</pre>
<p>Trazar todas las llamads a funciones a nivel de usuario desde y hacia cualquier sitio:</p>
<pre># truss -u a.out -u ld:: -u :: &lt;comando&gt;</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/activar-debug-para-asp-en-iis7/" title="Activar DEBUG para ASP en IIS7">Activar DEBUG para ASP en IIS7</a></li><li><a href="http://rm-rf.es/bucle-de-password-expirado-en-ldap-nativo-rhel-contra-sun-ldap/" title="Bucle de password expirado en ldap nativo RHEL contra Sun LDAP">Bucle de password expirado en ldap nativo RHEL contra Sun LDAP</a></li><li><a href="http://rm-rf.es/consultar-y-exportar-certificados-ssl-en-sun-web-server-certutil-y-pkcs12/" title="Consultar y exportar certificados SSL en Sun Web Server (certutil y pkcs12)">Consultar y exportar certificados SSL en Sun Web Server (certutil y pkcs12)</a></li><li><a href="http://rm-rf.es/monitorizar-oracle-iplanet-web-server-con-get-perfdump/" title="Monitorizar Oracle iPlanet Web Server con get-perfdump">Monitorizar Oracle iPlanet Web Server con get-perfdump</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gestión y monitorización de servicios con Monit</title>
		<link>http://rm-rf.es/gestion-y-monitorizacion-de-servicios-con-monit/</link>
		<comments>http://rm-rf.es/gestion-y-monitorizacion-de-servicios-con-monit/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 16:36:39 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Monitorización]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[servicios]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=1690</guid>
		<description><![CDATA[Creo que todos los administradores de sistemas coincidimos en que un buen sysadmin es aquel que es capaz de conseguir que los sistemas se autogestionen en la mayor parte de lo posible. Esto implica, además de disponer de un buen sistema de monitorización tipo Big Brother, Nagios o Cacti, disponer de herramientas para que cuando [...]]]></description>
			<content:encoded><![CDATA[<p>Creo que todos los administradores de sistemas coincidimos en que <strong>un <a title="10 pautas para ser un buen Administrador de Sistemas" href="http://rm-rf.es/10-pautas-para-ser-un-buen-administrador-de-sistemas/">buen sysadmin</a> es aquel que es capaz de conseguir que los sistemas se <em>autogestionen</em> en la mayor parte de lo posible</strong>. Esto implica, además de disponer de un buen sistema de monitorización tipo Big Brother, Nagios o Cacti, disponer de herramientas para que cuando un servicio o aplicación falle y se pare, automáticamente intenten reiniciarla sin necesidad del administrador.</p>
<p><a href="http://mmonit.com/monit/">Monit</a> es una herramienta muy sencilla de instalar y configurar que se encargará de hacer esta tarea por nosotros. Monit permite monitorizar y gestionar procesos, ficheros, directorios y sistemas de ficheros.</p>
<p>Su instalación es realmente sencilla, podéis utilizar gestores de descargas como <a title="Gestión de paquetes en Linux con Yum" href="http://rm-rf.es/gestion-de-paquetes-en-linux-con-yum/">YUM</a> o APT o <a title="¿Qué es mejor, compilar o usar yum/apt?" href="http://rm-rf.es/%c2%bfque-es-mejor-compilar-o-usar-yum-apt/">compilarlo</a> desde el código fuente (no tiene ningún misterio). <a href="http://mmonit.com/monit/download/" target="_blank">Descarga aquí</a>.</p>
<p>En CentOS o RHEL por ejemplo:</p>
<pre># yum install monit</pre>
<p>Una vez instalado, simplemente tenéis que personalizar la configuración, encontraréis el fichero en la ruta <strong>/etc/monit.conf</strong>. Cada sección o directiva está perfectamente explicada, no obstante las más importantes:</p>
<pre>set daemon  60             # check services at 2-minute intervals
     with start delay 240  # optional: delay the first check by 4-minutes (by
#                          # default Monit check immediately after Monit start)</pre>
<p><strong>set daemon</strong> indica que levantemos monit como demonio, a continuación le especificamos el intervalo de tiempo para el chequeo de servicios, también indicamos un retardo de 4 minutos para que no los chequee nada más arrancar.</p>
<pre> set mailserver localhost               # primary mailserver
set alert xxx@xxx.com/pre&gt;</pre>
<p>Con <strong>set mailserver</strong> indicaremos el servidor de correo a utilizar para el envío de alertas. <strong>Set alert</strong> especificará la cuenta de correo a la que enviar los avisos.</p>
<p>Ya pasamos a la configuración de servicios y lo que vamos a monitorizar. En primera instancia podemos indicar que nos envíe correos cuando el sistema alcance una determinada carga o uso de CPU, memoria, etc. Descomentar y personalizar según requerimientos:</p>
<pre>#  check system myhost.mydomain.tld
#    if loadavg (1min) &gt; 4 then alert
#    if loadavg (5min) &gt; 2 then alert
#    if memory usage &gt; 75% then alert
#    if swap usage &gt; 25% then alert
#    if cpu usage (user) &gt; 70% then alert
#    if cpu usage (system) &gt; 30% then alert
#    if cpu usage (wait) &gt; 20% then alert</pre>
<p>También podemos monitorizar cambios en ficheros, permisos, checksum, usuarios y grupos, etc</p>
<pre>## Check if a file exists, checksum, permissions, uid and gid. In addition
## to alert recipients in the global section, customized alert can be sent to
## additional recipients by specifying a local alert handler. The service may
## be grouped using the GROUP option. More than one group can be specified by
## repeating the 'group name' statement.
#
#  check file apache_bin with path /usr/local/apache/bin/httpd
#    if failed checksum and
#       expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor
#    if failed permission 755 then unmonitor
#    if failed uid root then unmonitor
#    if failed gid root then unmonitor
#    alert security@foo.bar on {
#           checksum, permission, uid, gid, unmonitor
#        } with the mail-format { subject: Alarm! }
#    group server</pre>
<p>En la parte de servicios podemos configurar servicios como Apache, Exim, FTP, MySQL, etc para que cuando haya un problema y se paren Monit los levante automáticamente, a continuación os dejo el ejemplo para Apache (rutas y demás pueden diferir según la instalación):</p>
<pre>  check process apache with pidfile /usr/local/apache/logs/httpd.pid
    start program = "/etc/init.d/httpd start" with timeout 60 seconds
    stop program  = "/etc/init.d/httpd stop"
    if cpu &gt; 60% for 2 cycles then alert
    if cpu &gt; 80% for 5 cycles then restart
    if totalmem &gt; 200.0 MB for 5 cycles then restart
    if children &gt; 250 then restart
    if loadavg(5min) greater than 10 for 8 cycles then stop
    if failed host rm-rf.es port 80 protocol http
       and request "/index.phpsy"
       then restart
    if failed port 443 type tcpssl protocol http
       with timeout 15 seconds
       then restart
    if 3 restarts within 5 cycles then timeout
    #depends on apachectl
    group server</pre>
<p>Como véis monitoriza el PID de apache y si no lo encuentra lo reinicia. También monitoriza el uso de CPU y memoria y si es muy elevado en X ciclos de comprobación lo reinicia o avisa al administrador, lo mismo para el SSL, etc.</p>
<p>En la <a href="http://mmonit.com/monit/documentation/monit.html" target="_blank">ayuda de Monit</a> encontraréis información sobre como añadir más servicios, aunque simplemente es coger el de apache como base y modificar parámetros. Otro ejemplo para MySQL:</p>
<pre>check process mysql with pidfile /var/lib/mysql/mysql.pid
   group database
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 then restart
   if 5 restarts within 5 cycles then timeout</pre>
<p>Una vez que tengamos todo configurado, solo queda iniciar el servicio y comprobar su funcionamiento, por ejemplo tirando uno de los servicios monitorizados.</p>
<pre># /etc/init.d/monit start
Starting monit: Starting monit daemon
Monit start delay set -- pause for 240s
                                                           [  OK  ]</pre>
<p>Tener Monit instalado es un buen ejemplo de <strong>monitorización proactiva</strong> en vuestros servidores. Os sirva para evitar tener que levantaros alguna que otra madrugada a levantar un servicio.</p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/virtuozzo-averiguar-a-que-contenedor-pertenece-un-proceso/" title="Virtuozzo: Averiguar a que contenedor pertenece un proceso">Virtuozzo: Averiguar a que contenedor pertenece un proceso</a></li><li><a href="http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/" title="Debug de procesos en Solaris con Truss">Debug de procesos en Solaris con Truss</a></li><li><a href="http://rm-rf.es/monitorizar-oracle-iplanet-web-server-con-get-perfdump/" title="Monitorizar Oracle iPlanet Web Server con get-perfdump">Monitorizar Oracle iPlanet Web Server con get-perfdump</a></li><li><a href="http://rm-rf.es/introduccion-a-smf-service-management-facility-en-solaris/" title="Introducción a SMF (Service Management Facility) en Solaris">Introducción a SMF (Service Management Facility) en Solaris</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/gestion-y-monitorizacion-de-servicios-con-monit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asignar prioridad de CPU a procesos en Linux con nice</title>
		<link>http://rm-rf.es/asignar-prioridad-de-cpu-a-procesos-en-linux-con-nice/</link>
		<comments>http://rm-rf.es/asignar-prioridad-de-cpu-a-procesos-en-linux-con-nice/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 19:54:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[comando linux]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[nice]]></category>
		<category><![CDATA[procesos]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=1684</guid>
		<description><![CDATA[El comando nice en Linux nos permite modificar la prioridad de un proceso frente al resto dentro del sistema. El kernel Linux es el encargado de planificar y asignar tiempo de CPU a cada uno de los procesos que corren en el sistema. El rango de asignación de prioridad disponible es de -20 a 20 [...]]]></description>
			<content:encoded><![CDATA[<p>El comando <strong>nice</strong> en <strong>Linux</strong> nos permite <strong>modificar la prioridad de un proceso frente al resto dentro del sistema</strong>. El <strong>kernel Linux es el encargado de planificar y asignar tiempo de CPU</strong> a cada uno de los procesos que corren en el sistema. El rango de asignación de prioridad disponible es de <strong>-20 a 20</strong> , siendo -20 la mayor prioridad y 20 la menor. Gracias a nice podemos asegurarnos que en momentos de usos elevados de CPU los procesos adecuados reciban el mayor % de la misma.</p>
<p>La sintaxis del comando nice es la siguiente:</p>
<pre># nice -n&lt;PRIORIDAD&gt; COMANDO</pre>
<p>Así pues, si quisiéramos ejecutar un proceso con la mayor prioridad disponible (en este caso el script prueba.pl) haríamos lo siguiente:</p>
<pre># nice -n-20 ./prueba.pl</pre>
<p><em>Nota: es necesario ser superusuario para poder utilizar el comando nice</em></p>
<p>Ejecutando el <a title="El comando ps: Listar y manejar procesos" href="http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/">comando ps</a> observaremos como efectivamente la prioridad ha sido asignada correctamente:</p>
<pre># ps al
F   UID   PID  PPID PRI  <strong>NI</strong>    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND

4     0  4204  3985   0 <strong>-20</strong>   1872   504 n_tty_ S&lt;+  pts/0      0:00 /bin/sh ./prueba.pl</pre>
<p><em>Nota: hay que pasar el parámetro</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">l</div></div>
<p>para visualizar la columna de nice.</em></p>
<p>Si en cambio quisieramos que tuviera la mínima prioridad pues haríamos todo lo contrario:</p>
<pre># nice -n20 ./prueba.pl</pre>
<p>Si ejecutamos el comando nice sin parámetros nos indicará el valor asignado actualmente para nice:</p>
<pre># nice
0</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/linux-listar-procesos-cpu-memoria/" title="Linux: Listar procesos por % cpu o uso de memoria">Linux: Listar procesos por % cpu o uso de memoria</a></li><li><a href="http://rm-rf.es/linux-mostrar-informacion-de-cpu/" title="Linux: Mostrar información de CPU">Linux: Mostrar información de CPU</a></li><li><a href="http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/" title="El comando ps: Listar y manejar procesos">El comando ps: Listar y manejar procesos</a></li><li><a href="http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/" title="Debug de procesos en Solaris con Truss">Debug de procesos en Solaris con Truss</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/asignar-prioridad-de-cpu-a-procesos-en-linux-con-nice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtuozzo: Averiguar a que contenedor pertenece un proceso</title>
		<link>http://rm-rf.es/virtuozzo-averiguar-a-que-contenedor-pertenece-un-proceso/</link>
		<comments>http://rm-rf.es/virtuozzo-averiguar-a-que-contenedor-pertenece-un-proceso/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 16:06:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Virtualización]]></category>
		<category><![CDATA[Monitorización]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[virtuozzo]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=1602</guid>
		<description><![CDATA[Dentro de un nodo físico Virtuozzo, si ejecutamos un top podemos ver los procesos que más CPU y memoria están consumiendo, pero no podemos averiguar a simple vista a que máquina virtual pertenece. Para averiguarlo tenemos dos opciones. La primera es sustituir el uso de top por vztop. Se trata de una versión de top [...]]]></description>
			<content:encoded><![CDATA[<p>Dentro de un nodo físico <a title="Virtuozzo" href="http://rm-rf.es/sobre/virtuozzo/" target="_blank">Virtuozzo</a>, si ejecutamos un top podemos ver los procesos que más CPU y memoria están consumiendo, pero no podemos averiguar a simple vista a que máquina virtual pertenece. Para averiguarlo tenemos dos opciones.</p>
<p>La primera es sustituir el uso de top por <strong>vztop</strong>. Se trata de una versión de top modificada por Virtuozzo a través de la cual aparece una nueva columna que <strong>muestra el ID de la máquina virtual</strong>.</p>
<pre>$ vztop

vztop - 16:59:44 up 72 days,  5:11,  1 user,  load average: 2.04, 2.60, 2.76
Tasks: 528 total,   1 running, 522 sleeping,   0 stopped,   5 zombie
Cpu(s): 19.6% us,  7.4% sy,  0.2% ni, 62.2% id,  9.9% wa,  0.0% hi,  0.6% si
Mem:   4038416k total,  3948496k used,    89920k free,   173288k buffers
Swap:  4192956k total,      160k used,  4192796k free,  1701956k cached

 CTID   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  104 20875 nobody    15   0 41748  32m 1508 S   11  0.8   0:00.17 httpd
  104 11085 nobody    15   0 41904  33m 1564 S   10  0.8   0:01.53 httpd
  104 20899 nobody    15   0 41748  32m 1508 S   10  0.8   0:00.09 httpd
  104 18757 nobody    15   0 42016  33m 1556 S    8  0.8   0:00.64 httpd
  104 21077 527       18   0     0    0    0 Z    8  0.0   0:00.04 php
  104 21079 527       18   0     0    0    0 Z    8  0.0   0:00.04 php
  104 18752 nobody    15   0 41632  32m 1536 S    6  0.8   0:00.50 httpd
  104 19390 nobody    15   0 41748  32m 1532 S    6  0.8   0:00.44 httpd
  104 20884 nobody    15   0 41932  33m 1600 S    6  0.8   0:00.11 httpd</pre>
<p>La otra opción es utilizar otro comando propio de Virtuozzo,</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">vzpid</div></div>
<p>. Su uso es sencillo, hay que pasar como parámetro el PID y nos dirá el contenedor/máquina virtual al que pertenece:</p>
<pre># vzpid 20845
Pid	VEID	Name
20845	109	httpd</pre>
<p>109 es el ID de la máquina virtual, ejecutando un</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">vzlist</div></div>
<p>veremos el hostname y más información sobre la misma:</p>
<pre># vzlist 109
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       109        90 running   192.168.0.155       vps1.test.com</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/gestion-y-monitorizacion-de-servicios-con-monit/" title="Gestión y monitorización de servicios con Monit">Gestión y monitorización de servicios con Monit</a></li><li><a href="http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/" title="Debug de procesos en Solaris con Truss">Debug de procesos en Solaris con Truss</a></li><li><a href="http://rm-rf.es/monitorizar-oracle-iplanet-web-server-con-get-perfdump/" title="Monitorizar Oracle iPlanet Web Server con get-perfdump">Monitorizar Oracle iPlanet Web Server con get-perfdump</a></li><li><a href="http://rm-rf.es/instalar-una-version-especifica-de-parallels-virtuozzo-containers/" title="Instalar una versión específica de Parallels Virtuozzo Containers">Instalar una versión específica de Parallels Virtuozzo Containers</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/virtuozzo-averiguar-a-que-contenedor-pertenece-un-proceso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux: Listar procesos por % cpu o uso de memoria</title>
		<link>http://rm-rf.es/linux-listar-procesos-cpu-memoria/</link>
		<comments>http://rm-rf.es/linux-listar-procesos-cpu-memoria/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 16:31:32 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[ps]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=1104</guid>
		<description><![CDATA[Con estas dos secuencias de comandos podréis ver de un modo rápido y sencillo los procesos ordenados por uso (%) de CPU y memoria. Por supuesto no es necesario (ni práctico) escribir el comando completo en la shell cada vez que lo queráis ejecutar, os recomiendo crear un alias específico para cada uno de ellos. [...]]]></description>
			<content:encoded><![CDATA[<p>Con estas dos secuencias de comandos podréis ver de un modo rápido y sencillo los procesos ordenados por uso (%) de CPU y memoria. Por supuesto no es necesario (ni práctico) escribir el comando completo en la shell cada vez que lo queráis ejecutar, os recomiendo <a title="alias en Linux" href="http://rm-rf.es/como-crear-atajos-de-teclados-en-linux-bashrc/" target="_blank">crear un alias</a> específico para cada uno de ellos.</p>
<p>Listar procesos por % cpu, veréis que eliminamos aquellos que usan 0.0 de CPU con <a title="Comando sed" target="_blank" href="http://rm-rf.es/sobre/sed/">sed</a> (sed &#8216;/^ 0.0 /d):</p>
<pre>ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'</pre>
<p>Ejemplo:</p>
<pre>$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
%CPU CPU  NI S     TIME COMMAND
0.2   -   0 S 00:00:24 metacity
0.2   -   0 S 00:00:00 /usr/bin/python /usr/bin/terminator
0.2   -   0 S 00:00:28 gnome-screensaver
0.2   -   0 S 00:00:31 gnome-panel
4.6   -   0 S 00:08:23 /usr/bin/pulseaudio --start
7.4   -   0 S 00:13:24 /usr/X11R6/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
7.5   -   0 S 00:04:31 rhythmbox
14.4   -   0 S 00:08:50 /usr/lib/firefox-3.5.4/firefox-3.5</pre>
<p>Listar procesos por uso de memoria (en KB):</p>
<pre>ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</pre>
<p>Ejemplo (reducido):</p>
<pre>$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
23964 gnome-panel
26168 nautilus
26256 /usr/bin/python /usr/bin/terminator
58340 /usr/X11R6/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
58728 rhythmbox
128736 /usr/lib/firefox-3.5.4/firefox-3.5
</pre>
<p>Encontrado en <a href="http://www.pixelbeat.org/cmdline.html#monitor" target="_blank">pixelbeat</a></p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/asignar-prioridad-de-cpu-a-procesos-en-linux-con-nice/" title="Asignar prioridad de CPU a procesos en Linux con nice">Asignar prioridad de CPU a procesos en Linux con nice</a></li><li><a href="http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/" title="El comando ps: Listar y manejar procesos">El comando ps: Listar y manejar procesos</a></li><li><a href="http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/" title="Debug de procesos en Solaris con Truss">Debug de procesos en Solaris con Truss</a></li><li><a href="http://rm-rf.es/comando-sar-controlar-la-actividad-de-cpu-i/" title="Comando sar: controlar la actividad de CPU (I)">Comando sar: controlar la actividad de CPU (I)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/linux-listar-procesos-cpu-memoria/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>El comando ps: Listar y manejar procesos</title>
		<link>http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/</link>
		<comments>http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 17:57:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[processess]]></category>
		<category><![CDATA[ps]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://rm-rf.es/?p=318</guid>
		<description><![CDATA[Una entrada para los que se inician en el mundo Unix/Linux. El comando ps muestra por pantalla un listado de los procesos que se están ejecutando en el sistema. Si no añadimos ningún parámetro, ps mostrará los procesos del usuario con el que estamos logueados. Por otra parte, los parámetros más básicos a conocer son [...]]]></description>
			<content:encoded><![CDATA[<p>Una entrada para los que se inician en el mundo Unix/Linux. El comando ps muestra por pantalla un listado de los procesos que se están ejecutando en el sistema.</p>
<p>Si no añadimos ningún parámetro, ps mostrará los procesos del usuario con el que estamos logueados. Por otra parte, los parámetros más básicos a conocer son los siguientes:</p>
<p style="padding-left: 30px;"><strong>-aux</strong> Lista los procesos de todos los usuarios con información añadida (destacamos más abajo).</p>
<p style="padding-left: 30px;"><strong>-a</strong> Lista los procesos de todos los usuarios.</p>
<p style="padding-left: 30px;"><strong>-u</strong> Lista información del proceso como por ejemplo el usuario que lo está corriendo, la utilización de Cpu y memoria, etc.</p>
<p style="padding-left: 30px;"><strong>-x</strong> Lista procesos de todas las terminales y usuarios</p>
<p style="padding-left: 30px;"><strong>-l</strong> Muestra información que incluye el UID y el valor &#8220;<a href="http://en.wikipedia.org/wiki/Nice_(Unix)">nice</a>&#8220;.</p>
<p style="padding-left: 30px;"><strong>&#8211;forest</strong> &#8211; Muestra el listado procesos en un formato tipo árbol que permite ver como los procesos interactuan entre si, podría ser algo similar al comando <em>pstree</em>.<br />
Ejemplo de uso del comando ps:</p>
<pre>$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3   2844  1692 ?        Ss   18:13   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [migration/1]
root         7  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [ksoftirqd/1]
root         8  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [watchdog/1]
root         9  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [events/0]
root        10  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [events/1]
root        11  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [khelper]
root        47  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kblockd/0]
root        48  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kblockd/1]
root        51  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kacpid]
root        52  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kacpi_notify]
root       128  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kseriod]
root       168  0.0  0.0      0     0 ?        S    18:13   0:00 [pdflush]
root       169  0.0  0.0      0     0 ?        S    18:13   0:00 [pdflush]
root       170  0.0  0.0      0     0 ?        S&lt;   18:13   0:00 [kswapd0]
...
...
...</pre>
<p>Podéis revisar también la entrada en la que hablaba del comando <a href="http://rm-rf.es/el-comando-pgrep/">pgrep</a> o <a href="http://rm-rf.es/el-comando-top/">top</a>, pues os puede ser de utilidad, en breve hablaremos de comandos relacionados como kill, killall , pkill, etc.</p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li><a href="http://rm-rf.es/asignar-prioridad-de-cpu-a-procesos-en-linux-con-nice/" title="Asignar prioridad de CPU a procesos en Linux con nice">Asignar prioridad de CPU a procesos en Linux con nice</a></li><li><a href="http://rm-rf.es/linux-listar-procesos-cpu-memoria/" title="Linux: Listar procesos por % cpu o uso de memoria">Linux: Listar procesos por % cpu o uso de memoria</a></li><li><a href="http://rm-rf.es/debug-de-procesos-en-solaris-con-truss/" title="Debug de procesos en Solaris con Truss">Debug de procesos en Solaris con Truss</a></li><li><a href="http://rm-rf.es/comando-chage-tiempo-de-vida-de-claves-y-usuarios-en-gnulinux/" title="Comando chage: tiempo de vida de claves y usuarios en GNU/Linux">Comando chage: tiempo de vida de claves y usuarios en GNU/Linux</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://rm-rf.es/el-comando-ps-listar-y-manejar-procesos/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

