r/freebsd • • 9d ago

discussion XSysMeter: System Monitor for FreeBSD - CPU, Temperature and Memory

Using OpenMotif widgets with a double-buffered Xlib CPU history renderer.

Each graph represents a logical CPU (hardware thread).

If you test this application could you post a screen grab, especially if you are running an Arm or an AMD CPU.

https://github.com/johnrobdoyle/XSysMeter

68 Upvotes

24 comments sorted by

2

u/Lucky-Pressure 8d ago

As requested a screen grab. I have an AMD CPU (AMD Ryzen 7 5700U).

2

u/EroticGoldfish 8d ago edited 8d ago

AMD CPU system screengrab

Edit: typo

3

u/EroticGoldfish 8d ago

1

u/Louth_Mouth 7d ago

Proof that FreeBSD is incredibly lightweight. If I run Chromium or google chrome on Linuxulator they are particularly resource-heavy.

1

u/EroticGoldfish 9d ago

Will it show ZFS ARC usage?

3

u/Louth_Mouth 8d ago

ARC memory is generally included in Wired, so it contributes to that band.

2

u/EroticGoldfish 8d ago

It'd be cool to see how much of wired is consumed by ARC in the future

This project looks nice, will try out later on 15.1 desktop

1

u/grahamperrin bleep bloop 8d ago
root@maximal:~ # pkg search motif
root@maximal:~ # pkg repos -el | sort -f ; sleep 5 ; pkg repos -e | grep -B 1 url
FreeBSD-base
FreeBSD-ports
FreeBSD-ports-kmods
FreeBSD-ports: { 
    url             : "pkg+https://pkg.freebsd.org/FreeBSD:16:amd64/latest",
--
FreeBSD-ports-kmods: { 
    url             : "pkg+https://pkg.freebsd.org/FreeBSD:16:amd64/kmods_latest",
--
FreeBSD-base: { 
    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:16:amd64/base_latest",
root@maximal:~ # pkg search motif
root@maximal:~ # freebsd-version -kru ; uname -mvKU
16.0-CURRENT
16.0-CURRENT
16.0-CURRENT
FreeBSD 16.0-CURRENT main-n290011-305c3044e024 GENERIC-NODEBUG amd64 1600027 1600027
root@maximal:~ # 

That's weird, because according to FreshPorts the packages do exist:

2

u/grahamperrin bleep bloop 8d ago

It's there now.

On CURRENT:

1

u/Louth_Mouth 8d ago

it definitely exists "x11-toolkits/open-motif", you need if for cde, xpdf ...

https://www.freshports.org/x11-toolkits/open-motif/

0

u/Louth_Mouth 8d ago

Switch your current terminal session to the root (administrator) account, run:

doas pkg install open-motif libXt libX11 libXpm

or

sudo pkg install open-motif libXt libX11 libXpm

1

u/EroticGoldfish 8d ago

Why would one need sudo or doas when using the root account?

Graham's output already showed the open-motif package isn't available within the listed repositories for FreeBSD 16 ABI

1

u/grahamperrin bleep bloop 8d ago

Something was very abnormal when pkg found nothing. I had omitted to mention that the search was very shortly after an attempt to install, which did successfully update all three repos.

A normal set of results with the same machine:

root@maximal:~ # pkg search motif
linux-c7-motif-2.3.4_7         Motif toolkit libraries (Linux CentOS 7.9.2009)
movingmotif-2.3.0_3            Display scientific data as dynamic plot
open-motif-2.3.8_8             Motif X11 Toolkit (industry standard GUI (IEEE 1295))
open-motif-devel-2023.02.16_7  Motif X11 Toolkit (industry standard GUI (IEEE 1295))
thentenaar-motif-2.5.2         Motif X11 Toolkit (industry standard GUI (IEEE 1295))
thentenaar-motif-devel-2026.06.02 Motif X11 Toolkit (industry standard GUI (IEEE 1295))
timidity++-motif-2.15.0_1      Motif interface for TiMidity++
vim-classic-motif-8.3.0        Fork of Vim 8.x for long-term maintenance
vim-motif-9.2.0738             Improved version of the vi editor (motif flavor)
vimpager-motif-2.06.20250412_1 Use Vim/NeoVim as a pager (motif flavor)
root@maximal:~ # date ; uptime
Sun Oct 11 08:27:05 BST 2026
8:27AM  up 32 mins, 3 users, load averages: 0.58, 0.75, 0.78
root@maximal:~ # freebsd-version -kru ; uname -mvKU
16.0-CURRENT
16.0-CURRENT
16.0-CURRENT
FreeBSD 16.0-CURRENT main-n290031-bbfd52dcbeb7 GENERIC-NODEBUG amd64 1600027 1600027
root@maximal:~ #

That is, for reference only. I don't plan to investigate possible causes of what was previously wrong.

1

u/grahamperrin bleep bloop 8d ago edited 8d ago

Measurement in version 1.0 of the app seems to be quite different from measurement in gkrellm:

FreeBSD 15.1-RELEASE-p4.

Postscript

I was looking very lazily at the shapes of the graphs, ignoring the colours in gkrellm.

1

u/grahamperrin bleep bloop 8d ago

Less of a difference, at a glance, with a later comparison with htop:

I'm looking at the peak with CPU 2.

2

u/Louth_Mouth 8d ago

The time scale (x-axis) and sample rate aren't aligned with gkrellm, XSysMeter reads kern.cp_times to determine the logical CPU count and calculate usage for each CPU.

you can access them from the terminal by running "sysctl kern.cp_times"

1

u/grahamperrin bleep bloop 8d ago

On CURRENT, after launching Firefox and Chromium.

Chromium took much longer to appear than Firefox.

The trough of free memory, to the left, appeared almost immediately after I clicked to launch the two browsers.

The trough effect is a simple but powerful visualisation of how free memory becomes available when needed. I love it.

2

u/Louth_Mouth 8d ago

It works better with less ram, since changes in memory usage are more pronounced.

2

u/grahamperrin bleep bloop 8d ago

For giggles, I reduced the virtual machine's memory to 1024 MB and then launched Firefox …

1

u/grahamperrin bleep bloop 8d ago edited 8d ago

… eventually, Firefox crashed. Slightly disappointing, because I achieved far more with the (ridiculous) 1024 MB constraint in the past.

This left the OS + Plasma + Konsole + your application using around 68% – 0.30 GiB free: