V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

bpfcc-tools

Colección de Compiladores BPF [BPF Compiler Collection - BCC] es un conjunto de herramientas para crear programas eficientes de rastreo y manipulación del kernel. Incluye los ejecutables argdist-bpfcc, bashreadline-bpfcc, bindsnoop-bpfcc, biolatency-bpfcc, biolatpcts-bpfcc, biopattern-bpfcc, biosnoop-bpfcc, biotop-bpfcc, bitesize-bpfcc, bpflist-bpfcc, btrfsdist-bpfcc, btrfsslower-bpfcc, cachestat-bpfcc, cachetop-bpfcc, capable-bpfcc, cobjnew-bpfcc, compactsnoop-bpfcc, cpudist-bpfcc, cpuunclaimed-bpfcc, criticalstat-bpfcc, dbslower-bpfcc, dbstat-bpfcc, dcsnoop-bpfcc, dcstat-bpfcc, deadlock-bpfcc, dirtop-bpfcc, drsnoop-bpfcc, execsnoop-bpfcc, exitsnoop-bpfcc, ext4dist-bpfcc, ext4slower-bpfcc, f2fsslower-bpfcc, filegone-bpfcc, filelife-bpfcc, fileslower-bpfcc, filetop-bpfcc, funccount-bpfcc, funcinterval-bpfcc, funclatency-bpfcc, funcslower-bpfcc, gethostlatency-bpfcc, hardirqs-bpfcc, inject-bpfcc, javacalls-bpfcc, javaflow-bpfcc, javagc-bpfcc, javaobjnew-bpfcc, javastat-bpfcc, javathreads-bpfcc, killsnoop-bpfcc, klockstat-bpfcc, kvmexit-bpfcc, llcstat-bpfcc, mdflush-bpfcc, memleak-bpfcc, mountsnoop-bpfcc, mysqld_qslower-bpfcc, netqtop-bpfcc, nfsdist-bpfcc, nfsslower-bpfcc, nodegc-bpfcc, nodestat-bpfcc, offcputime-bpfcc, offwaketime-bpfcc, oomkill-bpfcc, opensnoop-bpfcc, perlcalls-bpfcc, perlflow-bpfcc, perlstat-bpfcc, phpcalls-bpfcc, phpflow-bpfcc, phpstat-bpfcc, pidpersec-bpfcc, ppchcalls-bpfcc, profile-bpfcc, pythoncalls-bpfcc, pythonflow-bpfcc, pythongc-bpfcc, pythonstat-bpfcc, rdmaucma-bpfcc, readahead-bpfcc, reset-trace-bpfcc, rubycalls-bpfcc, rubyflow-bpfcc, rubygc-bpfcc, rubyobjnew-bpfcc, rubystat-bpfcc, runqlat-bpfcc, runqlen-bpfcc, runqslower-bpfcc, shmsnoop-bpfcc, slabratetop-bpfcc, sofdsnoop-bpfcc, softirqs-bpfcc, solisten-bpfcc, sslsniff-bpfcc, stackcount-bpfcc, statsnoop-bpfcc, syncsnoop-bpfcc, syscount-bpfcc, tclcalls-bpfcc, tclflow-bpfcc, tclobjnew-bpfcc, tclstat-bpfcc, tcpaccept-bpfcc, tcpcong-bpfcc, tcpconnect-bpfcc, tcpconnlat-bpfcc, tcpdrop-bpfcc, tcplife-bpfcc, tcpretrans-bpfcc, tcprtt-bpfcc, tcpstates-bpfcc, tcpsubnet-bpfcc, tcpsynbl-bpfcc, tcptop-bpfcc, tcptracer-bpfcc, threadsnoop-bpfcc, tplist-bpfcc, trace-bpfcc, ttysnoop-bpfcc, ucalls, uflow, ugc, uobjnew, ustat, uthreads, vfscount-bpfcc, vfsstat-bpfcc, virtiostat-bpfcc, wakeuptime-bpfcc, wqlat-bpfcc, xfsdist-bpfcc, xfsslower-bpfcc, zfsdist-bpfcc y zfsslower-bpfcc.

# biolatency-bpfcc
al pulsar Ctrl-c despues de un tiempo, muestra un histograma de cuánto tardan las operaciones de lectura/escritura
# execsnoop-bpfcc
monitoriza cada vez que se lanza un nuevo proceso en el sistema
# execsnoop-bpfcc -u 1000
lo mismo solo de UID 1000
# runqlat-bpfcc
dice si necesitas más núcleos de CPU o si el planificador está saturado
# tcptop-bpfcc
muestra qué procesos están enviando y recibiendo más datos, como un comando top, pero para el tráfico de red
# tcpconnect-bpfcc
reegistra cada conexión TCP saliente que ocurre en el sistema
# tcpretrans-bpfcc
muestra las retransmisiones TCP
# bashreadline-bpfcc
registra cada comando que se escribe en cualquier terminal Bash del sistema en tiempo real
# opensnoop-bpfcc
muestra qué archivos está intentando abrir cada proceso
# execsnoop-bpfcc
ver qué programas se abren en tiempo real
# biolatency-bpfcc
ver si el disco es el cuello de botella
# tcptop-bpfcc
ver quién consume tu ancho de banda
# opensnoop-bpfcc
ver qué archivos lee/escribe cada app
# bitesize-bpfcc (muestra un histograma del tamaño de las peticiones de entrada/salida a disco
# bitesize-bpfcc -p $(pgrep firefox)
filtrar por un solo programa
# vfscount-bpfcc
dará el nombre de las funciones del kernel que se están llamando como vfs_read o vfs_write
# runqslower-bpfcc 5000 (
# oomkill-bpfcc
corriendo en una terminal si el sistema se queda sin recursos, avisará inmediatamente qué proceso ha cerrado el kernel

Nota.- Casi todas las herramientas de bpfcc-tools aceptan el flag -h que no solo muestra los parámetros, sino que suele incluir ejemplos de uso real al final de la ayuda.

Las columnas de las muestras indican:

Columna usecs --> Es el rango de tamaño. Se usa una escala logarítmica [potencias de 2: 1, 2, 4, 8, 16...].

Columna count --> Cuántas veces ha ocurrido una operación en ese rango.

Columna distribution --> Una barra visual para ver dónde está el "peso" de la actividad.

Interpretar los datos de un proceso;

4 -> 7 : 6 |****************************************|
4096 -> 8191 : 896 | |

El primer dato indica que un proceso ha realizado 6 operaciones de entre 4 y 7 KB. Si existen miles de eventos en la franja de 0 -> 1 o 2 -> 3, indica un software muy ineficiente que está "picoteando" el disco constantemente en lugar de leer bloques grandes. El segundo que hay 896 procesos que han tenido que esperar entre 4 y 8 milisegundos (4096 usecs) para poder ejecutarse. Este pico de carga es normal al abrir un navegador pero si el pc está en reposo significa saturación de CPU.

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
4635 entradas - Acerca del Tractatus
La Pipa Plena 2026