BCC - Dynamische Tracing -Tools für Linux -Leistungsüberwachung, Netzwerk und mehr

BCC - Dynamische Tracing -Tools für Linux -Leistungsüberwachung, Netzwerk und mehr

BCC (BPF -Compilersammlung) ist eine leistungsstarke Reihe geeigneter Tools und Beispieldateien zum Erstellen von einfallsreichen Kernelverfolgung und Manipulationsprogrammen. Es verwendet erweitert BPF (Berkeley -Paketfilter), anfangs bekannt als ebpf Das war eine der neuen Funktionen in Linux 3.15.

BCC/BPF - Dynamische Tracing -Tools für die Linux -Leistungsüberwachung

Praktisch die meisten der verwendeten Komponenten von BCC erfordern Linux 4.1 Oder oben, und seine bemerkenswerten Funktionen umfassen:

  1. Benötigt kein Kernel -Modul der Drittanbieter, da alle Tools basierend auf BPF funktionieren, die in den Kernel integriert sind, und BCC verwendet Funktionen, die in Linux 4 hinzugefügt wurden.X -Serie.
  2. Ermöglicht die Beobachtung der Softwareausführung.
  3. Enthält mehrere Leistungsanalyse -Tools mit Beispieldateien und Mannseiten.

Vorgeschlagene Lesen: 20 Befehlszeilen -Tools zur Überwachung der Linux -Leistung

Am besten für erweiterte Linux -Benutzer geeignet, BCC macht es einfach zu schreiben BPF Programme mit Kernelinstrumentation in C, und Frontends in Python Und Lua. Darüber hinaus unterstützt es mehrere Aufgaben wie Leistungsanalyse, Überwachung, Netzwerkverkehrskontrolle und vieles mehr.

So installieren Sie BCC in Linux -Systemen

Erinnere dich daran BCC Verwendet Funktionen in Linux -Kernel -Version hinzugefügt 4.1 oder oben und als Anforderung hätte der Kernel mit den unten festgelegten Flaggen zusammengestellt werden müssen:

Config_bpf=y Config_bpf_syscall=y # [Optional, für TC -Filter] Config_net_cls_bpf=M # [Optional, für TC -Aktionen] Config_net_act_bpf=M Config_bpf_jit=y Config_have_bpf_jit=y # [Optional, für KPROBES] Config_bpf_events=y 

Um Ihre Kernel -Flags zu überprüfen, können Sie die Datei anzeigen /proc/config.gz oder führen Sie die Befehle wie in den folgenden Beispielen aus:

[E -Mail geschützt] ~ $ grep config_bpf = /boot /config -'uname -r ' Config_bpf=y [E -Mail geschützt] ~ $ grep config_bpf_syscall = /boot /config -'uname -r ' Config_bpf_syscall=y [E -Mail geschützt] ~ $ grep config_net_cls_bpf = /boot /config -'uname -r ' Config_net_cls_bpf=M [E -Mail geschützt] ~ $ grep config_net_act_bpf = /boot /config -'uname -r ' Config_net_act_bpf=M [E -Mail geschützt] ~ $ grep config_bpf_jit = /boot /config -'uname -r ' Config_bpf_jit=y [E -Mail geschützt] ~ $ grep config_have_bpf_jit = /boot /config -'uname -r ' Config_have_bpf_jit=y [E -Mail geschützt] ~ $ grep config_bpf_events = /boot /config -'uname -r ' Config_bpf_events=y 

Nach der Überprüfung der Kernelflaggen ist es Zeit zu installieren BCC Tools in Linux -Systemen.

Auf Ubuntu 16.04

Für die nächtlichen Pakete werden nur für die Pakete erstellt Ubuntu 16.04, Die Installationsanweisungen sind jedoch sehr einfach. Kein Kernel -Upgrade oder Kompilieren Sie es aus der Quelle.

$ echo "Deb [Trusted = Ja] https: // repo.Iovisor.org/apt/Xenial Xenial-Nightly Main "| sudo tee/etc/apt/Quellen.Liste.D/Iovisor.Listen Sie $ sudo apt-get update $ sudo apt-Get Installieren Sie BCC-Tools 

Auf Ubuntu 14.04

Beginnen Sie mit der Installation a 4.3+ Linux -Kernel aus http: // kernel.Ubuntu.com/~ kernel-ppa/Hauptlinie.

Schreiben Sie als Beispiel ein kleines Shell -Skript “BCC-Installation.Sch”Mit dem Inhalt unten.

Notiz: aktualisieren PRÄFIX Wert zum letzten Datum und durchsuchen Sie auch die Dateien in der Präfix -URL bereitgestellt, um das tatsächliche zu bekommen Rel Wert, ersetzen Sie sie im Shell -Skript.

#!/bin/bash ver = 4.5.1-040501 Präfix = http: // Kernel.Ubuntu.com/~ kernel-ppa/mainline/v4.5.1-Wily/ rel = 201604121331 WGet $ Präfix/ Linux-Header-$ ver -generic _ $ ver.$ Rel _amd64.Deb WGet $ Präfix/Linux-Header-$ ver _ $ ver.$ Rel _all.Deb wget $ Präfix/Linux-Image-$ ver -generic _ $ ver.$ Rel _amd64.Deb sudo dpkg -i linux -*$ ver.$ Rel*.Deb 

Speichern Sie die Datei und beenden Sie. Machen Sie es ausführbar und führen Sie es wie gezeigt aus:

$ chmod +x BCC-Installation.sh $ sh bcc-install.Sch 

Starten Sie anschließend Ihr System neu.

$ Neustart 

Führen Sie als nächstes die folgenden Befehle aus, um signierte BCC -Pakete zu installieren:

$ sudo apt-key adv-Keyserver Keyserver.Ubuntu.com-recv-keys d4284cdd $ echo "Deb https: // repo.Iovisor.org/apty vertrauen.Liste.D/Iovisor.Listen Sie $ sudo apt-get update $ sudo apt-get install binutils bcc-tools libbcc-examples python-bcc 

Auf Fedora 24-23

Installieren a 4.2+ Kernel von http: // Alt.Fedoraproject.org/pub/alt/rawhide-kernel-nodeBug, wenn Ihr System eine Version hat, die niedriger ist als erforderlich ist. Unten finden Sie ein Beispiel dafür, wie das geht:

$ sudo dnf config-Manager --add-Repo = http: // Alt.Fedoraproject.org/pub/alt/rawhide-kernel-nodeBug/fedora-rawhide-kernel-nodeBug.repo $ sudo dnf update $ restar 

Danach fügen Sie die hinzu BBC Tools Repository, aktualisieren Sie Ihr System und installieren Sie die Tools, indem Sie die nächste Befehlserie ausführen:

$ 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 

Auf Arch Linux - Aur

Sie sollten zunächst Ihren Kernel auf mindestens Version aktualisieren 4.3.1-1, Installieren Sie anschließend die folgenden Pakete mit allen Arch -Paketmanagern wie z. B Pacaur, yaourt, kauern, usw.

BCC BCC-Tools Python-BCC Python2-BCC 

So verwenden Sie BCC -Tools in Linux -Systemen

All die BCC Werkzeuge werden unter installiert /usr/share/bcc/tools Verzeichnis. Sie können sie jedoch alternativ von der ausführen BCC Github Repository unter /Werkzeug wo sie mit einem enden .py Verlängerung.

$ 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 

Wir werden einige Beispiele unter - Überwachung der allgemeinen Linux -Systemleistung und -netzwerk abdecken.

Trace open () symalls

Beginnen wir damit, alle zu verfolgen offen() SYSCALLEN VERWENDEN OpenSnoop. Dies ermöglicht uns mit, wie verschiedene Anwendungen funktionieren, indem wir ihre Datendateien, Konfigurationsdateien und vieles mehr identifizieren:

$ cd/usr/share/bcc/tools  $ sudo ./OpenSnoop Pid comm fd err path 1 systemd 35 0/proc/self/montinfo 2797 udisksd 13 0/proc/self/montinfo 1 systemd 35 0/sys/devices/pci0000: 00/0000: 00: 0d.0/ATA3/HOST2/TARGE2: 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.montieren 1 systemd -1 2/run/systemd/system/sys-kernel-debug-Tracing.montieren 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/montinfo 1 systemd -1 2/lib/systemd/system/sys-kernel-debug-Tracing.Mount 1 systemd -1 2/usr/lib/systemd/system/sys-kernel-debug-Tracing.montieren 1 systemd -1 2/run/systemd/generator.spät/sys-kernel-debug-Tracing.montieren 1 systemd -1 2/etc/systemd/system/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/etc/systemd/system/sys-kernel-debug-Tracing.montieren.benötigt 1 systemd -1 2/run/systemd/system/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/run/systemd/system/sys-kernel-debug-Tracing.montieren.benötigt 1 systemd -1 2/run/systemd/generator/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/run/systemd/generator/sys-kernel-debug-Tracing.montieren.Benötigt 1 systemd -1 2/usr/local/lib/systemd/system/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/usr/local/lib/systemd/system/sys-kernel-debug-Tracing.montieren.benötigt 1 systemd -1 2/lib/systemd/system/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/lib/systemd/system/sys-kernel-debug-Tracing.montieren.Benötigt 1 systemd -1 2/usr/lib/systemd/system/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/usr/lib/systemd/system/sys-kernel-debug-Tracing.montieren.benötigt 1 systemd -1 2/run/systemd/generator.spät/sys-kernel-debug-Tracing.montieren.will 1 systemd -1 2/run/systemd/generator.spät/sys-kernel-debug-Tracing.montieren.benötigt 1 systemd -1 2/etc/systemd/system/sys-kernel-debug-Tracing.montieren.d 1 systemd -1 2/run/systemd/system/sys-kernel-debug-Tracing.montieren.D 1 systemd -1 2/run/systemd/generator/sys-kernel-debug-Tracing.montieren.D… 

Fassen Sie die Latenz von Block Device I/O zusammen

In diesem Beispiel zeigt es eine zusammengefasste Verteilung der Scheiben -E/A -Latenz mithilfe von Biolatecncy. Warten Sie nach dem Ausführen des Befehls ein paar Minuten und schlagen Sie Strg-c um es zu beenden und die Ausgabe anzusehen.

$ sudo ./Biolatecncy Verfolgen Sie das Blockgerät E/A. Drücken Sie Strg-C, um zu enden. ^C usecs: Zählverteilung 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 | ************* | 

Überzeugen Sie neue Prozesse über exec () syscalls

In diesem Abschnitt werden wir mithilfe neuer Prozesse in der Ausführung mithilfe der Ausführung nachverfolgen Execsnoop Werkzeug. Jedes Mal, wenn ein Prozess von gegeben wird von Gabel() Und exec () SYSKALLEN, es wird in der Ausgabe gezeigt. Es werden jedoch nicht alle Prozesse erfasst.

$ 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-hostname 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 Info Infohare Info Info Info. Nautilus 14897 2767 -2/usr/bin/netz 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 UsShare Info Nautilus 14897 2767 -2/USR/LOCAL/GAME/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/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/Home/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/dirname/usr/bin/libreoffice Basis 

Spuren Sie langsame Ext4 -Operationen

Verwendung ext4Slower um die zu verfolgen ext4 Dateisystem gemeinsame Operationen, die langsamer sind als 10 ms, Um uns dabei zu helfen, unabhängig langsamen Festplatten -E/A über das Dateisystem zu identifizieren.

Vorgeschlagene Lesen: 13 Tools zur Überwachung von Linux -Leistungsüberwachung

Es gibt nur die Operationen aus, die einen Schwellenwert überschreiten:

$ sudo ./Execslower Nachverfolgung EXT4 -Operationen langsamer als 10 ms Zeitkommpid t Bytes off_kb lat (MS) Dateiname 11:59:13 Nachtrieb 2252 W 48 1 10.76 dbus.Protokoll 11:59:13 GNOME-CREENSH 14993 R 144 0 10.96 Einstellungen.INI 11:59:13 GNOME-SCREENSH 14993 R 28 0 16.02 GTK.CSS 11:59:13 GNOME-CREENSH 14993 R 3389 0 18.32 GTK-Main.CSS 11:59:25 RS: Haupt F: Reg 1826 W 156 60 31 31 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 Benutzer.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 Aktivität.Sqlite-wal 11:59:34 Zeitgeist-Ffts 2996 R 8192 40 15.67 Postlist.DB 11:59:34 Firefox 15008 R 140 0 18.05 abhängige Libs.Liste 11:59:34 Zeitgeist-fts 2996 S 0 0 25.96 Position.TMP 11:59:34 Firefox 15008 R 4096 0 10.67 libplc4.Also 11:59:34 Zeitgeist-Ffts 2996 S 0 0 11.29 Termlist.TMP… 

Trace -Block -Geräte -E/A mit PID und Latenz

Lassen Sie uns als nächstes in die Drucken einer Linie pro Festplatten -E/O -jeweils drucken, mit Details wie Prozess -ID, Sektor, Bytes und Latenz unter anderem mit Biosnoop:

$ sudo ./biosnoop Zeit (en) 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 KWERKER/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 KWERKER/U4: 2 15084 SDA W 12586584 4096 0.14 8.303965000 KWERKER/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… 

Trace Page -Cache -Hit/Miss -Verhältnis

Danach verwenden wir die Verwendung Cachestat Zeigt jede Sekunde eine Zeile zusammengefasster Statistiken aus dem Systemcache an. Dies ermöglicht den Systemabstimmvorgängen durch Hinweis auf niedrige Cache -Trefferverhältnisse und hohe Misserate:

$ sudo ./Cachestat Hits Fehlende Dirties Read_hit% write_hit% buffer_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… 

Trace TCP aktive Verbindungen verfolgen

Überwachen Sie die TCP -Verbindungen jede Sekunde mit Verwendung tcpconnect. Die Ausgabe umfasst Quell- und Zieladresse sowie Portnummer. Dieses Tool ist nützlich, um unerwartete TCP -Verbindungen nachzuverfolgen und dabei dabei zu helfen, Ineffizienzen in Anwendungskonfigurationen oder einem Angreifer zu identifizieren.

$ sudo ./tcpconnect Pid comm ip saddr daddr dort 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… 

Alle oben genannten Tools können auch mit verschiedenen Optionen verwendet werden -H Option, zum Beispiel:

$ sudo ./tcpconnect -h Verwendung: tcpconnect [-h] [-t] [-p pid] [-p port] Trace TCP verbindet optionale Argumente: -h, -Help Zeigen Sie diese Hilfe-Meldung an und beenden -t, -Timestamp inklusive Zeitstempel auf Ausgabe- PID, -PID -PID -Verfolgung dieser PID -Nur -P -Port, -Port -Komma -durch. Beispiele: ./TCPConnect # Trace Alle TCP Connect () s ./tcpconnect -t # enthalten Zeitstempel ./tcpconnect -p 181 # Nur Trace PID 181 ./TCPConnect -P 80 # Nur Trace -Port 80 ./TCPConnect -P 80,81 # Nur Trace -Port 80 und 81 

Trace fehlgeschlagen exec () s,

Fehlgeschlagene exec () s -syscalls zu verfolgen, verwenden Sie die -X Option mit OpenSnoop wie unten:

$ sudo ./OpenSnoop -x Pid comm fd err path 15414 pool -1 2 /home /.versteckt 15415 (ostnamed) -1 2/sys/fs/cgroup/cpu/system.Slice/Systemd-Hostnamen.Service/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/cpu/system.Scheibe/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/cpuacct/system.Slice/Systemd-Hostnamen.Service/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/cpuacct/system.Scheibe/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/blkio/System.Slice/Systemd-Hostnamen.Service/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/blkio/System.Scheibe/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/speicher/system.Slice/Systemd-Hostnamen.Service/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/speicher/system.Scheibe/CGROUP.Procs 15415 (ostnamed) -1 2/sys/fs/cgroup/pids/System.Slice/Systemd-Hostnamen.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/systemd/systemd/systemd/systemd/systemd/systemd/systemd/systemd/systemd/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/user/0 15415 systemd -Hostnam -1 2/etc/maschinellinfo 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… 

Verfolgen Sie bestimmte Prozessfunktionen

Das letzte Beispiel unten zeigt, wie Sie einen benutzerdefinierten Trace -Vorgang ausführen. Wir verfolgen einen bestimmten Prozess mit seiner PID.

Vorgeschlagene Lesen: NetData - Ein Echtzeit -Leistungsüberwachungstool für Linux

Bestimmen Sie zuerst die Prozess -ID:

$ pidof Firefox 15437 

Führen Sie später den Brauch aus verfolgen Befehl. Im folgenden Befehl: -P Gibt die Prozess -ID an, do_sys_open () ist eine Kernelfunktion, die dynamisch enthält, einschließlich ihres zweiten Arguments als String.

$ sudo ./Trace -P 4095 'do_sys_open "%s", arg2' Zeit 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/präsent 12:18:13 15437 firefox do_sys_open/dev/urandom 12:13 15437 Firefox do_sys_open/urandom 12:18 : 14 15437 Firefox do_sys_open/usr/share/fonts/truetype/liberation/liberationsans-italien.TTF 12:18:14 15437 Firefox do_sys_open/usr/share/fonts/trueType/liberation/liberationsans-iTitalic.TTF 12:18:14 15437 Firefox do_sys_open/usr/share/fonts/trueType/liberation/liberationsans-iTitalic.TTF 12:18:14 15437 Firefox do_sys_open/sys/devices/system/cpu/präsent 12:18:14 15437 Firefox do_sys_open/dev/urandom 12:18:14 15437 Firefox do_sys_open/dev/urandom 12:18:14 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… 

Zusammenfassung

BCC ist ein leistungsstarkes und benutzerfreundliches Toolkit für verschiedene Systemverwaltungsaufgaben, z.JS -Sonden und vieles mehr. Wichtig ist, dass es mit mehreren Beispieldateien und Mannseiten versendet wird, damit die Tools Sie führen, wodurch es benutzerfreundlich und zuverlässig ist.

Last but not least können Sie sich zu uns zurückgeben, indem Sie Ihre Gedanken über das Thema teilen, Fragen stellen, nützliche Vorschläge oder konstruktives Feedback über den folgenden Kommentarbereich machen.

Weitere Informationen und Verwendungsmöglichkeiten finden Sie unter: https: // iovisor.Github.io/bcc/