Hi,

I'm looking for a FLOSS way to have hardware resources usage ( cpu, mem, storage, network, etc.. ) over time ?

Any lightweight solution suggestion ?

It can be TUI or GUI ( XFCE )

It could be nice also to can filter result/graph by process, user etc..

Thanks

all 17 comments

sorted by: hot top controversial new old
[–] 7 points 11 months ago* (1 child)

Here's an actual answer, a system monitor with historical data: https://beszel.dev/

It's a webUI but that shouldn't really matter vs an app with its own GUI.

  • source
  • hideshow 1 child comment
  • [–] 7 points 11 months ago (3 children)
  • [–] 6 points 11 months ago (2 children)

    Forgot to mention, there are ways to build reports from the sar output - which would give you a chance to filter the logs.

    https://www.cyberciti.biz/tips/identifying-linux-bottlenecks-sar-graphs-with-ksar.html

    Ahh - yes - I haven't looked at this for a long time -- the sysstat and ksar packages.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 3 points 11 months ago (1 child)

    Thank you @Unattributed@feddit.online

    Sar is the old school way
    I haven’t looked at this for a long time

    Are you sill yourself using sar ?

    I see that https://github.com/vlsi/ksar require java 😭 ! is there a way to have this run contained ? ( .appimage or something else ? )

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 11 months ago

    I haven't used sar in over 10 years. I used to use it to monitor resource usage of jobs that I was running while I was at work. Now that I look back, I was using isag (no longer maintained) to generate reports for me.

    I would think it should be possible to package ksar in an appimage or docker container - but I don't know if one exists.

    But - there is a newer option:

    sadf -g your_datafile [ -- sar_options ] > output.svg

    This is part of the sysstat package - no need to install anything else, and no java. sadf allows you to make graphs that you can view in your browser. Check the man file for sadf for more information. (Can't comment any further on this since I haven't used it.)

  • source
  • parent
  • [–] 2 points 11 months ago
    [–] 2 points 11 months ago

    https://github.com/cockpit-project/cockpit with https://github.com/performancecopilot/pcp gives metrics but too little compared to what you are asking for. The historical data is simply cpu usage, memory usage, disk i/o and network usage.
    pcp can also be used with grafana. https://grafana.com/grafana/plugins/performancecopilot-pcp-app/

    Cockpit example:

  • source
  • [–] 2 points 11 months ago (1 child)

    Uh, what about gnome-system-monitor?

  • source
  • hideshow 1 child comment
  • [–] 2 points 11 months ago* (1 child)

    If you don't mind a web UI, Netdata is great. It collects a bunch of metrics once per second and can retain them for a long period of time. The web UI is pretty good. Their Github readme links to some example servers so you can try it out first. Just click the link to use it without an account (that's optional).

    It's mainly designed for servers, but there's no reason you couldn't run it on a client system. They're focusing a lot on AI/ML-based anomaly detection as well as their cloud offering at the moment, but you don't have to use either and can just stick to the open-source agent.

  • source
  • hideshow 1 child comment
  • [–] 2 points 11 months ago (2 children)

    btop? it's pretty customizable, if a bit too flashy (by default) to my liking. https://github.com/aristocratos/btop - should be available on repositories for most distros.

  • source
  • hideshow 2 child comments
  • [–] 2 points 11 months ago* (1 child)

    You may have a bit of a hard time finding something that's completely FLOSS that's not on the older side (the sar visualizer being a Java desktop application being a consequence of that age). There are various ways to dump resource usage into a time series database like Prometheus (Apache2), InfluxDB (Apache2/MIT), or VictoriaMetrics (Apache2) and then visualize it with a frontend (Grafana, APGL). The database is going to be the tricky part. All of the time series DBs I'm aware of are permissively licensed. Grafana may be a good fit for you, however. It's written in Go so it's relatively light, although it obviously requires a browser to interact with.

  • source
  • hideshow 1 child comment