PDF de programación - Unidad V – Comandos avanzados

Imágen de pdf Unidad V – Comandos avanzados

Unidad V – Comandos avanzadosgráfica de visualizaciones

Publicado el 9 de Mayo del 2018
485 visualizaciones desde el 9 de Mayo del 2018
222,9 KB
22 paginas
Creado hace 17a (03/07/2006)
Unidad V – Comandos avanzados

Aspectos básicos

Monitorización sobre GNU/Linux

Optimización del sistema

Optimizaciones de carácter general

Configuraciones complementarias

Aspectos Básicos

Introducción

Un aspecto fundamental, una vez que el sistema está instalado, es la
configuración y adaptación del sistema a las necesidades del usuario y que las
prestaciones del sistema sean lo más adecuadas posible a las necesidades que
de él se demandan. GNU/Linux es un sistema operativo-eficiente que permite un
grado de configuración excelente y una optimización muy delicada de acuerdo a
las necesidades del usuario.
Es por ello por lo que, una vez realizada una instalación (o en algunos casos una
actualización), deben hacerse determinadas configuraciones vitales en el sistema.
Si bien el sistema “funciona”, es necesario efectuar algunos (adaptación al entorno
o sintonización) para permitir que estén cubiertas todas las necesidades del
usuario/servicios que presta la máquina.
Esta sintonización dependerá de dónde se encuentre funcionando la máquina y se
llevará a cabo, en algunos casos para mejorar el rendimiento del sistema, y en
otros (además) por cuestiones seguridad.
Cuando está en funcionamiento, es necesario monitorizar el sistema para ver su
comportamiento y actuar en consecuencia. Si bien es un aspecto fundamental, la
sintonización de un operativo muchas veces se relega a la opinión de expertos o
gurús de la informática; pero conociendo los parámetros que afectan al
rendimiento, es posible llegar a buenas soluciones haciendo un proceso cíclico de
análisis, cambio de configuración, monitorización y ajustes.

Antes de conocer cuáles son las técnicas de optimización, es necesario enumerar
las causas que pueden afectar a las prestaciones de un sistema operativo. Entre
éstas, se pueden mencionar:
a) Cuellos de botella en los recursos: la consecuencia es que todo el sistema irá
más lento porque existen recursos que no pueden satisfacer la demanda a la que
se les somete. El primer paso para optimizar el sistema es encontrar estos cuellos
de botella y por qué ocurren, conociendo sus limitaciones teóricas y prácticas.
b) Ley de Amdahl: según esta ley, “hay un límite de cuánto puede uno mejorar en
velocidad una cosa si sólo se optimiza una parte de ella”; es decir, si se tiene un
programa que utiliza el 10% de CPU y se optimiza reduciendo la utilización en un
factor de 2, el programa mejorará sus prestaciones (speedup) en un 5%, lo cual
puede significar un tremendo esfuerzo no compensado con los resultados.
speedup
c) Estimación del
: es necesario estimar cuánto mejorará para evitar

esfuerzos y costes innecesarios. Se puede utilizar la ley anterior para valorar si es
necesaria una inversión en tiempo o económica en el sistema.
d) Efecto burbuja: siempre se tiene la sensación de que cuando se encuentra la
solución a un problema, surge otro. Una manifestación de este problema es que el
sistema se mueve constantemente entre poblemas de CPU y problemas de
entrada/salida, y viceversa.



e) Tiempo de repuesta frente a cantidad de trabajo: si se cuenta con veinte
usuarios, mejorar en la productividad significará que todos tendrán más trabajo
hecho al mismo tiempo, pero no mejores respuestas individualmente; podría ser
que el tiempo de respuesta para algunos fuera mejor que para otros. Mejorar el
tiempo de respuesta significa optimizar el sistema para que las tareas individuales
tarden lo menos posible.

f) Psicología del usuario: dos parámetros son fundamentales: 1) el usuario estará
insatisfecho generalmente cuando se produzcan variaciones en el tiempo de
respuesta; y 2) el usuario no detectará mejoras en el tiempo de ejecución menores
del 20%.
g) Efecto prueba: las medidas de monitorización afectan a las propias medidas.
Se debe ir con cuidado cuando se realizan las pruebas por los efectos colaterales
de los propios programas de medida.
h) Importancia de la media y la variación: se deben tener en cuenta los resultados,
ya que si se obtiene una media de utilización de CPU del 50% cuando ha sido
utilizada 100, 0, 0, 100, se podría llegar a conclusiones erróneas. Es importante
ver la variación sobre la media.

i) Conocimientos básicos sobre el hardware del sistema por optimizar: para
mejorar una cosa es necesario “conocer” si es susceptible de mejora. El
encargado de la optimización deberá conocer básicamente el hardware
subyacente (CPU, memorias, buses, cachés, entrada/salida, discos, vídeo) y su
interconexión para poder determinar dónde están los problemas.

j) Conocimientos básicos sobre el sistema operativo por optimizar: del mismo
modo que en el punto anterior, el usuario deberá conocer aspectos mínimos sobre
el sistema operativo que pretende optimizar, entre los cuales se incluyen
conceptos como procesos y threads (creación, ejecución, estados, prioridades,
terminación), llamadas al sistema, buffers de caché, sistema de archivos,
administración de memoria y memoria virtual (paginación, swap) y tablas del
kernel.

Monitorización sobre GNU/Linux

Los comandos ps -edaflm y top



A continuación, se muestran dos ejemplos de ambos comandos:
ps
-edaflm
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
100 S root 1 0 0 69 0 - 318 141d8e 21:28 ? 00:00:04 init [2]
040 S root 2 1 0 69 0 - 0 121d85 21:28 ? 00:00:00 [keventd]
040 S root 169 1 0 69 0 - 509 141d8e 21:28 ? 00:00:00 /sbin/syslogd
040 S root 253 1 0 69 0 - 541 141d8e 21:28 ? 00:00:00 /usr/sbin/dhcpd-
.2.x
-q
040 S daemon405 1 0 69 0 - 346 11d9bc 21:29 ? 00:00:00 /usr/sbin/atd
100 R root 954 544 0 73 0 - 671 - 23:56 pts/1 00:00:00 ps -edaflm
Donde los parámetros reflejan el valor indicado en la variable del kernel para este
proceso, los más importantes desde el punto de vista de la monitorización son: F
flags (en este caso 100 es con superprivilegios, 040 creado desde el inicio
daemon), S es el estado (D: nointerrumpible durmiendo entrada/salida, R:
ejecutable o en cola, S: durmiendo, T: en traza o parado, Z: muerto en vida,
‘zombie’). PRI es la prioridad; NI es nice; STIME, el tiempo de inicio de ejecución;
TTY, desde donde se ha ejecutado; TIME, el tiempo de CPU; CMD, el programa
que se ha ejecutado y sus parámetros. Si se quiere salida con refresco
(configurable), se puede utilizar el comando top, que muestra unas estadísticas

total,



cachedK

258040K

total,

1080K used,

255288K

1 user,



load average:

0.00,
0 zombie,
0.4% nice,
21856K

1 running,
1.9% system,
233432K used,

generales (procesos, estados, carga, etc.), y después, información de cada uno de
ellos similar al ps, pero se actualiza cada 5 segundos por defecto:
top
0.15
0.05,
23:57:10 up 2:28,
0 stopped
68 processes: 67 sleeping,
86.2%
idle
CPU states: 11.5% user,
16324
free,
Mem:
free,
buffersK Swap:
96200K
0m
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME
COMMAND
top
13 0 956 956 748 R 0.9 0.3 0:00
2000
9 0 484 484 424 S 0.0 0.1 0:04
init
1
2
9 0 0 0 0 SW 0.0 0.0 0:00 keventd
94 daemon 9 0 432 432 356 S 0.0 0.1 0:00 portmap
9 0 784 784 668 S 0.0 0.3 0:00 syslogd
169
172
9 0 532 532 384 S 0.0 0.2 0:00 klogd
176 root 9 0 2248 2248 1736 S 0.0 0.8 0:00 namedK
9 0 820 820 688 S 0.0 0.3 0:00 dhcpd-2.2.x
253 root
221 root
7
-5 708 708 568 S < 0.0 0.2 0:00 diald
337 postgres 9 0 1692 1692 1624 S 0.0 0.6 0:00 postmaster
419 root 9 0 1416 1372 1304 S 0.0 0.5 0:00 apache

256960K


root

root
root

root
root

El comando atsar

Los sistemas compatibles UNIX SV utilizan los comandos sar y sadc para obtener
estadísticas del sistema. Su equivalente en GNU/Linux (incluido en Debian) es
atsar (y atsadc), que es totalmente equivalente a los que hemos mencionado. El
comando atsar lee contadores y estadísticas del fichero /proc y las muestra por la
salida estándar. La primera forma de llamar al comando es:
atsar opciones t [n]
donde muestra la actividad en n veces cada t segundos con una cabecera
mostrando los contadores de actividad (el valor por defecto de n es 1).
La segunda forma de llamarlo es:
atsar -opciones -s time -e time -i sec -f file -n day#
Nota: Para optimizar hay que tener en cuenta la saturación de los recursos. Ley
de Amdahl: relaciona los conocimientos de software y hardware disponible, el
tiempo de respuesta y el número de trabajos.
El comando extrae datos del archivo especificado por -f

(por defecto

/var/log/atsar/atsarxx, con xx el día del mes) y que fueron previamente guardados
por atsadc (se utiliza para recoger los datos, salvarlos y procesarlos y en Debian
está en /usr/lib/atsar). El parámetro -n puede ser utilizado para indicar el día del
mes y -s, -e la hora de inicio-final, respectivamente.

Opciones del comando atsar

En atsar, las opciones se utilizan para indicar qué contadores hay que mostrar;
algunos de ellos son:

Opción

Descripción

u

d

i

v

y

p

r

l

L

w

t

Utilización CPU

Actividad de disco

Número de interrupciones/s

Utilización de tablas en el kernel

Estadísticas de utilización de ttys

Información de paginación y actividad de swap

Memoria libre y ocupación de swap

Estadísticas de red

Información de errores de red

Estadísticas de conexiones IP

Estadísticas de TCP

U

m

N

A

Estadísticas de UDP

Estadísticas de icmp

Estadísticas de NFS

Todas las opciones

NO
  • Links de descarga
http://lwp-l.com/pdf10990

Comentarios de: Unidad V – Comandos avanzados (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad