BCC - Alat pengesanan dinamik untuk pemantauan prestasi linux, rangkaian dan banyak lagi

BCC - Alat pengesanan dinamik untuk pemantauan prestasi linux, rangkaian dan banyak lagi

BCC (BPF Compiler Collection) adalah satu set alat dan contoh contoh yang sesuai untuk membuat program pengesanan dan manipulasi kernel yang bijak. Ia menggunakan lanjutan BPF (Penapis paket Berkeley), pada mulanya dikenali sebagai ebpf yang merupakan salah satu ciri baru di Linux 3.15.

BCC/BPF - Alat pengesanan dinamik untuk pemantauan prestasi linux

Secara praktiknya, kebanyakan komponen yang digunakan oleh BCC memerlukan Linux 4.1 atau ke atas, dan ciri -ciri yang patut diberi perhatian termasuk:

  1. Tidak memerlukan modul kernel pihak ke -3, kerana semua alat berfungsi berdasarkan BPF yang dibina ke dalam kernel dan BCC menggunakan ciri -ciri yang ditambah di Linux 4.X Series.
  2. Membolehkan pemerhatian pelaksanaan perisian.
  3. Terdiri daripada beberapa alat analisis prestasi dengan contoh fail dan halaman lelaki.

Cadangan Baca: 20 Alat baris arahan untuk memantau prestasi linux

Paling sesuai untuk pengguna Linux canggih, BCC menjadikannya mudah ditulis BPF program menggunakan instrumentasi kernel di C, dan front-ends in Python dan lua. Di samping itu, ia menyokong pelbagai tugas seperti analisis prestasi, pemantauan, kawalan lalu lintas rangkaian ditambah banyak lagi.

Cara Memasang BCC dalam Sistem Linux

Ingat itu BCC Kegunaan Ciri -ciri Ditambah Dalam Versi Kernel Linux 4.1 atau di atas, dan sebagai keperluan, kernel sepatutnya disusun dengan bendera yang ditetapkan di bawah:

Config_bpf=y Config_bpf_syscall=y # [Pilihan, untuk penapis TC] Config_net_cls_bpf=m # [Pilihan, untuk tindakan TC] Config_net_act_bpf=m Config_bpf_jit=y Config_have_bpf_jit=y # [Pilihan, untuk kprobes] Config_bpf_events=y 

Untuk memeriksa bendera kernel anda, lihat failnya /proc/config.Gz Atau jalankan arahan seperti dalam contoh di bawah:

[dilindungi e -mel] ~ $ grep config_bpf = /boot /config -'uname -r ' Config_bpf=y [dilindungi e -mel] ~ $ grep config_bpf_syscall = /boot /config -'uname -r ' Config_bpf_syscall=y [dilindungi e -mel] ~ $ grep config_net_cls_bpf = /boot /config -'uname -r ' Config_net_cls_bpf=m [dilindungi e -mel] ~ $ grep config_net_act_bpf = /boot /config -'uname -r ' Config_net_act_bpf=m [dilindungi e -mel] ~ $ grep config_bpf_jit = /boot /config -'uname -r ' Config_bpf_jit=y [dilindungi e -mel] ~ $ grep config_have_bpf_jit = /boot /config -'uname -r ' Config_have_bpf_jit=y [dilindungi e -mel] ~ $ grep config_bpf_events = /boot /config -'uname -r ' Config_bpf_events=y 

Setelah mengesahkan bendera kernel, sudah tiba masanya untuk dipasang BCC alat dalam sistem linux.

Pada Ubuntu 16.04

Hanya pakej malam yang dibuat untuk Ubuntu 16.04, Tetapi arahan pemasangan sangat mudah. Tidak perlu menaik taraf kernel atau menyusunnya dari sumber.

$ echo "deb [aman = ya] https: // repo.Iovisor.org/apt/xenial xenial-nightly utama "| sudo tee/etc/apt/sumber.senarai.d/iovisor.Senaraikan $ sudo apt-get update $ sudo apt-get memasang bcc-tools 

Pada Ubuntu 14.04

Mulakan dengan memasang a 4.3+ Kernel Linux, dari http: // kernel.Ubuntu.com/~ kernel-ppa/mainline.

Sebagai contoh, tulis skrip shell kecil "BCC-memasang.sh"Dengan kandungan di bawah.

Catatan: Kemas kini Awalan nilai ke tarikh terkini, dan juga melayari fail di URL awalan disediakan untuk mendapatkan yang sebenarnya Rel nilai, ganti mereka dalam skrip shell.

#!/bin/bash ver = 4.5.1-040501 awalan = 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 fail dan keluar. Jadikannya boleh dilaksanakan, kemudian jalankan seperti yang ditunjukkan:

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

Selepas itu, reboot sistem anda.

$ reboot 

Seterusnya, jalankan arahan di bawah untuk memasang pakej BCC yang ditandatangani:

$ sudo apt-key adv --keyserver Keyserver.Ubuntu.com--recv-Keys d4284cdd $ echo "deb https: // repo.Iovisor.org/apt amanah utama "| sudo tee/etc/apt/sumber.senarai.d/iovisor.Senarai $ sudo apt-get update $ sudo apt-get install binutils bcc bcc-tools libbcc examples python-bcc 

Pada Fedora 24-23

Pasang a 4.2+ kernel dari http: // alt.Fedoraproject.org/pub/alt/rawhide-kernel-nodebug, jika sistem anda mempunyai versi yang lebih rendah daripada yang diperlukan. Berikut adalah contoh bagaimana untuk 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 

Selepas itu, tambahkan BBC Repositori Alat, Kemas kini sistem anda dan pasang alat dengan melaksanakan siri arahan seterusnya:

$ echo -e '[iovisor] \ nbaseurl = https: // repo.Iovisor.org/yum/malam/f23/$ basearch \ nenabled = 1 \ ngpgcheck = 0 '| sudo tee /etc /yum.repos.d/iovisor.repo $ sudo dnf update $ sudo dnf memasang bcc-tools 

Di Arch Linux - aur

Anda harus bermula dengan menaik taraf kernel anda ke sekurang -kurangnya versi 4.3.1-1, kemudian memasang pakej di bawah menggunakan mana -mana pengurus pakej gerbang seperti Pacaur, Yaourt, cower, dan lain-lain.

BCC BCC-TOOLS PYTHON-BCC PYTHON2-BCC 

Cara Menggunakan Alat BCC dalam Sistem Linux

Semua BCC Alat dipasang di bawah /usr/share/bcc/alat direktori. Walau bagaimanapun, anda boleh mengalihkannya dari BCC GitHub repositori di bawah /alat di mana mereka berakhir dengan .py sambungan.

$ ls/usr/share/bcc/alat  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 merangkumi beberapa contoh di bawah pemantauan prestasi sistem dan rangkaian sistem linux umum.

Jejak terbuka () syscalls

Mari mulakan dengan mengesan semua buka() Syscalls menggunakan OpenSnoop. Ini membolehkan kami memberitahu kami bagaimana pelbagai aplikasi berfungsi dengan mengenal pasti fail data mereka, fail konfigurasi dan banyak lagi:

$ cd/usr/share/bcc/alat  $ 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/blok/SDA/SDA1/UEVEN /sistem/sys-kernel-debug-tracing.Mount 1 Systemd -1 2/Run/Systemd/System/Sys-Kernel-Debug-Trace.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.Gunung 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.Gunung 1 Systemd -1 2/Run/Systemd/Generator.Lewat/SYS-KERNEL-DEBUG-Tracing.Gunung 1 Systemd -1 2/etc/Systemd/System/Sys-Kernel-Debug-Trace.gunung.mahu 1 sistem -1 2/etc/systems/system/sys-kernel-debug-trace.gunung.Memerlukan 1 Systemd -1 2/Run/Systemd/System/Sys-Kernel-Debug-Trace.gunung.mahu 1 sistem -1 2/run/systemd/system/sys-kernel-debug-trace.gunung.Memerlukan 1 Systemd -1 2/Run/Systemd/Generator/SYS-Kernel-Debug-Tracing.gunung.Mahu 1 Systemd -1 2/Run/Systemd/Generator/SYS-Kernel-Debug-Tracing.gunung.Memerlukan 1 SystemD -1 2/usr/local/lib/Systemd/System/Sys-Kernel-Debug-Tracing.gunung.Mahu 1 Systemd -1 2/usr/local/lib/Systems/System/Sys-Kernel-Debug-Tracing.gunung.Memerlukan 1 Systemd -1 2/lib/Systemd/System/Sys-Kernel-Debug-Tracing.gunung.Mahu 1 SystemD -1 2/lib/Systemd/System/Sys-Kernel-Debug-Tracing.gunung.Memerlukan 1 SystemD -1 2/usr/lib/Systemd/System/Sys-Kernel-Debug-Tracing.gunung.Mahu 1 SystemD -1 2/usr/lib/Systemd/System/Sys-Kernel-Debug-Tracing.gunung.Memerlukan 1 SystemD -1 2/Run/SystemD/Generator.Lewat/SYS-KERNEL-DEBUG-Tracing.gunung.Mahu 1 SystemD -1 2/Run/SystemD/Generator.Lewat/SYS-KERNEL-DEBUG-Tracing.gunung.Memerlukan 1 Systemd -1 2/etc/Systemd/System/Sys-Kernel-Debug-Trace.gunung.D 1 Systemd -1 2/Run/Systemd/System/Sys-Kernel-Debug-Trace.gunung.D 1 Systemd -1 2/Run/Systemd/Generator/SYS-Kernel-Debug-Tracing.gunung.D… 

Ringkaskan Peranti Blok I/O Latihan

Dalam contoh ini, ia menunjukkan pengagihan cakera I/O Latency yang diringkaskan menggunakan biolatecncy. Setelah melaksanakan arahan, tunggu beberapa minit dan memukul Ctrl-C untuk menamatkannya dan melihat output.

$ sudo ./biolatecncy Peranti Blok Jejak I/O ... tekan Ctrl-C untuk berakhir. ^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 | ************* | 

Jejak proses baru melalui exec () syscalls

Dalam seksyen ini, kita akan bergerak untuk mengesan proses baru dalam pelaksanaan menggunakan EXECSNOOP alat. Setiap kali proses dicabut oleh garpu () dan exec () syscalls, ia ditunjukkan dalam output. Walau bagaimanapun, 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-Hostamed Nautilus 14897 2/Home/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint/Tecmint Info Usershare Net Nautilus 14897 2767 -2/rumah/tecmint/.Info UserShare Pengguna Tempatan/Bin/Bin/Bersih Nautilus 14897 2767 -2/USR/Local/Sbin/Net UserShare Info Nautilus 14897 2767 -2/usr/usr/lokal/bin/net user usershare Nautilus 14897 2767 -2/usr/sbin/sbin info Nautilus 14897 2767 -2/usr/bin/Info UserShare Net Nautilus 14897 2767 -2/SBIN/INFO USERSHARE NET Nautilus 14897 2767 -2/bin/Net UserShare Info Nautilus 14897 2767/ 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/.tempatan/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/sbin/ Libreoffice -Calc Libreoffice 14899 2252 0/usr/bin/libreoffice -Calc Dirname 14902 14899 0/usr/bin/dirname/usr/bin/libreoffice base 14903 14899 0/usr/usr/usr/ 

Mengesan operasi Ext4 yang perlahan

Menggunakan ext4slower untuk mengesan ext4 Operasi biasa sistem fail yang lebih perlahan daripada 10ms, Untuk membantu kami mengenal pasti cakera lambat I/O melalui sistem fail.

Cadangan Baca: 13 Alat Pemantauan Prestasi Linux

Ia hanya mengeluarkan operasi yang melebihi ambang:

$ sudo ./execslower Mengesan Operasi Ext4 Lebih Lambat Daripada 10 ms Time Comm Pid T Bytes Off_kb Lat (MS) Nama File 11:59:13 Upstart 2252 W 48 1 10.76 dbus.Log 11:59:13 Gnome-Screensh 14993 R 144 0 10.96 Tetapan.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: Utama Q: Reg 1826 W 156 60 31.85 Syslog 11:59:25 Kolam 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 Pengguna.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 Aktiviti.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.Senarai 11:59:34 Zeitgeist-Fts 2996 s 0 0 25.96 kedudukan.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 .. 

Peranti blok jejak I/O dengan PID dan latensi

Seterusnya, mari kita menyelam untuk mencetak garis setiap cakera I/O setiap saat, dengan butiran seperti ID proses, sektor, bait, latensi antara lain menggunakan BioSnoop:

$ sudo ./Biosnoop Masa (S) Comm PID Disk T Sektor 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… 

Nisbah Cache Hit/Miss Trace Page

Selepas itu, kami terus menggunakan Cachestat Untuk memaparkan satu baris statistik yang diringkaskan dari cache sistem setiap saat. Ini membolehkan operasi penalaan sistem dengan menunjukkan nisbah hit cache yang rendah dan kadar ketinggalan yang tinggi:

$ sudo ./Cachestat Hits rindu dirties read_hit% write_hit% buffers_mb cached_mb 0 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 .. 

Jejak sambungan aktif TCP

Memantau sambungan TCP setiap saat menggunakan tcpconnect. Outputnya termasuk alamat sumber dan destinasi, dan nombor port. Alat ini berguna untuk mengesan sambungan TCP yang tidak dijangka, dengan itu membantu kami mengenal pasti ketidakcekapan dalam konfigurasi aplikasi atau penyerang.

$ sudo ./tcpconnect Pid comm ip saddr daddr dport 15272 soket threa 4 10.0.2.15 91.189.89.240 80 15272 soket 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 soket 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 soket 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 boleh digunakan dengan pelbagai pilihan, untuk membolehkan halaman bantuan untuk alat tertentu, menggunakan -h Pilihan, sebagai contoh:

$ sudo ./tcpconnect -h Penggunaan: tcpconnect [-h] [-t] [-p pid] [-p port] jejak tcp menghubungkan argumen pilihan: -h,--help menunjukkan mesej bantuan ini dan keluar -t, --TimeStamp termasuk cap waktu pada output- P PID, -PID PID mengesan port PID ini sahaja -P, -Pelabuhan Destinasi Port Port Port ini untuk dikesan. contoh: ./TCPConnect # jejak semua TCP Connect () s ./tcpconnect -t # termasuk timestamps ./tcpconnect -p 181 # hanya jejak pid 181 ./tcpconnect -p 80 # hanya jejak port 80 ./tcpconnect -p 80,81 # hanya jejak port 80 dan 81 

Jejak exec () s syscalls

Untuk mengesan syscalls exec () s, menggunakan -x Pilihan dengan OpenSnoop seperti di bawah:

$ sudo ./OpenSnoop -x Pid Comm Fd ERR Path 15414 Pool -1 2 /Home /.Tersembunyi 15415 (ostnamed) -1 2/sys/fs/cgroup/cpu/sistem.Slice/SystemD-Hostnamed.perkhidmatan/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.perkhidmatan/cgroup.Procs 15415 (Ostnamed) -1 2/SYS/FS/CGROUP/CPUACCT/SYSTEM.slice/cgroup.Procs 15415 (Ostnamed) -1 2/sys/fs/cgroup/blkio/sistem.Slice/SystemD-Hostnamed.perkhidmatan/cgroup.Procs 15415 (Ostnamed) -1 2/sys/fs/cgroup/blkio/sistem.slice/cgroup.Procs 15415 (Ostnamed) -1 2/SYS/FS/CGROUP/MEMORY/SYSTEM.Slice/SystemD-Hostnamed.perkhidmatan/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.perkhidmatan/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/Environment 15415 Systemd-Hostnam -1 2/SYS/FS/KDBUS/0-SYSTEM/BUS 1695 DBUS-DAEMON -1 2/RUN/SYSTEMD/USER/0 15415 -hostnam -1 2/etc/mesin -info 15414 kolam -1 2/rumah/tecmint/.Tersembunyi 15414 Pool -1 2/rumah/tecmint/binari/.Tersembunyi 2599 DCONF -SERVICE -1 2/RUN/USER/1000/DCONF/USER .. 

Jejak fungsi proses tertentu

Contoh terakhir di bawah menunjukkan cara melaksanakan operasi jejak tersuai. Kami mengesan proses tertentu menggunakan PIDnya.

Cadangan Baca: NetData - Alat pemantauan prestasi masa nyata untuk Linux

Mula -mula menentukan ID proses:

$ pidof firefox 15437 

Kemudian, jalankan adat jejak perintah. Dalam arahan di bawah: -p Menentukan ID Proses, do_sys_open () adalah fungsi kernel yang dikesan secara dinamik termasuk hujah kedua sebagai rentetan.

$ sudo ./jejak -p 4095 'do_sys_open "%s", arg2' Masa 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/pengguna 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/pengguna 12:18:13 15437 Firefox do_sys_open/sys/peranti/sistem/cpu/sekarang 12:18:13 15437 Firefox do_sys_open/dev/urandom 12:18:13 : 14 15437 Firefox do_sys_open/usr/share/fonts/trueType/liberation/liberationsans-Italic.TTF 12:18:14 15437 Firefox DO_SYS_OPEN/usr/share/font/truetype/pembebasan/pembebasan-itip.TTF 12:18:14 15437 Firefox DO_SYS_OPEN/usr/share/font/truetype/pembebasan/pembebasan-itip.TTF 12:18:14 15437 Firefox do_sys_open/sys/peranti/sistem/cpu/hadir 12:18:14 15437 Firefox do_sys_open/dev/urandom 12:18:14 15437 firefox do_sys_open/urandom 12:18: do_sys_open/dev/urandom 12:18:14 15437 firefox do_sys_open/dev/urandom 12:18:15 15437 Firefox do_sys_open/sys/system/cpu/present 12:18:15 15437 : 15 15437 Firefox do_sys_open/dev/urandom 12:18:15 15437 firefox do_sys_open/sys/peranti/sistem/cpu/hadir 12:18:15 15437 Firefox do_sys_open/dev/urandom Urandom .. 

Ringkasan

BCC adalah toolkit yang kuat dan mudah digunakan untuk pelbagai tugas pentadbiran sistem seperti mengesan pemantauan prestasi sistem, pengesanan peranti blok I/O, fungsi TCP, operasi sistem fail, syscalls, nod.JS Probes, ditambah banyak lagi. Yang penting, ia dihantar dengan beberapa contoh fail dan halaman lelaki untuk alat untuk membimbing anda, menjadikannya mesra pengguna dan boleh dipercayai.

Akhir sekali, anda boleh menghubungi kami dengan berkongsi pendapat anda mengenai subjek, bertanya soalan, membuat cadangan berguna atau sebarang maklum balas yang membina melalui bahagian komen di bawah.

Untuk maklumat lanjut dan lawati: https: // iovisor.github.io/bcc/