BCC - Alat Penelusuran Dinamis untuk Pemantauan Kinerja Linux, Jaringan, dan Lainnya


BCC (Koleksi Kompiler BPF) adalah seperangkat alat canggih dan file contoh yang sesuai untuk membuat program pelacakan dan manipulasi kernel yang berguna. Ini menggunakan BPF (Berkeley Packet Filters) yang diperluas, yang awalnya dikenal sebagai eBPF yang merupakan salah satu fitur baru di Linux 3.15.

Praktisnya, sebagian besar komponen yang digunakan oleh BCC memerlukan Linux 4.1 atau lebih tinggi, dan fitur-fiturnya yang patut diperhatikan meliputi:

  1. Tidak memerlukan modul kernel pihak ketiga, karena semua alat bekerja berdasarkan BPF yang dibangun ke dalam kernel dan BCC menggunakan fitur yang ditambahkan di Linux seri 4.x.
  2. Memungkinkan pengamatan eksekusi perangkat lunak.
  3. Terdiri dari beberapa alat analisis kinerja dengan file contoh dan halaman manual.

Bacaan yang Disarankan: 20 Alat Baris Perintah untuk Memantau Kinerja Linux

Paling cocok untuk pengguna Linux tingkat lanjut, BCC memudahkan penulisan program BPF menggunakan instrumentasi kernel di C, dan front-end di Python dan lua. Selain itu, ia mendukung banyak tugas seperti analisis kinerja, pemantauan, kontrol lalu lintas jaringan, dan banyak lagi.

Cara Menginstal BCC di Sistem Linux

Ingatlah bahwa BCC menggunakan fitur yang ditambahkan di kernel Linux versi 4.1 atau lebih tinggi, dan sebagai persyaratan, kernel harus dikompilasi dengan flag yang ditetapkan di bawah ini:

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

Untuk memeriksa flag kernel Anda, lihat file /proc/config.gz atau jalankan perintah seperti pada contoh di bawah:

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

Setelah memverifikasi flag kernel, saatnya menginstal alat BCC di sistem Linux.

Di Ubuntu 16.04

Hanya paket nightly yang dibuat untuk Ubuntu 16.04, namun petunjuk instalasinya sangat mudah. Tidak perlu mengupgrade kernel atau mengkompilasinya dari sumber.

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

Di Ubuntu 14.04

Mulailah dengan menginstal kernel Linux 4.3+, dari http://kernel.ubuntu.com/~kernel-ppa/mainline.

Sebagai contoh, tulis skrip shell kecil “bcc-install.sh” dengan konten di bawah ini.

Catatan: perbarui nilai PREFIX ke tanggal terbaru, dan jelajahi juga file di PREFIX url yang disediakan untuk dapatkan nilai REL yang sebenarnya, gantikan nilai tersebut ke dalam skrip shell.

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

Simpan file dan keluar. Jadikan itu dapat dieksekusi, lalu jalankan seperti yang ditunjukkan:

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

Setelah itu, reboot sistem Anda.

reboot

Selanjutnya, jalankan perintah di bawah ini untuk menginstal paket BCC yang ditandatangani:

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

Di Fedora 24-23

Instal kernel 4.2+ dari http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug, jika sistem Anda memiliki versi yang lebih rendah dari yang diperlukan. Di bawah ini adalah contoh cara melakukannya:

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

Setelah itu, tambahkan repositori alat BBC, perbarui sistem Anda dan instal alat tersebut dengan menjalankan rangkaian perintah berikutnya:

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

Di Arch Linux – AUR

Anda harus mulai dengan mengupgrade kernel Anda setidaknya ke versi 4.3.1-1, kemudian menginstal paket di bawah ini menggunakan manajer paket Arch seperti pacaur, yaourt<, meringkuk, dll.

bcc bcc-tools python-bcc python2-bcc

Cara Menggunakan Alat BCC di Sistem Linux

Semua alat BCC dipasang di direktori /usr/share/bcc/tools. Namun, Anda juga dapat menjalankannya dari repositori BCC Github pada /tools yang diakhiri dengan ekstensi .py.

$ 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

Kami akan membahas beberapa contoh di bawah ini – memantau kinerja dan jaringan sistem Linux secara umum.

Lacak panggilan sistem open()

Mari kita mulai dengan menelusuri semua syscall open() menggunakan opensnoop. Hal ini memungkinkan kami memberi tahu kami cara kerja berbagai aplikasi dengan mengidentifikasi file datanya, file konfigurasi, dan banyak lagi:

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

Ringkas Latensi I/O Perangkat Blokir

Dalam contoh ini, ini menunjukkan ringkasan distribusi latensi I/O disk menggunakan biolatecncy. Setelah menjalankan perintah, tunggu beberapa menit dan tekan Ctrl-C untuk mengakhirinya dan melihat hasilnya.

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

Lacak Proses Baru melalui exec() Syscalls

Di bagian ini, kita akan beralih ke penelusuran proses baru yang sedang dieksekusi menggunakan alat execsnoop. Setiap kali suatu proses di-fork oleh syscall fork() dan exec(), maka proses tersebut akan ditampilkan pada output. Namun, tidak semua proses ditangkap.

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

Lacak Operasi ext4 Lambat

Menggunakan ext4slower untuk melacak operasi umum sistem file ext4 yang lebih lambat dari 10 md, untuk membantu kami mengidentifikasi I/O disk lambat secara independen melalui file sistem.

Disarankan Baca: 13 Alat Pemantau Kinerja Linux

Ini hanya menghasilkan operasi yang melebihi ambang batas:

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

Lacak I/O Perangkat Blokir dengan PID dan Latensi

Selanjutnya, mari selami pencetakan satu baris I/O disk setiap detik, dengan detail seperti ID proses, sektor, byte, latensi, dan lain-lain menggunakan biosnoop:

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

Rasio hit/miss Cache Halaman Lacak

Setelah itu, kami melanjutkan menggunakan cachestat untuk menampilkan satu baris ringkasan statistik dari cache sistem setiap detik. Hal ini memungkinkan operasi penyetelan sistem dengan menunjukkan rasio cache hit yang rendah dan tingkat kesalahan yang tinggi:

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

Lacak Koneksi Aktif TCP

Memantau koneksi TCP setiap detik menggunakan tcpconnect. Outputnya mencakup alamat sumber dan tujuan, serta nomor port. Alat ini berguna untuk melacak koneksi TCP yang tidak terduga, sehingga membantu kita mengidentifikasi ketidakefisienan dalam konfigurasi aplikasi atau penyerang.

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

Semua alat di atas juga dapat digunakan dengan berbagai opsi, untuk mengaktifkan halaman bantuan untuk alat tertentu, gunakan opsi -h, misalnya:

$ 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

Pelacakan Syscall exec() yang Gagal

Untuk melacak syscall exec() yang gagal, gunakan opsi -x dengan opensnoop seperti di bawah ini:

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

Lacak Fungsi Proses Tertentu

Contoh terakhir di bawah ini menunjukkan cara menjalankan operasi pelacakan kustom. Kami menelusuri proses tertentu menggunakan PID-nya.

Saran Baca: Netdata – Alat Pemantau Kinerja Real-Time untuk Linux

Pertama tentukan ID proses:

$ pidof firefox

15437

Nanti, jalankan perintah trace khusus. Pada perintah di bawah ini: -p menentukan ID proses, do_sys_open() adalah fungsi kernel yang ditelusuri secara dinamis termasuk argumen kedua sebagai string.

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

Ringkasan

BCC adalah perangkat yang kuat dan mudah digunakan untuk berbagai tugas administrasi Sistem seperti pelacakan pemantauan kinerja sistem, pelacakan I/O perangkat blok, fungsi TCP, operasi sistem file, panggilan sistem, probe Node.js , dan masih banyak lagi. Yang penting, ia dikirimkan dengan beberapa file contoh dan halaman manual sebagai alat untuk memandu Anda, menjadikannya ramah pengguna dan dapat diandalkan.

Terakhir, Anda dapat menghubungi kami kembali dengan membagikan pemikiran Anda tentang subjek ini, mengajukan pertanyaan, memberikan saran yang berguna, atau umpan balik yang membangun melalui bagian komentar di bawah.

Untuk informasi lebih lanjut dan penggunaan, kunjungi: https://iovisor.github.io/bcc/