Giter Site home page Giter Site logo

fraubsd / nfsdtop Goto Github PK

View Code? Open in Web Editor NEW
35.0 5.0 3.0 335 KB

Display top I/O on NFS servers using bpftrace on Linux and DTrace on FreeBSD

License: BSD 2-Clause "Simplified" License

Shell 92.85% Makefile 6.53% JavaScript 0.62%
fraubsd nfs-servers bpftrace dtrace nfs nfsv4 nfsv3

nfsdtop's Issues

nfsdtop.linux does not count NFS4 write traffic

I think I have found a bug in nfsdtop.linux: It currently does not count any NFS4 write traffic.

Looking at the code, I see the following in kprobe:nfsd4_write:

@nfsd4_write_count[tid] = $nfsd4_write->wr_bytes_written;

That seems wrong. When the write function is entered, obviously 0 bytes have been written so far. We would need to read wr_bytes_written when the function returns instead, it will always contain 0 before the function runs.

As a workaround, I tried resorting to $nfsd4_write->wr_buflen instead. That does yield results that look far more in line with the actual network and disc traffic of the server I tried this on - but obviously it is prone to overcounting if not all bytes are written, e.g. because the user exceeded the quota. I'm unsure if there is a better fix, otherwise I'd propose a patch.

Thanks for this great tool!

ERROR: Could not resolve symbol: /proc/self/exe:BEGIN_trigger

I'm running nfsdtop on Linux (with sudo nfsdtop) and I'm getting the following error:

Interval: 2.000s                                                               Mon 19 Dec 2022 02:53:27 PM UTC
USER                   TOTAL    WRITE(IN)                            |                            READ(OUT)
INFO Waiting for bpftrace to initialize...
ERROR: Could not resolve symbol: /proc/self/exe:BEGIN_trigger

It's a virtual machine. Linux kernel version is 5.15.0-30-generic.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.