/
usr
/
sbin
/
/usr/sbin
mkdir
upload
Name
Size
Mode
Actions
aa-load
39680
0755
edit
dl
rm
aa-remove-unknown
3225
0755
edit
dl
rm
aa-status
40000
0755
edit
dl
rm
aa-teardown
137
0755
edit
dl
rm
accessdb
14904
0755
edit
dl
rm
acpid
53920
0755
edit
dl
rm
add-shell
1053
0755
edit
dl
rm
addgnupghome
3075
0755
edit
dl
rm
addgroup
55191
0755
edit
dl
rm
adduser
55191
0755
edit
dl
rm
agetty
60992
0755
edit
dl
rm
apparmor_parser
1629848
0755
edit
dl
rm
apparmor_status
40000
0755
edit
dl
rm
applygnupgdefaults
2217
0755
edit
dl
rm
argdist-bpfcc
36862
0755
edit
dl
rm
arpd
26960
0755
edit
dl
rm
arptables
224424
0755
edit
dl
rm
arptables-nft
224424
0755
edit
dl
rm
arptables-nft-restore
224424
0755
edit
dl
rm
arptables-nft-save
224424
0755
edit
dl
rm
arptables-restore
224424
0755
edit
dl
rm
arptables-save
224424
0755
edit
dl
rm
badblocks
35144
0755
edit
dl
rm
bashreadline-bpfcc
2380
0755
edit
dl
rm
bashreadline.bt
698
0755
edit
dl
rm
bcache-super-show
14648
0755
edit
dl
rm
bindsnoop-bpfcc
16346
0755
edit
dl
rm
biolatency-bpfcc
11365
0755
edit
dl
rm
biolatency-kp.bt
664
0755
edit
dl
rm
biolatency.bt
681
0755
edit
dl
rm
biolatpcts-bpfcc
10248
0755
edit
dl
rm
biopattern-bpfcc
3957
0755
edit
dl
rm
biosdecode
27856
0755
edit
dl
rm
biosnoop-bpfcc
10833
0755
edit
dl
rm
biosnoop.bt
1148
0755
edit
dl
rm
biostacks.bt
915
0755
edit
dl
rm
biotop-bpfcc
9567
0755
edit
dl
rm
bitesize-bpfcc
1166
0755
edit
dl
rm
bitesize.bt
567
0755
edit
dl
rm
blkdeactivate
16351
0755
edit
dl
rm
blkdiscard
22912
0755
edit
dl
rm
blkid
55720
0755
edit
dl
rm
blkzone
35200
0755
edit
dl
rm
blockdev
35200
0755
edit
dl
rm
bpflist-bpfcc
2601
0755
edit
dl
rm
bpftool
1622
0755
edit
dl
rm
bridge
111096
0755
edit
dl
rm
btrfsdist-bpfcc
6627
0755
edit
dl
rm
btrfsslower-bpfcc
9985
0755
edit
dl
rm
cachestat-bpfcc
6531
0755
edit
dl
rm
cachetop-bpfcc
9367
0755
edit
dl
rm
cache_check
1430568
0755
edit
dl
rm
cache_dump
1430568
0755
edit
dl
rm
cache_metadata_size
1430568
0755
edit
dl
rm
cache_repair
1430568
0755
edit
dl
rm
cache_restore
1430568
0755
edit
dl
rm
cache_writeback
1430568
0755
edit
dl
rm
capable-bpfcc
8477
0755
edit
dl
rm
capable.bt
1926
0755
edit
dl
rm
capsh
58456
0755
edit
dl
rm
cfdisk
97008
0755
edit
dl
rm
cgdisk
170480
0755
edit
dl
rm
chcpu
31104
0755
edit
dl
rm
chgpasswd
59720
0755
edit
dl
rm
chmem
35200
0755
edit
dl
rm
chpasswd
55736
0755
edit
dl
rm
chronyd
306232
0755
edit
dl
rm
chroot
39432
0755
edit
dl
rm
cobjnew-bpfcc
53
0755
edit
dl
rm
compactsnoop-bpfcc
11369
0755
edit
dl
rm
cpgr
49608
0755
edit
dl
rm
cppw
49608
0755
edit
dl
rm
cpudist-bpfcc
7013
0755
edit
dl
rm
cpuunclaimed-bpfcc
14938
0755
edit
dl
rm
cpuwalk.bt
497
0755
edit
dl
rm
criticalstat-bpfcc
8607
0755
edit
dl
rm
cron
60080
0755
edit
dl
rm
cryptdisks_start
1544
0755
edit
dl
rm
cryptdisks_stop
844
0755
edit
dl
rm
cryptsetup
231320
0755
edit
dl
rm
ctrlaltdel
14720
0755
edit
dl
rm
dbslower-bpfcc
7391
0755
edit
dl
rm
dbstat-bpfcc
3790
0755
edit
dl
rm
dcb
82448
0755
edit
dl
rm
dcsnoop-bpfcc
4126
0755
edit
dl
rm
dcsnoop.bt
1261
0755
edit
dl
rm
dcstat-bpfcc
3859
0755
edit
dl
rm
deadlock-bpfcc
20943
0755
edit
dl
rm
debugfs
231288
0755
edit
dl
rm
delgroup
18977
0755
edit
dl
rm
deluser
18977
0755
edit
dl
rm
depmod
174328
0755
edit
dl
rm
devlink
154480
0755
edit
dl
rm
dhcpcd
404888
0755
edit
dl
rm
dirtop-bpfcc
8568
0755
edit
dl
rm
dmeventd
51592
0755
edit
dl
rm
dmidecode
138496
0755
edit
dl
rm
dmsetup
175160
0755
edit
dl
rm
dmstats
175160
0755
edit
dl
rm
dosfsck
80264
0755
edit
dl
rm
dosfslabel
39304
0755
edit
dl
rm
dpkg-preconfigure
4356
0755
edit
dl
rm
dpkg-reconfigure
4536
0755
edit
dl
rm
drsnoop-bpfcc
6889
0755
edit
dl
rm
dumpe2fs
35136
0755
edit
dl
rm
e2freefrag
18744
0755
edit
dl
rm
e2fsck
373080
0755
edit
dl
rm
e2image
43328
0755
edit
dl
rm
e2label
113216
0755
edit
dl
rm
e2mmpstatus
35136
0755
edit
dl
rm
e2scrub
7294
0755
edit
dl
rm
e2scrub_all
5394
0755
edit
dl
rm
e2undo
22840
0755
edit
dl
rm
e4crypt
31104
0755
edit
dl
rm
e4defrag
35128
0755
edit
dl
rm
ebtables
224424
0755
edit
dl
rm
ebtables-nft
224424
0755
edit
dl
rm
ebtables-nft-restore
224424
0755
edit
dl
rm
ebtables-nft-save
224424
0755
edit
dl
rm
ebtables-restore
224424
0755
edit
dl
rm
ebtables-save
224424
0755
edit
dl
rm
ebtables-translate
224424
0755
edit
dl
rm
era_check
1430568
0755
edit
dl
rm
era_dump
1430568
0755
edit
dl
rm
era_invalidate
1430568
0755
edit
dl
rm
era_restore
1430568
0755
edit
dl
rm
ethtool
667320
0755
edit
dl
rm
execsnoop-bpfcc
10059
0755
edit
dl
rm
execsnoop.bt
928
0755
edit
dl
rm
exitsnoop-bpfcc
9646
0755
edit
dl
rm
ext4dist-bpfcc
6683
0755
edit
dl
rm
ext4slower-bpfcc
9948
0755
edit
dl
rm
faillock
22848
0755
edit
dl
rm
fatlabel
39304
0755
edit
dl
rm
fdisk
117168
0755
edit
dl
rm
filefrag
18760
0755
edit
dl
rm
filegone-bpfcc
5776
0755
edit
dl
rm
filelife-bpfcc
6528
0755
edit
dl
rm
fileslower-bpfcc
7372
0755
edit
dl
rm
filetop-bpfcc
6499
0755
edit
dl
rm
findfs
14720
0755
edit
dl
rm
fixparts
59880
0755
edit
dl
rm
fsadm
24580
0755
edit
dl
rm
fsck
43440
0755
edit
dl
rm
fsck.btrfs
1185
0755
edit
dl
rm
fsck.cramfs
31168
0755
edit
dl
rm
fsck.ext2
373080
0755
edit
dl
rm
fsck.ext3
373080
0755
edit
dl
rm
fsck.ext4
373080
0755
edit
dl
rm
fsck.fat
80264
0755
edit
dl
rm
fsck.minix
55712
0755
edit
dl
rm
fsck.msdos
80264
0755
edit
dl
rm
fsck.vfat
80264
0755
edit
dl
rm
fsck.xfs
2566
0755
edit
dl
rm
fsfreeze
14720
0755
edit
dl
rm
fstab-decode
14648
0755
edit
dl
rm
fstrim
43392
0755
edit
dl
rm
funccount-bpfcc
12981
0755
edit
dl
rm
funcinterval-bpfcc
5590
0755
edit
dl
rm
funclatency-bpfcc
11549
0755
edit
dl
rm
funcslower-bpfcc
10630
0755
edit
dl
rm
gdisk
203248
0755
edit
dl
rm
genl
123472
0755
edit
dl
rm
getcap
14648
0755
edit
dl
rm
gethostlatency-bpfcc
3914
0755
edit
dl
rm
gethostlatency.bt
1222
0755
edit
dl
rm
getpcaps
14648
0755
edit
dl
rm
getty
60992
0755
edit
dl
rm
groupadd
72840
0755
edit
dl
rm
groupdel
64424
0755
edit
dl
rm
groupmems
59744
0755
edit
dl
rm
groupmod
72744
0755
edit
dl
rm
grpck
59720
0755
edit
dl
rm
grpconv
51368
0755
edit
dl
rm
grpunconv
51368
0755
edit
dl
rm
grub-bios-setup
981552
0755
edit
dl
rm
grub-install
1225824
0755
edit
dl
rm
grub-macbless
969128
0755
edit
dl
rm
grub-mkconfig
8840
0755
edit
dl
rm
grub-mkdevicemap
72384
0755
edit
dl
rm
grub-probe
977576
0755
edit
dl
rm
grub-reboot
4841
0755
edit
dl
rm
grub-set-default
3556
0755
edit
dl
rm
halt
1501304
0755
edit
dl
rm
hardirqs-bpfcc
7019
0755
edit
dl
rm
hdparm
142776
0755
edit
dl
rm
iconvconfig
35296
0755
edit
dl
rm
init
100816
0755
edit
dl
rm
inject-bpfcc
16445
0755
edit
dl
rm
insmod
174328
0755
edit
dl
rm
install-sgmlcatalog
4551
0755
edit
dl
rm
installkernel
2659
0755
edit
dl
rm
integritysetup
68672
0755
edit
dl
rm
invoke-rc.d
16517
0755
edit
dl
rm
ip
772920
0755
edit
dl
rm
ip6tables
224424
0755
edit
dl
rm
ip6tables-apply
7052
0755
edit
dl
rm
ip6tables-legacy
95176
0755
edit
dl
rm
ip6tables-legacy-restore
95176
0755
edit
dl
rm
ip6tables-legacy-save
95176
0755
edit
dl
rm
ip6tables-nft
224424
0755
edit
dl
rm
ip6tables-nft-restore
224424
0755
edit
dl
rm
ip6tables-nft-save
224424
0755
edit
dl
rm
ip6tables-restore
224424
0755
edit
dl
rm
ip6tables-restore-translate
224424
0755
edit
dl
rm
ip6tables-save
224424
0755
edit
dl
rm
ip6tables-translate
224424
0755
edit
dl
rm
iptables
224424
0755
edit
dl
rm
iptables-apply
7052
0755
edit
dl
rm
iptables-legacy
95176
0755
edit
dl
rm
iptables-legacy-restore
95176
0755
edit
dl
rm
iptables-legacy-save
95176
0755
edit
dl
rm
iptables-nft
224424
0755
edit
dl
rm
iptables-nft-restore
224424
0755
edit
dl
rm
iptables-nft-save
224424
0755
edit
dl
rm
iptables-restore
224424
0755
edit
dl
rm
iptables-restore-translate
224424
0755
edit
dl
rm
iptables-save
224424
0755
edit
dl
rm
iptables-translate
224424
0755
edit
dl
rm
irqbalance
60272
0755
edit
dl
rm
irqbalance-ui
39304
0755
edit
dl
rm
iscsi-iname
18744
0755
edit
dl
rm
iscsiadm
379320
0755
edit
dl
rm
iscsid
293432
0755
edit
dl
rm
iscsistart
281080
0755
edit
dl
rm
iscsi_discovery
5293
0755
edit
dl
rm
isosize
14720
0755
edit
dl
rm
iucode-tool
55640
0755
edit
dl
rm
iucode_tool
55640
0755
edit
dl
rm
javacalls-bpfcc
55
0755
edit
dl
rm
javaflow-bpfcc
54
0755
edit
dl
rm
javagc-bpfcc
52
0755
edit
dl
rm
javaobjnew-bpfcc
56
0755
edit
dl
rm
javastat-bpfcc
54
0755
edit
dl
rm
javathreads-bpfcc
57
0755
edit
dl
rm
kbdrate
18752
0755
edit
dl
rm
killall5
26856
0755
edit
dl
rm
killsnoop-bpfcc
4554
0755
edit
dl
rm
killsnoop.bt
873
0755
edit
dl
rm
klockstat-bpfcc
13356
0755
edit
dl
rm
kpartx
43176
0755
edit
dl
rm
kvmexit-bpfcc
11461
0755
edit
dl
rm
ldattach
27008
0755
edit
dl
rm
ldconfig
387
0755
edit
dl
rm
ldconfig.real
1051280
0755
edit
dl
rm
llcstat-bpfcc
4584
0755
edit
dl
rm
loads.bt
1127
0755
edit
dl
rm
locale-gen
4316
0755
edit
dl
rm
logrotate
96504
0755
edit
dl
rm
logsave
14496
0755
edit
dl
rm
losetup
76304
0755
edit
dl
rm
lsmod
174328
0755
edit
dl
rm
luksformat
3401
0755
edit
dl
rm
lvchange
3156712
0755
edit
dl
rm
lvconvert
3156712
0755
edit
dl
rm
lvcreate
3156712
0755
edit
dl
rm
lvdisplay
3156712
0755
edit
dl
rm
lvextend
3156712
0755
edit
dl
rm
lvm
3156712
0755
edit
dl
rm
lvmconfig
3156712
0755
edit
dl
rm
lvmdiskscan
3156712
0755
edit
dl
rm
lvmdump
10364
0755
edit
dl
rm
lvmpolld
241632
0755
edit
dl
rm
lvmsadc
3156712
0755
edit
dl
rm
lvmsar
3156712
0755
edit
dl
rm
lvreduce
3156712
0755
edit
dl
rm
lvremove
3156712
0755
edit
dl
rm
lvrename
3156712
0755
edit
dl
rm
lvresize
3156712
0755
edit
dl
rm
lvs
3156712
0755
edit
dl
rm
lvscan
3156712
0755
edit
dl
rm
lxc
589
0755
edit
dl
rm
lxd
589
0755
edit
dl
rm
make-bcache
22912
0755
edit
dl
rm
mdadm
637144
0755
edit
dl
rm
mdflush-bpfcc
2295
0755
edit
dl
rm
mdflush.bt
775
0755
edit
dl
rm
mdmon
265016
0755
edit
dl
rm
memleak-bpfcc
21298
0755
edit
dl
rm
mkdosfs
52048
0755
edit
dl
rm
mke2fs
133752
0755
edit
dl
rm
mkfs
14720
0755
edit
dl
rm
mkfs.bfs
22912
0755
edit
dl
rm
mkfs.btrfs
573752
0755
edit
dl
rm
mkfs.cramfs
35144
0755
edit
dl
rm
mkfs.ext2
133752
0755
edit
dl
rm
mkfs.ext3
133752
0755
edit
dl
rm
mkfs.ext4
133752
0755
edit
dl
rm
mkfs.fat
52048
0755
edit
dl
rm
mkfs.minix
43408
0755
edit
dl
rm
mkfs.msdos
52048
0755
edit
dl
rm
mkfs.ntfs
67976
0755
edit
dl
rm
mkfs.vfat
52048
0755
edit
dl
rm
mkfs.xfs
449528
0755
edit
dl
rm
mkhomedir_helper
22872
0755
edit
dl
rm
mkinitramfs
15762
0755
edit
dl
rm
mklost+found
14648
0755
edit
dl
rm
mkntfs
67976
0755
edit
dl
rm
mkswap
51592
0755
edit
dl
rm
ModemManager
2165576
0755
edit
dl
rm
modinfo
174328
0755
edit
dl
rm
modprobe
174328
0755
edit
dl
rm
mount.fuse
18736
0755
edit
dl
rm
mount.fuse3
18736
0755
edit
dl
rm
mount.lowntfs-3g
121832
0755
edit
dl
rm
mount.ntfs
162824
0755
edit
dl
rm
mount.ntfs-3g
162824
0755
edit
dl
rm
mountsnoop-bpfcc
14968
0755
edit
dl
rm
mpathpersist
31960
0755
edit
dl
rm
multipath
35128
0755
edit
dl
rm
multipathc
18744
0755
edit
dl
rm
multipathd
145880
0755
edit
dl
rm
mysqld
55467944
0755
edit
dl
rm
mysqld_qslower-bpfcc
3125
0755
edit
dl
rm
naptime.bt
1035
0755
edit
dl
rm
needrestart
41092
0755
edit
dl
rm
netplan
802
0755
edit
dl
rm
netqtop-bpfcc
5725
0755
edit
dl
rm
newusers
89048
0755
edit
dl
rm
nfnl_osf
18736
0755
edit
dl
rm
nfsdist-bpfcc
5068
0755
edit
dl
rm
nfsslower-bpfcc
13939
0755
edit
dl
rm
nft
26856
0755
edit
dl
rm
nginx
1314168
0755
edit
dl
rm
nodegc-bpfcc
52
0755
edit
dl
rm
nodestat-bpfcc
54
0755
edit
dl
rm
nologin
14640
0755
edit
dl
rm
ntfsclone
51592
0755
edit
dl
rm
ntfscp
31104
0755
edit
dl
rm
ntfslabel
22912
0755
edit
dl
rm
ntfsresize
63888
0755
edit
dl
rm
ntfsundelete
51592
0755
edit
dl
rm
offcputime-bpfcc
13779
0755
edit
dl
rm
offwaketime-bpfcc
15676
0755
edit
dl
rm
on_ac_power
3788
0755
edit
dl
rm
oomkill-bpfcc
2084
0755
edit
dl
rm
oomkill.bt
1198
0755
edit
dl
rm
opensnoop-bpfcc
14581
0755
edit
dl
rm
opensnoop.bt
953
0755
edit
dl
rm
overlayroot-chroot
2510
0755
edit
dl
rm
ownership
14792
0755
edit
dl
rm
pam-auth-update
21465
0755
edit
dl
rm
pam_extrausers_chkpwd
26944
2755
edit
dl
rm
pam_extrausers_update
35136
0755
edit
dl
rm
pam_getenv
2890
0755
edit
dl
rm
pam_namespace_helper
467
0755
edit
dl
rm
pam_timestamp_check
14656
0755
edit
dl
rm
parted
96664
0755
edit
dl
rm
partprobe
14720
0755
edit
dl
rm
pdata_tools
1430568
0755
edit
dl
rm
perlcalls-bpfcc
55
0755
edit
dl
rm
perlflow-bpfcc
54
0755
edit
dl
rm
perlstat-bpfcc
54
0755
edit
dl
rm
php-fpm7.4
4803376
0755
edit
dl
rm
phpcalls-bpfcc
54
0755
edit
dl
rm
phpdismod
7278
0755
edit
dl
rm
phpenmod
7278
0755
edit
dl
rm
phpflow-bpfcc
53
0755
edit
dl
rm
phpquery
6389
0755
edit
dl
rm
phpstat-bpfcc
53
0755
edit
dl
rm
pidpersec-bpfcc
1111
0755
edit
dl
rm
pidpersec.bt
628
0755
edit
dl
rm
pivot_root
14720
0755
edit
dl
rm
plymouthd
150088
0755
edit
dl
rm
poweroff
1501304
0755
edit
dl
rm
ppchcalls-bpfcc
14224
0755
edit
dl
rm
profile-bpfcc
14756
0755
edit
dl
rm
pvchange
3156712
0755
edit
dl
rm
pvck
3156712
0755
edit
dl
rm
pvcreate
3156712
0755
edit
dl
rm
pvdisplay
3156712
0755
edit
dl
rm
pvmove
3156712
0755
edit
dl
rm
pvremove
3156712
0755
edit
dl
rm
pvresize
3156712
0755
edit
dl
rm
pvs
3156712
0755
edit
dl
rm
pvscan
3156712
0755
edit
dl
rm
pwck
55592
0755
edit
dl
rm
pwconv
47272
0755
edit
dl
rm
pwhistory_helper
22848
0755
edit
dl
rm
pwunconv
47272
0755
edit
dl
rm
pythoncalls-bpfcc
57
0755
edit
dl
rm
pythonflow-bpfcc
56
0755
edit
dl
rm
pythongc-bpfcc
54
0755
edit
dl
rm
pythonstat-bpfcc
56
0755
edit
dl
rm
rdmaucma-bpfcc
5073
0755
edit
dl
rm
readahead-bpfcc
6694
0755
edit
dl
rm
readprofile
22944
0755
edit
dl
rm
reboot
1501304
0755
edit
dl
rm
remove-shell
1111
0755
edit
dl
rm
reset-trace-bpfcc
3498
0755
edit
dl
rm
resize2fs
71992
0755
edit
dl
rm
resolvconf
162480
0755
edit
dl
rm
rmmod
174328
0755
edit
dl
rm
rmt
56024
0755
edit
dl
rm
rmt-tar
56024
0755
edit
dl
rm
rsyslogd
790192
0755
edit
dl
rm
rtacct
28992
0755
edit
dl
rm
rtcwake
35200
0755
edit
dl
rm
rtmon
119312
0755
edit
dl
rm
rubycalls-bpfcc
55
0755
edit
dl
rm
rubyflow-bpfcc
54
0755
edit
dl
rm
rubygc-bpfcc
52
0755
edit
dl
rm
rubyobjnew-bpfcc
56
0755
edit
dl
rm
rubystat-bpfcc
54
0755
edit
dl
rm
runlevel
1501304
0755
edit
dl
rm
runqlat-bpfcc
9526
0755
edit
dl
rm
runqlat.bt
788
0755
edit
dl
rm
runqlen-bpfcc
8248
0755
edit
dl
rm
runqlen.bt
1037
0755
edit
dl
rm
runqslower-bpfcc
9225
0755
edit
dl
rm
runuser
55680
0755
edit
dl
rm
service
9104
0755
edit
dl
rm
setcap
14648
0755
edit
dl
rm
setuids.bt
1799
0755
edit
dl
rm
setvesablank
14712
0755
edit
dl
rm
setvtrgb
14776
0755
edit
dl
rm
sfdisk
108928
0755
edit
dl
rm
sgdisk
182768
0755
edit
dl
rm
shadowconfig
2273
0755
edit
dl
rm
shmsnoop-bpfcc
7985
0755
edit
dl
rm
shutdown
1501304
0755
edit
dl
rm
slabratetop-bpfcc
6537
0755
edit
dl
rm
sofdsnoop-bpfcc
8255
0755
edit
dl
rm
softirqs-bpfcc
5723
0755
edit
dl
rm
solisten-bpfcc
6103
0755
edit
dl
rm
sshd
921416
0755
edit
dl
rm
ssllatency.bt
2133
0755
edit
dl
rm
sslsniff-bpfcc
14013
0755
edit
dl
rm
sslsnoop.bt
2041
0755
edit
dl
rm
stackcount-bpfcc
16655
0755
edit
dl
rm
start-stop-daemon
48632
0755
edit
dl
rm
statsnoop-bpfcc
5041
0755
edit
dl
rm
statsnoop.bt
1294
0755
edit
dl
rm
sudo_logsrvd
254464
0755
edit
dl
rm
sudo_sendlog
134832
0755
edit
dl
rm
sulogin
43392
0755
edit
dl
rm
swapin.bt
600
0755
edit
dl
rm
swaplabel
18816
0755
edit
dl
rm
swapoff
22912
0755
edit
dl
rm
swapon
43392
0755
edit
dl
rm
switch_root
22912
0755
edit
dl
rm
syncsnoop-bpfcc
1300
0755
edit
dl
rm
syncsnoop.bt
839
0755
edit
dl
rm
syscount-bpfcc
8771
0755
edit
dl
rm
syscount.bt
872
0755
edit
dl
rm
sysctl
31112
0755
edit
dl
rm
tarcat
936
0755
edit
dl
rm
tc
645200
0755
edit
dl
rm
tclcalls-bpfcc
54
0755
edit
dl
rm
tclflow-bpfcc
53
0755
edit
dl
rm
tclobjnew-bpfcc
55
0755
edit
dl
rm
tclstat-bpfcc
53
0755
edit
dl
rm
tcpaccept-bpfcc
9220
0755
edit
dl
rm
tcpaccept.bt
1756
0755
edit
dl
rm
tcpcong-bpfcc
20591
0755
edit
dl
rm
tcpconnect-bpfcc
18902
0755
edit
dl
rm
tcpconnect.bt
1615
0755
edit
dl
rm
tcpconnlat-bpfcc
9285
0755
edit
dl
rm
tcpdrop-bpfcc
7616
0755
edit
dl
rm
tcpdrop.bt
2469
0755
edit
dl
rm
tcplife-bpfcc
16949
0755
edit
dl
rm
tcplife.bt
2785
0755
edit
dl
rm
tcpretrans-bpfcc
14098
0755
edit
dl
rm
tcpretrans.bt
2120
0755
edit
dl
rm
tcprtt-bpfcc
8913
0755
edit
dl
rm
tcpstates-bpfcc
14064
0755
edit
dl
rm
tcpsubnet-bpfcc
7814
0755
edit
dl
rm
tcpsynbl-bpfcc
2175
0755
edit
dl
rm
tcpsynbl.bt
962
0755
edit
dl
rm
tcptop-bpfcc
12943
0755
edit
dl
rm
tcptracer-bpfcc
18130
0755
edit
dl
rm
telinit
1501304
0755
edit
dl
rm
thin_check
1430568
0755
edit
dl
rm
thin_delta
1430568
0755
edit
dl
rm
thin_dump
1430568
0755
edit
dl
rm
thin_ls
1430568
0755
edit
dl
rm
thin_metadata_size
1430568
0755
edit
dl
rm
thin_repair
1430568
0755
edit
dl
rm
thin_restore
1430568
0755
edit
dl
rm
thin_rmap
1430568
0755
edit
dl
rm
thin_trim
1430568
0755
edit
dl
rm
threadsnoop-bpfcc
1858
0755
edit
dl
rm
threadsnoop.bt
712
0755
edit
dl
rm
tipc
92688
0755
edit
dl
rm
tplist-bpfcc
4157
0755
edit
dl
rm
trace-bpfcc
43892
0755
edit
dl
rm
ttysnoop-bpfcc
7694
0755
edit
dl
rm
tune2fs
113216
0755
edit
dl
rm
ucalls
11970
0755
edit
dl
rm
uflow
8115
0755
edit
dl
rm
ufw
4959
0755
edit
dl
rm
ugc
7823
0755
edit
dl
rm
umount.udisks2
14640
0755
edit
dl
rm
undump.bt
789
0755
edit
dl
rm
unix_chkpwd
31040
2755
edit
dl
rm
unix_update
35136
0755
edit
dl
rm
uobjnew
6181
0755
edit
dl
rm
update-ca-certificates
5446
0755
edit
dl
rm
update-catalog
9393
0755
edit
dl
rm
update-grub
64
0755
edit
dl
rm
update-grub-gfxpayload
301
0755
edit
dl
rm
update-grub2
64
0755
edit
dl
rm
update-ieee-data
3492
0755
edit
dl
rm
update-info-dir
1700
0755
edit
dl
rm
update-initramfs
6908
0755
edit
dl
rm
update-locale
3057
0755
edit
dl
rm
update-passwd
35392
0755
edit
dl
rm
update-pciids
1778
0755
edit
dl
rm
update-rc.d
18147
0755
edit
dl
rm
update-secureboot-policy
7605
0755
edit
dl
rm
update-shells
3984
0755
edit
dl
rm
update-xmlcatalog
17284
0755
edit
dl
rm
upgrade-from-grub-legacy
1596
0755
edit
dl
rm
usb_modeswitch
61096
0755
edit
dl
rm
usb_modeswitch_dispatcher
27418
0755
edit
dl
rm
useradd
143232
0755
edit
dl
rm
userdel
93192
0755
edit
dl
rm
usermod
130712
0755
edit
dl
rm
ustat
12412
0755
edit
dl
rm
uthreads
4100
0755
edit
dl
rm
uuidd
31624
0755
edit
dl
rm
validlocale
1773
0755
edit
dl
rm
vcstime
14640
0755
edit
dl
rm
vdpa
35392
0755
edit
dl
rm
veritysetup
44992
0755
edit
dl
rm
vfscount-bpfcc
1390
0755
edit
dl
rm
vfscount.bt
515
0755
edit
dl
rm
vfsstat-bpfcc
4159
0755
edit
dl
rm
vfsstat.bt
721
0755
edit
dl
rm
vgcfgbackup
3156712
0755
edit
dl
rm
vgcfgrestore
3156712
0755
edit
dl
rm
vgchange
3156712
0755
edit
dl
rm
vgck
3156712
0755
edit
dl
rm
vgconvert
3156712
0755
edit
dl
rm
vgcreate
3156712
0755
edit
dl
rm
vgdisplay
3156712
0755
edit
dl
rm
vgexport
3156712
0755
edit
dl
rm
vgextend
3156712
0755
edit
dl
rm
vgimport
3156712
0755
edit
dl
rm
vgimportclone
3156712
0755
edit
dl
rm
vgmerge
3156712
0755
edit
dl
rm
vgmknodes
3156712
0755
edit
dl
rm
vgreduce
3156712
0755
edit
dl
rm
vgremove
3156712
0755
edit
dl
rm
vgrename
3156712
0755
edit
dl
rm
vgs
3156712
0755
edit
dl
rm
vgscan
3156712
0755
edit
dl
rm
vgsplit
3156712
0755
edit
dl
rm
vigr
62144
0755
edit
dl
rm
vipw
62144
0755
edit
dl
rm
virtiostat-bpfcc
8900
0755
edit
dl
rm
visudo
258776
0755
edit
dl
rm
vpddecode
14928
0755
edit
dl
rm
wakeuptime-bpfcc
8291
0755
edit
dl
rm
wipefs
39296
0755
edit
dl
rm
writeback.bt
1699
0755
edit
dl
rm
xfsdist-bpfcc
4723
0755
edit
dl
rm
xfsdist.bt
972
0755
edit
dl
rm
xfsslower-bpfcc
7964
0755
edit
dl
rm
xfs_admin
2174
0755
edit
dl
rm
xfs_bmap
695
0755
edit
dl
rm
xfs_copy
92608
0755
edit
dl
rm
xfs_db
705088
0755
edit
dl
rm
xfs_estimate
14504
0755
edit
dl
rm
xfs_freeze
800
0755
edit
dl
rm
xfs_fsr
43192
0755
edit
dl
rm
xfs_growfs
39152
0755
edit
dl
rm
xfs_info
1294
0755
edit
dl
rm
xfs_io
208536
0755
edit
dl
rm
xfs_logprint
80144
0755
edit
dl
rm
xfs_mdrestore
35048
0755
edit
dl
rm
xfs_metadump
816
0755
edit
dl
rm
xfs_mkfile
1040
0755
edit
dl
rm
xfs_ncheck
685
0755
edit
dl
rm
xfs_quota
92328
0755
edit
dl
rm
xfs_repair
658760
0755
edit
dl
rm
xfs_rtcp
18584
0755
edit
dl
rm
xfs_scrub
108816
0755
edit
dl
rm
xfs_scrub_all
7841
0755
edit
dl
rm
xfs_spaceman
43320
0755
edit
dl
rm
xtables-legacy-multi
95176
0755
edit
dl
rm
xtables-monitor
224424
0755
edit
dl
rm
xtables-nft-multi
224424
0755
edit
dl
rm
zerofree
14488
0755
edit
dl
rm
zfsdist-bpfcc
5427
0755
edit
dl
rm
zfsslower-bpfcc
8657
0755
edit
dl
rm
zic
67984
0755
edit
dl
rm
zramctl
55824
0755
edit
dl
rm
Edit:
/usr/sbin/cpuunclaimed-bpfcc
(14938B)
#! /usr/bin/python3 # @lint-avoid-python-3-compatibility-imports # # cpuunclaimed Sample CPU run queues and calculate unclaimed idle CPU. # For Linux, uses BCC, eBPF. # # This samples the length of the run queues and determine when there are idle # CPUs, yet queued threads waiting their turn. Report the amount of idle # (yet unclaimed by waiting threads) CPU as a system-wide percentage. # # This situation can happen for a number of reasons: # # - An application has been bound to some, but not all, CPUs, and has runnable # threads that cannot migrate to other CPUs due to this configuration. # - CPU affinity: an optimization that leaves threads on CPUs where the CPU # caches are warm, even if this means short periods of waiting while other # CPUs are idle. The wait period is tunale (see sysctl, kernel.sched*). # - Scheduler bugs. # # An unclaimed idle of < 1% is likely to be CPU affinity, and not usually a # cause for concern. By leaving the CPU idle, overall throughput of the system # may be improved. This tool is best for identifying larger issues, > 2%, due # to the coarseness of its 99 Hertz samples. # # This is an experimental tool that currently works by use of sampling to # keep overheads low. Tool assumptions: # # - CPU samples consistently fire around the same offset. There will sometimes # be a lag as a sample is delayed by higher-priority interrupts, but it is # assumed the subsequent samples will catch up to the expected offsets (as # is seen in practice). You can use -J to inspect sample offsets. Some # systems can power down CPUs when idle, and when they wake up again they # may begin firing at a skewed offset: this tool will detect the skew, print # an error, and exit. # - All CPUs are online (see ncpu). # # If this identifies unclaimed CPU, you can double check it by dumping raw # samples (-j), as well as using other tracing tools to instrument scheduler # events (although this latter approach has much higher overhead). # # This tool passes all sampled events to user space for post processing. # I originally wrote this to do the calculations entirerly in kernel context, # and only pass a summary. That involves a number of challenges, and the # overhead savings may not outweigh the caveats. You can see my WIP here: # https://gist.github.com/brendangregg/731cf2ce54bf1f9a19d4ccd397625ad9 # # USAGE: cpuunclaimed [-h] [-j] [-J] [-T] [interval] [count] # # If you see "Lost 1881 samples" warnings, try increasing wakeup_hz. # # REQUIRES: Linux 4.9+ (BPF_PROG_TYPE_PERF_EVENT support). Under tools/old is # a version of this tool that may work on Linux 4.6 - 4.8. # # Copyright 2016 Netflix, Inc. # Licensed under the Apache License, Version 2.0 (the "License") # # 20-Dec-2016 Brendan Gregg Created this. from __future__ import print_function from bcc import BPF, PerfType, PerfSWConfig from time import sleep, strftime import argparse import multiprocessing from os import getpid, system, open, close, dup, unlink, O_WRONLY from tempfile import NamedTemporaryFile # arguments examples = """examples: ./cpuunclaimed # sample and calculate unclaimed idle CPUs, # output every 1 second (default) ./cpuunclaimed 5 10 # print 5 second summaries, 10 times ./cpuunclaimed -T 1 # 1s summaries and timestamps ./cpuunclaimed -j # raw dump of all samples (verbose), CSV """ parser = argparse.ArgumentParser( description="Sample CPU run queues and calculate unclaimed idle CPU", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=examples) parser.add_argument("-j", "--csv", action="store_true", help="print sample summaries (verbose) as comma-separated values") parser.add_argument("-J", "--fullcsv", action="store_true", help="print sample summaries with extra fields: CPU sample offsets") parser.add_argument("-T", "--timestamp", action="store_true", help="include timestamp on output") parser.add_argument("interval", nargs="?", default=-1, help="output interval, in seconds") parser.add_argument("count", nargs="?", default=99999999, help="number of outputs") parser.add_argument("--ebpf", action="store_true", help=argparse.SUPPRESS) args = parser.parse_args() countdown = int(args.count) frequency = 99 dobind = 1 wakeup_hz = 10 # frequency to read buffers wakeup_s = float(1) / wakeup_hz ncpu = multiprocessing.cpu_count() # assume all are online debug = 0 # Linux 4.15 introduced a new field runnable_weight # in linux_src:kernel/sched/sched.h as # struct cfs_rq { # struct load_weight load; # unsigned long runnable_weight; # unsigned int nr_running, h_nr_running; # ...... # } # and this tool requires to access nr_running to get # runqueue len information. # # The commit which introduces cfs_rq->runnable_weight # field also introduces the field sched_entity->runnable_weight # where sched_entity is defined in linux_src:include/linux/sched.h. # # To cope with pre-4.15 and 4.15/post-4.15 releases, # we run a simple BPF program to detect whether # field sched_entity->runnable_weight exists. The existence of # this field should infer the existence of cfs_rq->runnable_weight. # # This will need maintenance as the relationship between these # two fields may change in the future. # def check_runnable_weight_field(): # Define the bpf program for checking purpose bpf_check_text = """ #include <linux/sched.h> unsigned long dummy(struct sched_entity *entity) { return entity->runnable_weight; } """ # Get a temporary file name tmp_file = NamedTemporaryFile(delete=False) tmp_file.close(); # Duplicate and close stderr (fd = 2) old_stderr = dup(2) close(2) # Open a new file, should get fd number 2 # This will avoid printing llvm errors on the screen fd = open(tmp_file.name, O_WRONLY) try: t = BPF(text=bpf_check_text) success_compile = True except: success_compile = False # Release the fd 2, and next dup should restore old stderr close(fd) dup(old_stderr) close(old_stderr) # remove the temporary file and return unlink(tmp_file.name) return success_compile # process arguments if args.fullcsv: args.csv = True if args.csv: interval = 0.2 if args.interval != -1 and (args.fullcsv or args.csv): print("ERROR: cannot use interval with either -j or -J. Exiting.") exit() if args.interval == -1: args.interval = "1" interval = float(args.interval) # define BPF program bpf_text = """ #include <uapi/linux/ptrace.h> #include <uapi/linux/bpf_perf_event.h> #include <linux/sched.h> struct data_t { u64 ts; u64 cpu; u64 len; }; BPF_PERF_OUTPUT(events); // Declare enough of cfs_rq to find nr_running, since we can't #import the // header. This will need maintenance. It is from kernel/sched/sched.h: // The runnable_weight field is removed from Linux 5.7.0 struct cfs_rq_partial { struct load_weight load; #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 7, 0) RUNNABLE_WEIGHT_FIELD #endif unsigned int nr_running, h_nr_running; }; int do_perf_event(struct bpf_perf_event_data *ctx) { int cpu = bpf_get_smp_processor_id(); u64 now = bpf_ktime_get_ns(); /* * Fetch the run queue length from task->se.cfs_rq->nr_running. This is an * unstable interface and may need maintenance. Perhaps a future version * of BPF will support task_rq(p) or something similar as a more reliable * interface. */ unsigned int len = 0; struct task_struct *task = NULL; struct cfs_rq_partial *my_q = NULL; task = (struct task_struct *)bpf_get_current_task(); my_q = (struct cfs_rq_partial *)task->se.cfs_rq; len = my_q->nr_running; struct data_t data = {.ts = now, .cpu = cpu, .len = len}; events.perf_submit(ctx, &data, sizeof(data)); return 0; } """ # If target has BTF enabled, use BTF to check runnable_weight field exists in # cfs_rq first, otherwise fallback to use check_runnable_weight_field(). if BPF.kernel_struct_has_field(b'cfs_rq', b'runnable_weight') == 1 \ or check_runnable_weight_field(): bpf_text = bpf_text.replace('RUNNABLE_WEIGHT_FIELD', 'unsigned long runnable_weight;') else: bpf_text = bpf_text.replace('RUNNABLE_WEIGHT_FIELD', '') # code substitutions if debug or args.ebpf: print(bpf_text) if args.ebpf: exit() # initialize BPF & perf_events b = BPF(text=bpf_text) # TODO: check for HW counters first and use if more accurate b.attach_perf_event(ev_type=PerfType.SOFTWARE, ev_config=PerfSWConfig.TASK_CLOCK, fn_name="do_perf_event", sample_period=0, sample_freq=frequency) if args.csv: if args.timestamp: print("TIME", end=",") print("TIMESTAMP_ns", end=",") print(",".join("CPU" + str(c) for c in range(ncpu)), end="") if args.fullcsv: print(",", end="") print(",".join("OFFSET_ns_CPU" + str(c) for c in range(ncpu)), end="") print() else: print(("Sampling run queues... Output every %s seconds. " + "Hit Ctrl-C to end.") % args.interval) samples = {} group = {} last = 0 # process event def print_event(cpu, data, size): event = b["events"].event(data) samples[event.ts] = {} samples[event.ts]['cpu'] = event.cpu samples[event.ts]['len'] = event.len exiting = 0 if args.interval else 1 slept = float(0) # Choose the elapsed time from one sample group to the next that identifies a # new sample group (a group being a set of samples from all CPUs). The # earliest timestamp is compared in each group. This trigger is also used # for sanity testing, if a group's samples exceed half this value. trigger = int(0.8 * (1000000000 / frequency)) # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: # allow some buffering by calling sleep(), to reduce the context switch # rate and lower overhead. try: if not exiting: sleep(wakeup_s) except KeyboardInterrupt: exiting = 1 b.perf_buffer_poll() slept += wakeup_s if slept < 0.999 * interval: # floating point workaround continue slept = 0 positive = 0 # number of samples where an idle CPU could have run work running = 0 idle = 0 if debug >= 2: print("DEBUG: begin samples loop, count %d" % len(samples)) for e in sorted(samples): if debug >= 2: print("DEBUG: ts %d cpu %d len %d delta %d trig %d" % (e, samples[e]['cpu'], samples[e]['len'], e - last, e - last > trigger)) # look for time jumps to identify a new sample group if e - last > trigger: # first first group timestamp, and sanity test g_time = 0 g_max = 0 for ge in sorted(group): if g_time == 0: g_time = ge g_max = ge # process previous sample group if args.csv: lens = [0] * ncpu offs = [0] * ncpu for ge in sorted(group): lens[samples[ge]['cpu']] = samples[ge]['len'] if args.fullcsv: offs[samples[ge]['cpu']] = ge - g_time if g_time > 0: # else first sample if args.timestamp: print("%-8s" % strftime("%H:%M:%S"), end=",") print("%d" % g_time, end=",") print(",".join(str(lens[c]) for c in range(ncpu)), end="") if args.fullcsv: print(",", end="") print(",".join(str(offs[c]) for c in range(ncpu))) else: print() else: # calculate stats g_running = 0 g_queued = 0 for ge in group: if samples[ge]['len'] > 0: g_running += 1 if samples[ge]['len'] > 1: g_queued += samples[ge]['len'] - 1 g_idle = ncpu - g_running # calculate the number of threads that could have run as the # minimum of idle and queued if g_idle > 0 and g_queued > 0: if g_queued > g_idle: i = g_idle else: i = g_queued positive += i running += g_running idle += g_idle # now sanity test, after -J output g_range = g_max - g_time if g_range > trigger / 2: # if a sample group exceeds half the interval, we can no # longer draw conclusions about some CPUs idle while others # have queued work. Error and exit. This can happen when # CPUs power down, then start again on different offsets. # TODO: Since this is a sampling tool, an error margin should # be anticipated, so an improvement may be to bump a counter # instead of exiting, and only exit if this counter shows # a skewed sample rate of over, say, 1%. Such an approach # would allow a small rate of outliers (sampling error), # and, we could tighten the trigger to be, say, trigger / 5. # In the case of a power down, if it's detectable, perhaps # the tool could reinitialize the timers (although exiting # is simple and works). print(("ERROR: CPU samples arrived at skewed offsets " + "(CPUs may have powered down when idle), " + "spanning %d ns (expected < %d ns). Debug with -J, " + "and see the man page. As output may begin to be " + "unreliable, exiting.") % (g_range, trigger / 2)) exit() # these are done, remove for ge in sorted(group): del samples[ge] # begin next group group = {} last = e # stash this timestamp in a sample group dict group[e] = 1 if not args.csv: total = running + idle unclaimed = util = 0 if debug: print("DEBUG: hit %d running %d idle %d total %d buffered %d" % ( positive, running, idle, total, len(samples))) if args.timestamp: print("%-8s " % strftime("%H:%M:%S"), end="") # output if total: unclaimed = float(positive) / total util = float(running) / total print("%%CPU %6.2f%%, unclaimed idle %0.2f%%" % (100 * util, 100 * unclaimed)) countdown -= 1 if exiting or countdown == 0: exit()
Save
cmd:
run