---
name: "vfscount.bt.bt"
section: "8"
platform: "linux"
package: "bpftrace"
version: "0.17.0-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/vfscount.bt.bt"
---

# vfscount.bt.bt(8)

Count VFS calls ("vfs\_\*"). Uses bpftrace/eBPF.

## NAME

vfscount.bt - Count VFS calls ("vfs\_\*"). Uses bpftrace/eBPF.

## SYNOPSIS

**vfscount.bt**

## DESCRIPTION

This counts VFS calls. This can be useful for general workload characterization of these operations.

This works by tracing all kernel functions beginning with "vfs\_" using dynamic tracing. This may match more functions than you are interested in measuring: Edit the script to customize which functions to trace.

Since this uses BPF, only the root user can use this tool.

## REQUIREMENTS

CONFIG\_BPF and bpftrace.

## EXAMPLES

- Count all VFS calls until Ctrl-C is hit:

  \# **vfscount.bt**

## FIELDS

- 1st

  Kernel function name (in @\[\])

- 2nd

  Number of calls while tracing

## OVERHEAD

This traces kernel vfs functions and maintains in-kernel counts, which are asynchronously copied to user-space. While the rate of VFS operations can be very high (\>1M/sec), this is a relatively efficient way to trace these events, and so the overhead is expected to be small for normal workloads. Measure in a test environment, and if overheads are an issue, edit the script to reduce the types of vfs functions traced (currently all beginning with "vfs\_").

## SOURCE

This is from bpftrace.

-

  https://github.com/iovisor/bpftrace

Also look in the bpftrace distribution for a companion \_examples.txt file containing example usage, output, and commentary for this tool.

This is a bpftrace version of the bcc tool of the same name. The bcc tool may provide more options and customizations.

-

  https://github.com/iovisor/bcc

## OS

Linux

## STABILITY

Unstable - in development.

## AUTHOR

Brendan Gregg

## SEE ALSO

[vfsstat.bt(8)](/vfsstat.bt/8.md)
