martes, 11 de abril de 2017

LINUX-optimizar la ejecución de procesos: setear (nice) o cambiar (renice) la prioridad de un proceso en ejecución

Niceness (Nice value ) y Priority 

Priority se refiere a la prioridad actual con la que un proceso se ejecuta en el espacio de la CPU asignado al kernel. Mientras que Nice Value o Niceness es lo correspondiente al espacio de la CPU asignado al usuario. 
En linux el rango de valores asignado de kernel space para prioridades es 0 hasta 139, mientras que para el niceness o user space es desde -20 (más alto), hasta el +19 (más bajo). Siendo el valor 0 el asignado por default.  

la relación entre priority y niceness es:

PR = 20 + NI

Cómo obtener el valor de la prioridad de un proceso en ejecución. 

Poner atención a las siguiente columnas
PR: 20
NI: 0
Cuando NI es 0 (default), el valor de PR es 20 (default)
root@centOS-testing02 ~]# dd if=/dev/zero of=/dev/null &
[1] 1578
[root@centOS-testing02 ~]# top

top - 14:32:10 up 4 min,  2 users,  load average: 0.16, 0.06, 0.01
Tasks: 101 total,   2 running,  99 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  7.5%sy,  0.0%ni, 90.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020380k total,   137708k used,   882672k free,     6884k buffers
Swap:  1048568k total,        0k used,  1048568k free,    39384k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                1578 root      20   0  102m  708  588 R 99.7  0.1   0:11.20 dd                                                                                              
[root@centOS-testing02 ~]# ps -o pid,comm,nice -p 1578
  PID COMMAND          NI
 1584 dd                0
[root@centOS-testing02 ~]# 

viernes, 7 de abril de 2017

LINUX-optimizar la ejecución de procesos: context switching

en un post anterior comenté acerca del uso del comando TOP (tail of processes) para conocer el load average
http://eloraculodelpinguino.blogspot.cl/2014/01/lalal.html

En el siguiente laboratorio, aprendemos a usar diferentes utilitarios  para manejar un proceso en particular y optimizar su ejecución adecuando el context switch.

Concepto de context switch.

hay varios post que se pueden encontrar googleando, sin embargo recomiendo el que (a mi parecer) está mejor explicado:
http://www.linfo.org/context_switch.html (los 3 primeros párrafos son suficientes)

jueves, 17 de noviembre de 2016

LINUX-backup/restore HDD con utilitario dd

el utilitario dd es una excelente herramienta para realizar backup integro de data a hdd del server.
Se recomienda utilizar versión del package gnu coreutils 8.24 o superior que viene en live DVD ubuntu 16.10 ya que incluye el param status, el cual indica la progresión en el proceso de la copia.

Así, cuando sea necesario realizar un backup de un HDD completo hacia una unidad externa,

jueves, 27 de octubre de 2016

LINUX-comprobar integridad archivo via sum

para comprobar la integridad de un archivo después de la transferencia via ftp desde un server unix a un server linux. se puede aplicar el comando sum en ambos servers.

En el server unix de origen,

lala@unixServer:/Exports$ sum datos.log
15053 2 datos.log
lala@unixServer:/Exports$

En el server linux, la invocación al comando sum, requiere del param -s (use System V sum algorithm, use 512 bytes blocks) el cual es el mismo algoritmo utilizado por unix.

[root@linuxServer]# sum -s datos.log
15053 2 datos.log
[root@linuxServer]#

sábado, 9 de julio de 2016

LINUX-understanding umask

A través de un excelente post sobre la estructura de umask en linux (o file permisions) es que quiero referirme a algunos tips:

El link sobre la explicación de umask
http://www.computerhope.com/unix/uumask.htm

jueves, 28 de abril de 2016

LINUX-lab understanding quotas

En el siguiente lab vamos a entender para qué es y cómo se utiliza las quotas en el S.O.
La quota es un concepto que limita la cantidad de espacio en el filesystem que puede ser utilizado por un user o un grupo de users. Así, es posible asignar destinar y acotar un espacio en el filesystem para cada user que lo requiera deacuerdo a los aplicativos que ejecute.

lunes, 18 de abril de 2016

LINUX-SySAdmin-fundamentos y lab de routing

En linux la comunicación entre servidores se da a través de rutas.
Las rutas pueden ser comprendidas como carreteras donde viajan los datagramas hacia un destino (host IP).

Existe bastante literatura al respecto que explica el funcionamiento del routing. La intención de este articulo es observar la información desplegada por los distintos comandos y aprender a interpretarla adecuadamente.