Weboldal keresés

BCC – Dinamikus nyomkövető eszközök Linux teljesítményfigyeléshez, hálózatépítéshez és még sok máshoz


A BCC (BPF Compiler Collection) megfelelő eszközök és példafájlok hatékony készlete a találékony kernelkövető és -manipuláló programok létrehozásához. Kibővített BPF-et (Berkeley Packet Filters) használ, eredetileg eBPF néven ismert, amely a Linux 3.15 egyik új funkciója volt..

Gyakorlatilag a BCC által használt legtöbb összetevőhöz Linux 4.1 vagy újabb verzió szükséges, és figyelemre méltó jellemzői a következők:

  1. Nem igényel harmadik féltől származó kernelmodult, mivel az összes eszköz a kernelbe beépített BPF-en alapul, és a BCC a Linux 4.x sorozathoz hozzáadott funkciókat használ.
  2. Lehetővé teszi a szoftver végrehajtásának megfigyelését.
  3. Számos teljesítményelemző eszközből áll, példafájlokkal és kézikönyvoldalakkal.

Javasolt olvasmány: 20 parancssori eszköz a Linux teljesítményének figyeléséhez

A haladó Linux-felhasználók számára a legmegfelelőbb BCC megkönnyíti a BPF programok írását a C nyelvű kernelműszerekkel, a nyelvű kezelőfelületekkel Python és lua. Ezenkívül számos feladatot támogat, például teljesítményelemzést, megfigyelést, hálózati forgalom vezérlését és még sok mást.

Hogyan telepítsük a BCC-t Linux rendszereken

Ne feledje, hogy a BCC a Linux kernel 4.1 vagy újabb verziójában hozzáadott szolgáltatásokat használ, és követelményként a kernelt az alábbiakban beállított jelzőkkel kellett volna lefordítani:

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

A kerneljelzők ellenőrzéséhez tekintse meg a /proc/config.gz fájlt, vagy futtassa a parancsokat az alábbi példák szerint:

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

A kerneljelzők ellenőrzése után itt az ideje telepíteni a BCC eszközöket Linux rendszereken.

Ubuntu 16.04-en

Csak az éjszakai csomagok készülnek az Ubuntu 16.04hez, de a telepítési utasítások nagyon egyszerűek. Nincs szükség kernel frissítésére vagy forrásból történő fordítására.

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

Ubuntu 14.04-en

Kezdje egy 4.3+ Linux kernel telepítésével a http://kernel.ubuntu.com/~kernel-ppa/mainline webhelyről.

Példaként írjon egy kis shell szkriptet „bcc-install.sh” az alábbi tartalommal.

Megjegyzés: frissítse a PREFIX értéket a legfrissebb dátumra, és böngésszen a fájlok között a PREFIX url címen. lekérni a tényleges REL értéket, helyettesítse őket a shell szkriptben.

#!/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

Mentse el a fájlt és lépjen ki. Tegye végrehajthatóvá, majd futtassa a képen látható módon:

chmod +x bcc-install.sh
sh bcc-install.sh

Ezt követően indítsa újra a rendszert.

reboot

Ezután futtassa az alábbi parancsokat az aláírt BCC-csomagok telepítéséhez:

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

Fedorán 24-23

Telepítsen egy 4.2+ kernelt a http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug webhelyről, ha a rendszere a szükségesnél régebbi verzióval rendelkezik. Az alábbiakban egy példa látható, hogyan kell ezt megtenni:

sudo dnf config-manager --add-repo=http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo
sudo dnf update
reboot

Ezután adja hozzá a BBC eszközök tárházát, frissítse a rendszert, és telepítse az eszközöket a következő parancssorozat végrehajtásával:

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 Linuxon – AUR

Kezdje a kernel frissítésével legalább a 4.3.1-1 verzióra, majd telepítse az alábbi csomagokat bármely Arch csomagkezelővel, például pacaur, yaourt<, cower stb.

bcc bcc-tools python-bcc python2-bcc

A BCC eszközök használata Linux rendszerekben

Az összes BCC eszköz a /usr/share/bcc/tools könyvtárban található. Alternatív megoldásként futtathatja őket a BCC Github tárolóból a /tools alatt, ahol a .py kiterjesztéssel végződnek.

$ 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

Néhány példával foglalkozunk a – általános Linux rendszerteljesítmény és hálózatkezelés felügyelete alatt.

Nyomkövetés open() syscalls

Kezdjük azzal, hogy nyomon követjük az összes open() rendszerhívást az opensnoop segítségével. Ez lehetővé teszi számunkra, hogy elmondjuk, hogyan működnek a különböző alkalmazások az adatfájlok, konfigurációs fájlok és sok más azonosításával:

$ 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
....

Összefoglalja a blokkeszköz I/O késleltetését

Ebben a példában a lemez I/O késésének összefoglaló eloszlását mutatja a biolatencia használatával. A parancs végrehajtása után várjon néhány percet, majd nyomja meg a Ctrl-C billentyűket a befejezéshez és a kimenet megtekintéséhez.

$ 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        |*************                           |

Kövesse nyomon az új folyamatokat az exec() Syscalls segítségével

Ebben a részben áttérünk az új folyamatok nyomon követésére a végrehajtás során az execsnoop eszköz segítségével. Minden alkalommal, amikor egy folyamatot a fork() és az exec() rendszerhívások elágaznak, az megjelenik a kimenetben. Azonban nem minden folyamatot rögzítenek.

$ 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
...

Lassú ext4 műveletek nyomon követése

Az ext4slower használata az ext4 fájlrendszer gyakori, 10 msnál lassabb műveleteinek nyomon követésére, hogy segítsen nekünk a fájlon keresztül önállóan azonosítani a lassú lemez I/O-t. rendszer.

Javasolt olvasmány: 13 Linux teljesítményfigyelő eszköz

Csak azokat a műveleteket adja ki, amelyek túllépnek egy küszöbértéket:

$ 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-vel és késleltetéssel

Következő lépésként merüljünk el egy sor lemezenkénti I/O nyomtatásában, olyan részletekkel, mint a folyamatazonosító, szektor, bájtok, késleltetés, többek között a biosnoop használatával:

$ 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
...

Nyomkövetési oldal gyorsítótár találat/kihagyás aránya

Ezt követően folytatjuk a cachestat használatával, amely másodpercenként egy sort jelenít meg a rendszer gyorsítótárából. Ez lehetővé teszi a rendszer hangolását azáltal, hogy rámutat az alacsony gyorsítótár találati arányára és a nagy kihagyások arányára:

$ 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
...

Az aktív TCP kapcsolatok nyomon követése

A TCP kapcsolatok figyelése másodpercenként a tcpconnect használatával. Kimenete tartalmazza a forrás- és célcímet, valamint a portszámot. Ez az eszköz hasznos a váratlan TCP-kapcsolatok nyomon követésére, ezáltal segít azonosítani az alkalmazáskonfigurációban tapasztalható hiányosságokat vagy a támadót.

$ 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 
...

A fenti eszközök mindegyike különféle opciókkal is használható, például egy adott eszköz súgóoldalának engedélyezéséhez használja a -h opciót, például:

$ 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

A sikertelen exec()s rendszerhívások nyomon követéséhez használja a -x opciót opensnoop-pal az alábbiak szerint:

$ 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
...

Kövesse nyomon az adott folyamatfunkciókat

Az alábbi utolsó példa bemutatja, hogyan kell végrehajtani egy egyéni nyomkövetési műveletet. Egy adott folyamatot követünk nyomon a PID használatával.

Javasolt olvasmány: Netdata – Valós idejű teljesítményfigyelő eszköz Linuxhoz

Először határozza meg a folyamatazonosítót:

$ pidof firefox

15437

Később futtassa az egyéni trace parancsot. Az alábbi parancsban: -p a folyamatazonosítót adja meg, a do_sys_open() egy kernelfüggvény, amely dinamikusan nyomon követhető, beleértve a második argumentumot karakterláncként.

$ 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
....

Összegzés

A BCC egy hatékony és könnyen használható eszközkészlet különféle rendszeradminisztrációs feladatokhoz, mint például a rendszer teljesítményének nyomon követése, a blokkeszközök nyomon követése I/O, TCP-funkciók, fájlrendszer-műveletek, rendszerhívások, Node.js próbák. , plusz még sok más. Fontos, hogy számos példafájlt és kézikönyvoldalt tartalmaz, amelyek az útmutatót szolgálják, így felhasználóbarát és megbízható.

Végül, de nem utolsósorban, az alábbi megjegyzés rovaton keresztül kapcsolatba léphet velünk, ha megosztja gondolatait a témával kapcsolatban, kérdéseket tesz fel, hasznos javaslatokat tesz, vagy bármilyen építő jellegű visszajelzést tesz.

További információkért és használatért látogasson el: https://iovisor.github.io/bcc/