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
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.
Sar is the old school way to keep a rolling log of used resources:
https://www.networkworld.com/article/969982/checking-linux-system-performance-with-sar.html
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.
Thank you @Unattributed@feddit.online
Sar is the old school way
I haven’t looked at this for a long timeAre 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 ? )
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.)
Uh, what about gnome-system-monitor?
It doesnt graph over time really, it only does it while open and loses the data if you close it.
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.
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.
I just try, but the UI is not
FLOSSand it confusing. not for me. but thank for the feedback
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:

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.
Thank @Malix@sopuli.xyz
Does
btoprecord uid, pid in it’s csv output ?I don’t think btop even records to any output file, it’s more of a “taskmanager with graphs” than a logging utility.
Atop, btop, htop, top.
If that’s not good enough sar.
If that’s not good enough, set up cacti.
When you realize none of that stuff is actually helping you, journalctl and grep.








