BCC - Dynaamiset jäljitystyökalut Linux-suorituskyvyn valvontaan, verkkokäyttöön ja muuhun
BCC (BPF Compiler Collection) on tehokas joukko sopivia työkaluja ja esimerkkitiedostoja kekseliäiden ytimen jäljitys- ja käsittelyohjelmien luomiseen. Se käyttää laajennettua BPF:ää (Berkeley Packet Filters), joka tunnettiin alun perin nimellä eBPF, joka oli yksi Linux 3.15:n uusista ominaisuuksista. vahva>.
Käytännössä suurin osa BCC:n käyttämistä komponenteista vaatii Linux 4.1:n tai uudemman, ja sen huomionarvoisia ominaisuuksia ovat:
- Ei vaadi kolmannen osapuolen ydinmoduulia, koska kaikki työkalut toimivat BPF:n perusteella, joka on sisäänrakennettu ytimeen ja BCC käyttää Linux 4.x -sarjaan lisättyjä ominaisuuksia.
- Mahdollistaa ohjelmiston suorituksen havainnoinnin.
- Sisältää useita suorituskyvyn analysointityökaluja esimerkkitiedostoineen ja man-sivuineen.
Suositeltu luku: 20 komentorivityökalua Linuxin suorituskyvyn seurantaan
Parhaiten edistyneille Linux-käyttäjille sopiva BCC tekee BPF-ohjelmien kirjoittamisesta helppoa käyttämällä ytimen instrumentointia C:ssä ja käyttöliittymiä :ssa. Python ja lua. Lisäksi se tukee useita tehtäviä, kuten suorituskyvyn analysointia, valvontaa, verkkoliikenteen ohjausta ja paljon muuta.
Kuinka asentaa BCC Linux-järjestelmiin
Muista, että BCC käyttää ominaisuuksia, jotka on lisätty Linux-ytimen versioon 4.1 tai uudempaan, ja vaatimuksena ydin olisi pitänyt olla käännetty alla olevilla lipuilla:
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
[optional, for tc filters]
CONFIG_NET_CLS_BPF=m
[optional, for tc actions]
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
CONFIG_HAVE_BPF_JIT=y
[optional, for kprobes]
CONFIG_BPF_EVENTS=y
Voit tarkistaa ytimen liput tarkastelemalla tiedostoa /proc/config.gz tai suorittamalla komennot alla olevien esimerkkien mukaisesti:
tecmint@TecMint ~ $ grep CONFIG_BPF= /boot/config-`uname -r`
CONFIG_BPF=y
tecmint@TecMint ~ $ grep CONFIG_BPF_SYSCALL= /boot/config-`uname -r`
CONFIG_BPF_SYSCALL=y
tecmint@TecMint ~ $ grep CONFIG_NET_CLS_BPF= /boot/config-`uname -r`
CONFIG_NET_CLS_BPF=m
tecmint@TecMint ~ $ grep CONFIG_NET_ACT_BPF= /boot/config-`uname -r`
CONFIG_NET_ACT_BPF=m
tecmint@TecMint ~ $ grep CONFIG_BPF_JIT= /boot/config-`uname -r`
CONFIG_BPF_JIT=y
tecmint@TecMint ~ $ grep CONFIG_HAVE_BPF_JIT= /boot/config-`uname -r`
CONFIG_HAVE_BPF_JIT=y
tecmint@TecMint ~ $ grep CONFIG_BPF_EVENTS= /boot/config-`uname -r`
CONFIG_BPF_EVENTS=y
Kun ytimen liput on tarkistettu, on aika asentaa BCC-työkalut Linux-järjestelmiin.
Ubuntussa 16.04
Vain yöpaketit on luotu Ubuntu 16.04:lle, mutta asennusohjeet ovat hyvin yksinkertaisia. Ei tarvitse päivittää ydintä tai kääntää sitä lähdekoodista.
echo "deb [trusted=yes] https://repo.iovisor.org/apt/xenial xenial-nightly main" | sudo tee /etc/apt/sources.list.d/iovisor.list
sudo apt-get update
sudo apt-get install bcc-tools
Ubuntussa 14.04
Aloita asentamalla 4.3+ Linux-ydin osoitteesta http://kernel.ubuntu.com/~kernel-ppa/mainline.
Kirjoita esimerkiksi pieni komentosarja "bcc-install.sh", jonka sisältö on alla.
Huomaa: päivitä PREFIX-arvo viimeisimpään päivämäärään ja selaa myös tiedostoja PREFIX-URL-osoitteessa. saada todellinen REL-arvo, korvaa ne komentotulkkikomentosarjassa.
#!/bin/bash
VER=4.5.1-040501
PREFIX=http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5.1-wily/
REL=201604121331
wget ${PREFIX}/linux-headers-${VER}-generic_${VER}.${REL}_amd64.deb
wget ${PREFIX}/linux-headers-${VER}_${VER}.${REL}_all.deb
wget ${PREFIX}/linux-image-${VER}-generic_${VER}.${REL}_amd64.deb
sudo dpkg -i linux-*${VER}.${REL}*.deb
Tallenna tiedosto ja poistu. Tee siitä suoritettava ja suorita se kuvan mukaisesti:
chmod +x bcc-install.sh
sh bcc-install.sh
Tämän jälkeen käynnistä järjestelmä uudelleen.
reboot
Suorita seuraavaksi alla olevat komennot asentaaksesi allekirjoitetut BCC-paketit:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D4284CDD
echo "deb https://repo.iovisor.org/apt trusty main" | sudo tee /etc/apt/sources.list.d/iovisor.list
sudo apt-get update
sudo apt-get install binutils bcc bcc-tools libbcc-examples python-bcc
Fedorassa 24-23
Asenna 4.2+-ydin osoitteesta http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug, jos järjestelmässäsi on vaadittua vanhempi versio. Alla on esimerkki siitä, kuinka se tehdään:
sudo dnf config-manager --add-repo=http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo
sudo dnf update
reboot
Lisää sen jälkeen BBC-työkalujen arkisto, päivitä järjestelmäsi ja asenna työkalut suorittamalla seuraava komentosarja:
echo -e '[iovisor]\nbaseurl=https://repo.iovisor.org/yum/nightly/f23/$basearch\nenabled=1\ngpgcheck=0' | sudo tee /etc/yum.repos.d/iovisor.repo
sudo dnf update
sudo dnf install bcc-tools
Arch Linuxissa – AUR
Aloita päivittämällä ytimesi vähintään versioon 4.3.1-1 ja asenna sitten alla olevat paketit millä tahansa Arch-paketinhallinnalla, kuten pacaur, yaourt<., cower jne.
bcc bcc-tools python-bcc python2-bcc
Kuinka käyttää BCC-työkaluja Linux-järjestelmissä
Kaikki BCC-työkalut on asennettu hakemistoon /usr/share/bcc/tools
. Voit kuitenkin vaihtoehtoisesti suorittaa ne BCC Github -arkistosta kohdasta /tools
, jossa ne päättyvät .py
-laajennukseen.
$ ls /usr/share/bcc/tools
argdist capable filetop offwaketime stackcount vfscount
bashreadline cpudist funccount old stacksnoop vfsstat
biolatency dcsnoop funclatency oomkill statsnoop wakeuptime
biosnoop dcstat gethostlatency opensnoop syncsnoop xfsdist
biotop doc hardirqs pidpersec tcpaccept xfsslower
bitesize execsnoop killsnoop profile tcpconnect zfsdist
btrfsdist ext4dist mdflush runqlat tcpconnlat zfsslower
btrfsslower ext4slower memleak softirqs tcpretrans
cachestat filelife mysqld_qslower solisten tplist
cachetop fileslower offcputime sslsniff trace
Käsittelemme muutamia esimerkkejä kohdassa – yleisen Linux-järjestelmän suorituskyvyn ja verkottumisen seuranta.
Trace open() syscalls
Aloitetaan jäljittämällä kaikki open()
-sysscolles käyttämällä opensnooppia. Tämän avulla voimme kertoa meille, kuinka eri sovellukset toimivat tunnistamalla niiden datatiedostot, konfigurointitiedostot ja monet muut:
$ cd /usr/share/bcc/tools
$ sudo ./opensnoop
PID COMM FD ERR PATH
1 systemd 35 0 /proc/self/mountinfo
2797 udisksd 13 0 /proc/self/mountinfo
1 systemd 35 0 /sys/devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda/sda1/uevent
1 systemd 35 0 /run/udev/data/b8:1
1 systemd -1 2 /etc/systemd/system/sys-kernel-debug-tracing.mount
1 systemd -1 2 /run/systemd/system/sys-kernel-debug-tracing.mount
1 systemd -1 2 /run/systemd/generator/sys-kernel-debug-tracing.mount
1 systemd -1 2 /usr/local/lib/systemd/system/sys-kernel-debug-tracing.mount
2247 systemd 15 0 /proc/self/mountinfo
1 systemd -1 2 /lib/systemd/system/sys-kernel-debug-tracing.mount
1 systemd -1 2 /usr/lib/systemd/system/sys-kernel-debug-tracing.mount
1 systemd -1 2 /run/systemd/generator.late/sys-kernel-debug-tracing.mount
1 systemd -1 2 /etc/systemd/system/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /etc/systemd/system/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /run/systemd/system/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /run/systemd/system/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /run/systemd/generator/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /run/systemd/generator/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /usr/local/lib/systemd/system/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /usr/local/lib/systemd/system/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /lib/systemd/system/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /lib/systemd/system/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /usr/lib/systemd/system/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /usr/lib/systemd/system/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /run/systemd/generator.late/sys-kernel-debug-tracing.mount.wants
1 systemd -1 2 /run/systemd/generator.late/sys-kernel-debug-tracing.mount.requires
1 systemd -1 2 /etc/systemd/system/sys-kernel-debug-tracing.mount.d
1 systemd -1 2 /run/systemd/system/sys-kernel-debug-tracing.mount.d
1 systemd -1 2 /run/systemd/generator/sys-kernel-debug-tracing.mount.d
....
Tee yhteenveto Estä laitteen I/O-viive
Tässä esimerkissä se näyttää yhteenvedon levyn I/O-viiveen jakautumisesta biolatenssin avulla. Kun olet suorittanut komennon, odota muutama minuutti ja paina Ctrl-C lopettaaksesi sen ja tarkastellaksesi tulosta.
$ sudo ./biolatecncy
Tracing block device I/O... Hit Ctrl-C to end.
^C
usecs : count distribution
0 -> 1 : 0 | |
2 -> 3 : 0 | |
4 -> 7 : 0 | |
8 -> 15 : 0 | |
16 -> 31 : 0 | |
32 -> 63 : 0 | |
64 -> 127 : 0 | |
128 -> 255 : 3 |****************************************|
256 -> 511 : 3 |****************************************|
512 -> 1023 : 1 |************* |
Seuraa uusia prosesseja exec() Syscalls -ohjelman avulla
Tässä osiossa siirrymme uusien suoritettavien prosessien jäljittämiseen execsnoop-työkalulla. Joka kerta, kun fork()
- ja exec()
-sysscall- ja exec()
-syscall-toiminnot haarautuvat prosessiin, se näytetään tulosteessa. Kaikkia prosesseja ei kuitenkaan tallenneta.
$ sudo ./execsnoop
PCOMM PID PPID RET ARGS
gnome-screensho 14882 14881 0 /usr/bin/gnome-screenshot --gapplication-service
systemd-hostnam 14892 1 0 /lib/systemd/systemd-hostnamed
nautilus 14897 2767 -2 /home/tecmint/bin/net usershare info
nautilus 14897 2767 -2 /home/tecmint/.local/bin/net usershare info
nautilus 14897 2767 -2 /usr/local/sbin/net usershare info
nautilus 14897 2767 -2 /usr/local/bin/net usershare info
nautilus 14897 2767 -2 /usr/sbin/net usershare info
nautilus 14897 2767 -2 /usr/bin/net usershare info
nautilus 14897 2767 -2 /sbin/net usershare info
nautilus 14897 2767 -2 /bin/net usershare info
nautilus 14897 2767 -2 /usr/games/net usershare info
nautilus 14897 2767 -2 /usr/local/games/net usershare info
nautilus 14897 2767 -2 /snap/bin/net usershare info
compiz 14899 14898 -2 /home/tecmint/bin/libreoffice --calc
compiz 14899 14898 -2 /home/tecmint/.local/bin/libreoffice --calc
compiz 14899 14898 -2 /usr/local/sbin/libreoffice --calc
compiz 14899 14898 -2 /usr/local/bin/libreoffice --calc
compiz 14899 14898 -2 /usr/sbin/libreoffice --calc
libreoffice 14899 2252 0 /usr/bin/libreoffice --calc
dirname 14902 14899 0 /usr/bin/dirname /usr/bin/libreoffice
basename 14903 14899 0 /usr/bin/basename /usr/bin/libreoffice
...
Seuraa hitaita ext4-toimintoja
ext4slower avulla jäljittääksesi ext4-tiedostojärjestelmän yleiset toiminnot, jotka ovat hitaampia kuin 10 ms, jotta voimme tunnistaa itsenäisesti hitaan levyn I/O:n tiedoston kautta. järjestelmä.
Suositeltu luku: 13 Linuxin suorituskyvyn valvontatyökalua
Se tulostaa vain ne toiminnot, jotka ylittävät kynnyksen:
$ sudo ./execslower
Tracing ext4 operations slower than 10 ms
TIME COMM PID T BYTES OFF_KB LAT(ms) FILENAME
11:59:13 upstart 2252 W 48 1 10.76 dbus.log
11:59:13 gnome-screensh 14993 R 144 0 10.96 settings.ini
11:59:13 gnome-screensh 14993 R 28 0 16.02 gtk.css
11:59:13 gnome-screensh 14993 R 3389 0 18.32 gtk-main.css
11:59:25 rs:main Q:Reg 1826 W 156 60 31.85 syslog
11:59:25 pool 15002 R 208 0 14.98 .xsession-errors
11:59:25 pool 15002 R 644 0 12.28 .ICEauthority
11:59:25 pool 15002 R 220 0 13.38 .bash_logout
11:59:27 dconf-service 2599 S 0 0 22.75 user.BHDKOY
11:59:33 compiz 2548 R 4096 0 19.03 firefox.desktop
11:59:34 compiz 15008 R 128 0 27.52 firefox.sh
11:59:34 firefox 15008 R 128 0 36.48 firefox
11:59:34 zeitgeist-daem 2988 S 0 0 62.23 activity.sqlite-wal
11:59:34 zeitgeist-fts 2996 R 8192 40 15.67 postlist.DB
11:59:34 firefox 15008 R 140 0 18.05 dependentlibs.list
11:59:34 zeitgeist-fts 2996 S 0 0 25.96 position.tmp
11:59:34 firefox 15008 R 4096 0 10.67 libplc4.so
11:59:34 zeitgeist-fts 2996 S 0 0 11.29 termlist.tmp
...
Trace Block Device I/O PID:llä ja latenssilla
Sukellaan seuraavaksi rivin tulostamiseen levyä kohden I/O joka sekunti ja yksityiskohtia, kuten prosessitunnus, sektori, tavut, latenssi, muun muassa biosnoopin avulla:
$ sudo ./biosnoop
TIME(s) COMM PID DISK T SECTOR BYTES LAT(ms)
0.000000000 ? 0 R -1 8 0.26
2.047897000 ? 0 R -1 8 0.21
3.280028000 kworker/u4:0 14871 sda W 30552896 4096 0.24
3.280271000 jbd2/sda1-8 545 sda W 29757720 12288 0.40
3.298318000 jbd2/sda1-8 545 sda W 29757744 4096 0.14
4.096084000 ? 0 R -1 8 0.27
6.143977000 ? 0 R -1 8 0.27
8.192006000 ? 0 R -1 8 0.26
8.303938000 kworker/u4:2 15084 sda W 12586584 4096 0.14
8.303965000 kworker/u4:2 15084 sda W 25174736 4096 0.14
10.239961000 ? 0 R -1 8 0.26
12.292057000 ? 0 R -1 8 0.20
14.335990000 ? 0 R -1 8 0.26
16.383798000 ? 0 R -1 8 0.17
...
Jäljityssivun välimuistin osuma/puute-suhde
Tämän jälkeen siirrymme käyttämään cachestatia, joka näyttää yhden rivin yhteenvetotilastoja järjestelmän välimuistista joka sekunti. Tämä mahdollistaa järjestelmän viritystoiminnot osoittamalla alhaisen välimuistin osumasuhteen ja suuren puuttumisasteen:
$ sudo ./cachestat
HITS MISSES DIRTIES READ_HIT% WRITE_HIT% BUFFERS_MB CACHED_MB
0 0 0 0.0% 0.0% 19 544
4 4 2 25.0% 25.0% 19 544
1321 33 4 97.3% 2.3% 19 545
7476 0 2 100.0% 0.0% 19 545
6228 15 2 99.7% 0.2% 19 545
0 0 0 0.0% 0.0% 19 545
7391 253 108 95.3% 2.7% 19 545
33608 5382 28 86.1% 13.8% 19 567
25098 37 36 99.7% 0.0% 19 566
17624 239 416 96.3% 0.5% 19 520
...
Jäljitä aktiiviset TCP-yhteydet
Valvotaan TCP-yhteyksiä joka sekunti tcpconnectin avulla. Sen lähtö sisältää lähde- ja kohdeosoitteen sekä portin numeron. Tämä työkalu on hyödyllinen odottamattomien TCP-yhteyksien jäljittämisessä, mikä auttaa meitä tunnistamaan sovelluskokoonpanojen tehottomuudet tai hyökkääjän.
$ sudo ./tcpconnect
PID COMM IP SADDR DADDR DPORT
15272 Socket Threa 4 10.0.2.15 91.189.89.240 80
15272 Socket Threa 4 10.0.2.15 216.58.199.142 443
15272 Socket Threa 4 10.0.2.15 216.58.199.142 80
15272 Socket Threa 4 10.0.2.15 216.58.199.174 443
15272 Socket Threa 4 10.0.2.15 54.200.62.216 443
15272 Socket Threa 4 10.0.2.15 54.200.62.216 443
15272 Socket Threa 4 10.0.2.15 117.18.237.29 80
15272 Socket Threa 4 10.0.2.15 216.58.199.142 80
15272 Socket Threa 4 10.0.2.15 216.58.199.131 80
15272 Socket Threa 4 10.0.2.15 216.58.199.131 443
15272 Socket Threa 4 10.0.2.15 52.222.135.52 443
15272 Socket Threa 4 10.0.2.15 216.58.199.131 443
15272 Socket Threa 4 10.0.2.15 54.200.62.216 443
15272 Socket Threa 4 10.0.2.15 54.200.62.216 443
15272 Socket Threa 4 10.0.2.15 216.58.199.132 443
15272 Socket Threa 4 10.0.2.15 216.58.199.131 443
15272 Socket Threa 4 10.0.2.15 216.58.199.142 443
15272 Socket Threa 4 10.0.2.15 54.69.17.198 443
15272 Socket Threa 4 10.0.2.15 54.69.17.198 443
...
Kaikkia yllä olevia työkaluja voidaan käyttää myös eri vaihtoehtojen kanssa. Ota ohjesivu käyttöön tietylle työkalulle käyttämällä -h
-vaihtoehtoa, esimerkiksi:
$ sudo ./tcpconnect -h
usage: tcpconnect [-h] [-t] [-p PID] [-P PORT]
Trace TCP connects
optional arguments:
-h, --help show this help message and exit
-t, --timestamp include timestamp on output
-p PID, --pid PID trace this PID only
-P PORT, --port PORT comma-separated list of destination ports to trace.
examples:
./tcpconnect # trace all TCP connect()s
./tcpconnect -t # include timestamps
./tcpconnect -p 181 # only trace PID 181
./tcpconnect -P 80 # only trace port 80
./tcpconnect -P 80,81 # only trace port 80 and 81
Trace Failed exec()s Syscalls
Jäljittääksesi epäonnistuneet exec()s-syscalls, käytä -x
-vaihtoehtoa opensnoopilla seuraavasti:
$ sudo ./opensnoop -x
PID COMM FD ERR PATH
15414 pool -1 2 /home/.hidden
15415 (ostnamed) -1 2 /sys/fs/cgroup/cpu/system.slice/systemd-hostnamed.service/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/cpu/system.slice/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/cpuacct/system.slice/systemd-hostnamed.service/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/cpuacct/system.slice/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/blkio/system.slice/systemd-hostnamed.service/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/blkio/system.slice/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/memory/system.slice/systemd-hostnamed.service/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/memory/system.slice/cgroup.procs
15415 (ostnamed) -1 2 /sys/fs/cgroup/pids/system.slice/systemd-hostnamed.service/cgroup.procs
2548 compiz -1 2
15416 systemd-cgroups -1 2 /run/systemd/container
15416 systemd-cgroups -1 2 /sys/fs/kdbus/0-system/bus
15415 systemd-hostnam -1 2 /run/systemd/container
15415 systemd-hostnam -1 13 /proc/1/environ
15415 systemd-hostnam -1 2 /sys/fs/kdbus/0-system/bus
1695 dbus-daemon -1 2 /run/systemd/users/0
15415 systemd-hostnam -1 2 /etc/machine-info
15414 pool -1 2 /home/tecmint/.hidden
15414 pool -1 2 /home/tecmint/Binary/.hidden
2599 dconf-service -1 2 /run/user/1000/dconf/user
...
Seuraa tiettyjä prosessitoimintoja
Alla oleva viimeinen esimerkki osoittaa, kuinka mukautettu jäljitystoiminto suoritetaan. Seuraamme tiettyä prosessia käyttämällä sen PID-tunnusta.
Suositeltu luku: Netdata – reaaliaikainen suorituskyvyn valvontatyökalu Linuxille
Määritä ensin prosessin tunnus:
$ pidof firefox
15437
Suorita myöhemmin mukautettu trace-komento. Alla olevassa komennossa: -p
määrittää prosessin tunnuksen, do_sys_open()
on ytimen funktio, joka jäljitetään dynaamisesti ja sisältää sen toisen argumentin merkkijonona.
$ sudo ./trace -p 4095 'do_sys_open "%s", arg2'
TIME PID COMM FUNC -
12:17:14 15437 firefox do_sys_open /run/user/1000/dconf/user
12:17:14 15437 firefox do_sys_open /home/tecmint/.config/dconf/user
12:18:07 15437 firefox do_sys_open /run/user/1000/dconf/user
12:18:07 15437 firefox do_sys_open /home/tecmint/.config/dconf/user
12:18:13 15437 firefox do_sys_open /sys/devices/system/cpu/present
12:18:13 15437 firefox do_sys_open /dev/urandom
12:18:13 15437 firefox do_sys_open /dev/urandom
12:18:14 15437 firefox do_sys_open /usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf
12:18:14 15437 firefox do_sys_open /usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf
12:18:14 15437 firefox do_sys_open /usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf
12:18:14 15437 firefox do_sys_open /sys/devices/system/cpu/present
12:18:14 15437 firefox do_sys_open /dev/urandom
12:18:14 15437 firefox do_sys_open /dev/urandom
12:18:14 15437 firefox do_sys_open /dev/urandom
12:18:14 15437 firefox do_sys_open /dev/urandom
12:18:15 15437 firefox do_sys_open /sys/devices/system/cpu/present
12:18:15 15437 firefox do_sys_open /dev/urandom
12:18:15 15437 firefox do_sys_open /dev/urandom
12:18:15 15437 firefox do_sys_open /sys/devices/system/cpu/present
12:18:15 15437 firefox do_sys_open /dev/urandom
12:18:15 15437 firefox do_sys_open /dev/urandom
....
Yhteenveto
BCC on tehokas ja helppokäyttöinen työkalupakki erilaisiin järjestelmänhallinnan tehtäviin, kuten järjestelmän suorituskyvyn seurantaan, lohkolaitteiden I/O-seurantaan, TCP-toimintoihin, tiedostojärjestelmän toimintoihin, syscalleihin, Node.js-koetuksiin. , plus paljon muuta. Tärkeää on, että sen mukana toimitetaan useita esimerkkitiedostoja ja man-sivuja työkalujen opastamiseksi, mikä tekee siitä käyttäjäystävällisen ja luotettavan.
Viimeisenä mutta ei vähäisimpänä, voit ottaa meihin yhteyttä jakamalla ajatuksesi aiheesta, esittämällä kysymyksiä, antamalla hyödyllisiä ehdotuksia tai rakentavaa palautetta alla olevan kommenttiosion kautta.
Lisätietoja ja käyttö on saatavilla osoitteessa https://iovisor.github.io/bcc/