Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:200_capacity_planning

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:certificaciones:lpic:lpic-2:200_capacity_planning [2021/04/10 20:24] – [LPI Topic 200: Capacity Planning] tempwininformatica:certificaciones:lpic:lpic-2:200_capacity_planning [2021/04/14 13:33] (actual) tempwin
Línea 5: Línea 5:
 Los alumnos deben poder medir los recursos de hardware y el ancho de banda de la red, identificar y solucionar problemas de recursos y deben poder monitorizar el uso de recursos para predecir las necesidades futuras. Los alumnos deben poder medir los recursos de hardware y el ancho de banda de la red, identificar y solucionar problemas de recursos y deben poder monitorizar el uso de recursos para predecir las necesidades futuras.
  
-  * [[informatica:certificaciones:lpic:lpic-2:200_capacity_planning:200.1|200.1 Measure and Troubleshoot Resource Usage]] (6) +  * [[informatica:certificaciones:lpic:lpic-2:200_capacity_planning:200.1_measure_and_troubleshoot_resource_usage|200.1 Measure and Troubleshoot Resource Usage]] (6) 
-  * [[informatica:certificaciones:lpic:lpic-2:200_capacity_planning:200.2|200.2 Predict Future Resource Needs]] (2) +  * [[informatica:certificaciones:lpic:lpic-2:200_capacity_planning:200.2_predict_future_resource_needs|200.2 Predict Future Resource Needs]] (2)
-===== 200.1: Recursos y Medidas para la Resolución de Problemas ===== +
- +
-Monitorizar recursos: +
- +
-  * CPU +
-  * Memoria (RAM/SWAP) +
-  * Carga del sistema (Load Average) +
-  * Consumo de recursos de red (Network) +
- +
-==== iostat ==== +
- +
-Monitor de I/O y CPU +
- +
-<WRAP center round info 60%> +
-Necesario instalar el paquete ''sysstat'' +
-</WRAP> +
- +
- +
-<code> +
-iostat [options] [interval] [count] [device] +
-</code> +
- +
-  * ''c'': estadísticas CPU +
-  * ''d'': estadísticas de los dispositivos +
- +
-Datos de un dispositivo: +
- +
-<code bash> +
-iostat /dev/sda +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-Linux 4.19.0-14-amd64 (debian10) 03/27/2021 _x86_64_ (2 CPU) +
- +
-avg-cpu:  %user   %nice %system %iowait  %steal   %idle +
-           0.05    0.00    0.14    0.02    0.00   99.78 +
- +
-Device             tps    kB_read/   kB_wrtn/   kB_read    kB_wrtn +
-sda               2.91        57.48         1.63      95315       2701 +
-</code> +
- +
-Si queremos que la información de CPU (también funciona para dispositivos) se actualice cada 2 segundos, pero 5 veces: +
- +
-<code bash> +
-iostat -c 2 3 +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-Linux 4.19.0-14-amd64 (debian10) 03/27/2021 _x86_64_ (2 CPU) +
- +
-avg-cpu:  %user   %nice %system %iowait  %steal   %idle +
-           0.05    0.00    0.13    0.02    0.00   99.79 +
- +
- +
-avg-cpu:  %user   %nice %system %iowait  %steal   %idle +
-           0.00    0.00    0.00    0.00    0.00  100.00 +
- +
- +
-avg-cpu:  %user   %nice %system %iowait  %steal   %idle +
-           0.00    0.00    0.00    0.00    0.00  100.00 +
-</code> +
- +
-=== Salida en dispositivos === +
- +
-  * tps: transferencias por segundo +
-  * kB_read/s: lecturas por segundo en KB +
-  * kB_wrtn/s: escrituras por segundo en KB +
-  * kB_read: total de lecturas en KB +
-  * kB_wrtn: total de escrituras en KB +
- +
-=== Salida en CPU === +
- +
-  * %user: uso CPU durante ejecución a nivel de usuario +
-  * %nice: uso CPU durante ejecución con nice (prioridad) +
-  * %system: uso CPU durante ejecución a nivel de sistema (kernel) +
-  * %iowait: tiempo ocioso de CPU a la espera de operaciones I/O +
-  * %steal: tiempo dedicado a la espera de la CPU virtual mientras el hipervisor atendría otros procesadores virtuales (si estamos virtualizando sobre la máquina) +
-  * %idle: tiempo ocioso de CPU sin esperar operaciones +
- +
-==== vmstat ==== +
- +
-Estadísticas de memoria virtual sobre procesos, memoria, paginación, bloques I/O y utilización de CPU +
- +
-<code> +
-vmstat [options] [delay] [count] +
-</code> +
- +
-<code bash> +
-vmstat 2 3 +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- +
-  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st +
-  0      0 859744  12056  88900    0    0    26       12   33  0  0 100  0  0 +
-  0      0 859736  12056  88936    0    0           20   26  0  0 100  0  0 +
-  0      0 859736  12056  88936    0    0           14   18  0  0 100  0  0 +
-</code> +
- +
-Actualiza la información cada 2 segundos, 3 veces y finaliza. +
- +
-=== Salida === +
- +
-Columna de **procs**: +
- +
-  * ''r'': indica el número de procesos actualmente en la cola de ejecución +
-  * ''b'': indica el número de procesos actualmente en la cola de bloques. Estos procesos están a la espera de un dispositivo. +
- +
-Columna de **memory**: +
- +
-  * ''swpd'': indica la cantidad de memoria virtual uytilizada en KB +
-  * ''free'': indica la cantidad de memoria libre,que no está en uso +
-  * ''buff'': indica la cantidad de memoria asignada a buffers, esta contiene bloques de disco sin procesar. +
-  * ''cache'': indica la cantidad de memoria cache (contiene archivos) +
- +
-Columna de **swap**: +
- +
-  * ''si'': indica la cantidad de memoria que se intercambia desde el disco (a la swap) +
-  * ''so'': indica la cantidad de memoria que se intercambia hacia el disco (desde la swap) +
- +
-Columna **io**: +
- +
-  * ''bi'': indica la cantidad de bloques por segundo que se recibe desde un dispositivo de bloques +
-  * ''bo'': indica la cantidad de bloques por segundo que se envía a un dispositivo de bloques +
- +
-Columna **system**: +
- +
-  * ''in'': indica el número de interrupciones por segundo. Las interrupciones son las peticiones que hacen los dispositivos para acceder a la CPU. +
-  * ''cs'': muestra el número de cambios de contexto por segundo. La CPU tiene varios hilos de ejecución y cada uno se corresponde con un proceso. La CPU puede desatender ese hilo para pasar a otro y volver luego. Cada uno de esos "saltos" es lo que se conoce como cambio de contexto. +
- +
-Columna **cpu**: +
- +
-  * ''us'': muestra el porcentaje de tiempo dedicado a la ejecución de código que no es del kernel +
-  * ''sy'': muestra el porcentaje de tiempo dedicado a la ejecución de código del kernel +
-  * ''id'': muestra el porcentaje de tiempo de inactividad +
-  * ''wa'': muestra el porcentaje de tiempo de espera para I/O +
-  * ''st'': muestra el porcentaje de tiempo robado por una máquina virtual +
- +
-==== netstat ==== +
- +
-Listado de las conexiones activas de nuestra máquina. Además, permite obtener información de la red y los protocolos utilizados. +
- +
-<code bash> +
-netstat [opciones] +
-</code> +
- +
-  * ''i'': estadísticas de las interfaces de red (como un ''ifconfig'' o ''ip link''+
-  * ''r'': muestra las tablas de rutas (como el comando ''route''+
- +
-Lo habitual es usarlo para listar las conexiones que tiene el sistema, ips de origen y destino, etc: +
- +
-<code bash> +
-netstat -putan  +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-Active Internet connections (servers and established) +
-Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     +
-tcp        0      0 0.0.0.0:111             0.0.0.0:              LISTEN      1/init               +
-tcp        0      0 0.0.0.0:22              0.0.0.0:              LISTEN      434/sshd             +
-tcp        0      0 192.168.2.10:22         192.168.2.1:33500       ESTABLISHED 561/sshd: vagrant [  +
-tcp6            0 :::111                  :::*                    LISTEN      1/init               +
-tcp6            0 :::22                   :::                   LISTEN      434/sshd             +
-udp        0      0 0.0.0.0:68              0.0.0.0:                          533/dhclient         +
-udp        0      0 0.0.0.0:111             0.0.0.0:                          1/init               +
-udp6            0 :::111                  :::*                                1/init               +
-</code> +
-==== ps ==== +
- +
-Muestra la lista de procesos en ejecución. +
- +
-Tiene muchísimas opciones, pero algunos casos típicos: +
- +
-<code bash> +
-ps -ef +
-</code> +
- +
-La más usada: +
- +
-<code bash> +
-ps aux +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND +
-root          0.0  0.9  21992  9976 ?        Ss   14:50   0:00 /sbin/init +
-root          0.0  0.0      0     0 ?        S    14:50   0:00 [kthreadd] +
-root          0.0  0.0      0     0 ?        I<   14:50   0:00 [rcu_gp] +
-root          0.0  0.0      0     0 ?        I<   14:50   0:00 [rcu_par_gp] +
-root          0.0  0.0      0     0 ?        I<   14:50   0:00 [kworker/0:0H-kblockd] +
-root          0.0  0.0      0     0 ?        I<   14:50   0:00 [mm_percpu_wq] +
-root          0.0  0.0      0     0 ?        S    14:50   0:00 [ksoftirqd/0] +
-root        10  0.0  0.0      0     0 ?        I    14:50   0:00 [rcu_sched] +
-root        11  0.0  0.0      0     0 ?        I    14:50   0:00 [rcu_bh] +
-root        12  0.0  0.0      0     0 ?        S    14:50   0:00 [migration/0] +
-root        14  0.0  0.0      0     0 ?        S    14:50   0:00 [cpuhp/0] +
-root        15  0.0  0.0      0     0 ?        S    14:50   0:00 [cpuhp/1] +
-root        16  0.0  0.0      0     0 ?        S    14:50   0:00 [migration/1] +
-root        17  0.0  0.0      0     0 ?        S    14:50   0:00 [ksoftirqd/1] +
-(...) +
-</code> +
- +
-=== Salida === +
- +
-  * UID: usuario propietario del proceso +
-  * PID: identificador del proceso +
-  * PPID +
-  * C +
-  * STIME +
-  * TTY: terminal a la que está asociada +
-  * TIME +
-  * CMD +
- +
-==== pstree ==== +
- +
-Muestra la misma lista de procesos que ''ps'' y ''top'', pero la salida se obtien en formato árbol viendo así la dependencia que tienen los procesos. +
- +
-<WRAP center round info 60%> +
-En Debian 10, pertenece al paquete ''psmisc'' +
-</WRAP> +
- +
- +
-Ejemplo de salida: +
- +
-<code> +
-systemd─┬─NetworkManager───2*[{NetworkManager}] +
-        ├─VBoxSVC─┬─2*[VBoxHeadless───30*[{VBoxHeadless}]] +
-        │         ├─VBoxHeadless───29*[{VBoxHeadless}] +
-        │         ├─VBoxNetDHCP───2*[{VBoxNetDHCP}] +
-        │         └─13*[{VBoxSVC}] +
-        ├─VBoxXPCOMIPCD +
-        ├─colord───2*[{colord}] +
-        ├─cupsd +
-        ├─dbus-daemon +
-        ├─firefox─┬─Privileged Cont───24*[{Privileged Cont}] +
-        │         ├─RDD Process───2*[{RDD Process}] +
-        │         ├─Web Content───25*[{Web Content}] +
-        │         ├─2*[Web Content───24*[{Web Content}]] +
-        │         ├─WebExtensions───21*[{WebExtensions}] +
-        │         └─71*[{firefox}] +
-(...) +
-</code> +
-==== w ==== +
- +
-Muestra la información de los usuarios actualmente conectados y las mismas estadísticas que el comando ''uptime''+
- +
-<WRAP center round tip 60%> +
-//load average// debe ser menor que 1. si lo supera, la carga es elevada. +
-</WRAP> +
- +
-Ejemplo de salida: +
- +
-<code> +
- 16:24:36 up 36 min,  1 user,  load average: 1,43, 1,19, 0,76 +
-USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT +
-tempwin  tty1      15:48   36:27   5:04   0.00s xinit /home/tempwin/.xinitrc -- /etc/X11/xinit +
-</code> +
-==== lsof ==== +
- +
-Muestra información acerca de los ficheros abiertos y sus correspondientes procesos, +
- +
-<code bash> +
-lsof +d /var/log +
-</code> +
- +
-  * ''+d'': es para indicar directorio en lugar de fichero. +
- +
-Ejemplo de salida: +
- +
-<code> +
-COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME +
-rsyslogd 363 root    7w   REG  254,0   207327 2359398 /var/log/syslog +
-rsyslogd 363 root    8w   REG  254,0   125147 2359400 /var/log/kern.log +
-rsyslogd 363 root    9w   REG  254,0    17018 2359401 /var/log/debug +
-rsyslogd 363 root   10w   REG  254,0   109465 2359402 /var/log/messages +
-rsyslogd 363 root   11w   REG  254,0    31109 2359403 /var/log/auth.log +
-rsyslogd 363 root   12w   REG  254,0    76530 2359399 /var/log/daemon.log +
-rsyslogd 363 root   13w   REG  254,0      533 2359320 /var/log/user.log +
-</code> +
- +
-Este comando es interesante para saber qué procesos están asociados a determinados ficheros. +
- +
-==== free ==== +
- +
-Muestra una visión en tiempo real de la cantidad de memoria física y virtual de un sistema +
- +
-<code> +
-free [options] +
-</code> +
- +
-  * ''l'': muestra estadísticas detalladas del consumo de memoria +
-  * ''k'': muestra las estadísticas en kB +
-  * ''m'': muestra las estadísticas en MB +
-  * ''g'': muestra las estadísticas en GB +
-  * ''h'': formato legible por humanos +
- +
-<code bash> +
-free -h +
-</code> +
-Ejemplo de salida: +
- +
-<code> +
-              total        used        free      shared  buff/cache   available +
-Mem:          987Mi        51Mi       718Mi       2.0Mi       216Mi       797Mi +
-Swap:         979Mi          0B       979Mi +
- +
-</code> +
-==== top ==== +
- +
-Muestra una visión en tiempo real del sistema en ejecución +
- +
-También podemos conocer el proceso que más memoria consume (o CPU) o incluso modificar la prioridad o matarlo. +
- +
-Ejemplo de salida: +
- +
-<code> +
-top - 15:27:35 up 37 min,  1 user,  load average: 0.00, 0.00, 0.00 +
-Tasks:  79 total,   1 running,  78 sleeping,   0 stopped,   0 zombie +
-%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st +
-MiB Mem :    987.2 total,    718.2 free,     51.7 used,    217.3 buff/cache +
-MiB Swap:    980.0 total,    980.0 free,      0.0 used.    797.4 avail Mem  +
- +
-  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                   +
- 1334 vagrant   20     10976   3536   3076 R   0.3   0.3   0:00.01 top                                                                                                                       +
-    1 root      20     21992   9976   7728 S   0.0   1.0   0:00.96 systemd                                                                                                                   +
-    2 root      20              0      0 S   0.0   0.0   0:00.00 kthreadd                                                                                                                  +
-    3 root       0 -20            0      0 I   0.0   0.0   0:00.00 rcu_gp                                                                                                                    +
-    4 root       0 -20            0      0 I   0.0   0.0   0:00.00 rcu_par_gp                                                                                                                +
-    6 root       0 -20            0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd                                                                                                      +
-    8 root       0 -20            0      0 I   0.0   0.0   0:00.00 mm_percpu_wq                                                                                                              +
-    9 root      20              0      0 S   0.0   0.0   0:00.04 ksoftirqd/                                                                                                              +
-   10 root      20              0      0 I   0.0   0.0   0:00.07 rcu_sched                                                                                                                 +
-(...) +
-</code> +
-==== uptime ==== +
- +
-Muestra el tiempo que el sistema lleva en funcionamiento, el número de usuarios conectados y la carga del sistema en los últimos 1, 5 y 15 minutos. +
- +
-Ejemplo de salida: +
- +
-<code> +
- 15:28:06 up 37 min,  1 user,  load average: 0.00, 0.00, 0.00 +
-</code> +
-==== sar ==== +
- +
-Recoge informes o guarda información de la actualidad del sistema para poder hacer consultas posteriormente. +
- +
-<WRAP center round info 60%> +
-**sar** forma parte del paquete **sysstat** +
-</WRAP> +
- +
-<code> +
-sar [options] [interval] [count] +
-</code> +
- +
-<code bash> +
-sar -b 1 2 +
-</code> +
- +
-sar necesita que esté funcionando el servicio ''sysstat'' y que la recopilación de datos esté activada desde el fichero ''/etc/default/sysstat'': +
- +
-<code bash> +
-ENABLED="true" +
-</code> +
- +
-Ejemplo de salida: +
- +
-<code> +
-Linux 4.19.0-14-amd64 (debian10) 03/27/2021 _x86_64_ (2 CPU) +
- +
-01:20:46 PM  LINUX RESTART (2 CPU) +
- +
-01:34:14 PM  LINUX RESTART (2 CPU) +
- +
-02:55:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle +
-03:05:01 PM     all      0.01      0.00      0.05      0.01      0.00     99.93 +
-03:15:01 PM     all      0.04      0.00      0.08      0.01      0.00     99.86 +
-03:25:01 PM     all      0.13      0.00      0.05      0.08      0.00     99.74 +
-Average:        all      0.06      0.00      0.06      0.03      0.00     99.85 +
-</code>+
  
informatica/certificaciones/lpic/lpic-2/200_capacity_planning.1618079091.txt.gz · Última modificación: por tempwin