BCC - Linux Performans İzleme, Ağ İletişimi ve Daha Fazlası için Dinamik İzleme Araçları


BCC (BPF Derleyici Koleksiyonu), becerikli çekirdek izleme ve işleme programları oluşturmaya yönelik güçlü, uygun araçlar ve örnek dosyalardan oluşan bir settir. Başlangıçta eBPF olarak bilinen ve Linux 3.15'teki yeni özelliklerden biri olan genişletilmiş BPF'yi (Berkeley Paket Filtreleri) kullanır. güçlü>.

Pratik olarak, BCC tarafından kullanılan bileşenlerin çoğu Linux 4.1 veya üzerini gerektirir ve dikkate değer özellikleri şunları içerir:

  1. Tüm araçlar çekirdeğe yerleşik BPF'ye dayalı olarak çalıştığından ve BCC, Linux 4.x serisinde eklenen özellikleri kullandığından, 3. taraf çekirdek modülü gerektirmez.
  2. Yazılımın yürütülmesinin gözlemlenmesini sağlar.
  3. Örnek dosyalar ve kılavuz sayfaları içeren çeşitli performans analizi araçlarından oluşur.

Önerilen Okuma: Linux Performansını İzlemek için 20 Komut Satırı Aracı

İleri düzey Linux kullanıcıları için en uygun olan BCC, C'deki çekirdek enstrümantasyonunu ve 'deki ön uçları kullanarak BPF programları yazmayı kolaylaştırır. Python ve lua. Ayrıca performans analizi, izleme, ağ trafiği kontrolü ve çok daha fazlası gibi birden fazla görevi destekler.

Linux Sistemlerinde BCC Nasıl Kurulur

BCC'nin, 4.1 Linux çekirdeği sürümüne veya üzeri sürüme eklenen özellikleri kullandığını ve bir gereksinim olarak çekirdeğin aşağıda belirtilen işaretlerle derlenmiş olması gerektiğini unutmayın:

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

Çekirdek bayraklarınızı kontrol etmek için /proc/config.gz dosyasını görüntüleyin veya aşağıdaki örneklerde olduğu gibi komutları çalıştırın:

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

Çekirdek bayraklarını doğruladıktan sonra sıra Linux sistemlerine BCC araçlarını yüklemeye geldi.

Ubuntu'da 16.04

Ubuntu 16.04 için yalnızca gecelik paketler oluşturulmuştur, ancak kurulum talimatları oldukça basittir. Çekirdek yükseltmesine veya kaynaktan derlemeye gerek yok.

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'da 14.04

http://kernel.ubuntu.com/~kernel-ppa/mainline adresinden 4.3+ Linux çekirdeği yükleyerek başlayın.

Örnek olarak aşağıdaki içeriğe sahip küçük bir kabuk komut dosyası “bcc-install.sh” yazın.

Not: PREFIX değerini en son tarihe güncelleyin ve ayrıca kendisine sağlanan PREFIX URL'sindeki dosyalara göz atın. gerçek REL değerini alın ve bunları kabuk komut dosyasında değiştirin.

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

Dosyayı kaydet ve çık. Çalıştırılabilir hale getirin ve gösterildiği gibi çalıştırın:

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

Daha sonra sisteminizi yeniden başlatın.

reboot

Daha sonra imzalı BCC paketlerini yüklemek için aşağıdaki komutları çalıştırın:

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

Fedora 24-23'te

Sisteminizde gerekenden daha düşük bir sürüm varsa, http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug adresinden 4.2+ çekirdeği yükleyin. Aşağıda bunun nasıl yapılacağına dair bir örnek verilmiştir:

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

Bundan sonra, BBC araç deposunu ekleyin, sisteminizi güncelleyin ve sonraki komut dizisini yürüterek araçları yükleyin:

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 Linux'ta – AUR

Çekirdeğinizi en az 4.3.1-1 sürümüne yükselterek başlamalı, ardından pacaur, yaourt< gibi herhangi bir Arch paket yöneticisini kullanarak aşağıdaki paketleri kurmalısınız., korku vb.

bcc bcc-tools python-bcc python2-bcc

Linux Sistemlerinde BCC Araçları Nasıl Kullanılır?

Tüm BCC araçları /usr/share/bcc/tools dizini altına kurulur. Ancak alternatif olarak bunları /tools altındaki BCC Github deposundan çalıştırabilirsiniz; burada .py uzantısıyla biterler.

$ 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

Genel Linux sistem performansının ve ağ iletişiminin izlenmesi başlığı altında birkaç örneği ele alacağız.

open() sistem çağrılarını izleme

opensnoop'u kullanarak tüm open() sistem çağrılarını izleyerek başlayalım. Bu bize çeşitli uygulamaların veri dosyalarını, yapılandırma dosyalarını ve daha fazlasını tanımlayarak nasıl çalıştığını anlatmamızı sağlar:

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

Cihaz G/Ç Gecikmesini Engellemeyi Özetleyin

Bu örnekte, biyolojik gecikme kullanılarak disk G/Ç gecikmesinin özetlenmiş bir dağılımı gösterilmektedir. Komutu yürüttükten sonra birkaç dakika bekleyin ve Ctrl-C tuşlarına basarak işlemi sonlandırın ve çıktıyı görüntüleyin.

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

exec() Sistem Çağrıları Aracılığıyla Yeni Süreçleri Takip Edin

Bu bölümde, execsnoop aracını kullanarak yürütülmekte olan yeni süreçleri izlemeye geçeceğiz. Bir işlem fork() ve exec() sistem çağrıları tarafından her çatallandığında, çıktıda gösterilir. Ancak tüm süreçler yakalanmaz.

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

Yavaş ext4 İşlemlerini İzleme

Dosya aracılığıyla yavaş disk G/Ç'sini bağımsız olarak belirlememize yardımcı olmak amacıyla, 10 ms'den daha yavaş olan ext4 dosya sistemi ortak işlemlerini izlemek için ext4slower'ı kullanma sistem.

Önerilen Okuma: 13 Linux Performans İzleme Aracı

Yalnızca bir eşiği aşan işlemlerin çıktısını verir:

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

PID ve Gecikme ile Cihaz Giriş/Çıkışını Takip Etme

Daha sonra, biosnoop'u kullanarak diğerlerinin yanı sıra işlem kimliği, sektör, bayt, gecikme gibi ayrıntılarla birlikte her saniye disk G/Ç başına bir satır yazdırmaya başlayalım:

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

İzleme Sayfası Önbelleği isabet/kaçırma Oranı

Daha sonra, her saniye sistem önbelleğinden bir satırlık özet istatistik görüntülemek için cachestat'ı kullanmaya devam ediyoruz. Bu, düşük önbellek isabet oranına ve yüksek kayıp oranına işaret ederek sistem ayarlama işlemlerine olanak tanır:

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

TCP Aktif Bağlantılarını İzleme

tcpconnect kullanarak TCP bağlantılarını her saniye izleme. Çıktısı kaynak ve hedef adresini ve port numarasını içerir. Bu araç, beklenmedik TCP bağlantılarını izlemek için kullanışlıdır ve böylece uygulama yapılandırmalarındaki verimsizlikleri veya bir saldırganı belirlememize yardımcı olur.

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

Yukarıdaki araçların tümü çeşitli seçeneklerle de kullanılabilir; belirli bir araca ilişkin yardım sayfasını etkinleştirmek için -h seçeneğini kullanın, örneğin:

$ 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

Başarısız exec()'lerin Sistem Çağrılarını İzleme

Başarısız exec() sistem çağrılarını izlemek için opensnoop ile aşağıdaki gibi -x seçeneğini kullanın:

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

Belirli Proses Fonksiyonlarını İzleyin

Aşağıdaki son örnek, özel bir izleme işleminin nasıl yürütüleceğini gösterir. PID'sini kullanarak belirli bir süreci izliyoruz.

Önerilen Okuma: Netdata – Linux için Gerçek Zamanlı Performans İzleme Aracı

İlk önce işlem kimliğini belirleyin:

$ pidof firefox

15437

Daha sonra özel trace komutunu çalıştırın. Aşağıdaki komutta: -p işlem kimliğini belirtir; do_sys_open(), dize olarak ikinci argümanı da dahil olmak üzere dinamik olarak izlenen bir çekirdek işlevidir.

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

Özet

BCC, sistem performansını izleme, blok cihaz G/Ç'sini izleme, TCP işlevleri, dosya sistemi işlemleri, sistem çağrıları, Node.js araştırmaları gibi çeşitli Sistem yönetimi görevleri için güçlü ve kullanımı kolay bir araç setidir. , artı çok daha fazlası. Daha da önemlisi, size rehberlik edecek araçlar için çeşitli örnek dosyalar ve kılavuz sayfaları ile birlikte gelir, bu da onu kullanıcı dostu ve güvenilir kılar.

Son olarak konu hakkındaki düşüncelerinizi paylaşarak, sorular sorarak, faydalı önerilerde bulunarak veya yapıcı geri bildirimlerinizi aşağıdaki yorum kısmından bize ulaştırabilirsiniz.

Daha fazla bilgi ve kullanım için şu adresi ziyaret edin: https://iovisor.github.io/bcc/