Bottom wordt aangeprezen als een aanpasbare cross-platform grafische proces/systeem monitor voor de terminal. Het hulpprogramma is geïnspireerd op de gtop, gotop en htop hulpprogramma's die bekend zullen zijn bij ervaren Linux gebruikers. De naam is een woordspeling op deze van het hulpprogramma top, wat in de Linux wereld nog gebruikt wordt, denk aan de opdrachten more en less.
Het project biedt een officieel deb-pakket voor Debian/Ubuntu (Intel/AMD en ARM architecturen), evenals een pakket voor Arch. De meest recente versie kan je downloaden van de Release Github webpagina van de ontwikkelaar. Via de terminal kan je de momenteel recenste versie downloaden met de volgende opdracht:
dany@pindabook:~$ wget https://github.com/ClementTsang/bottom/releases/download/0.10.2/bottom_0.10.2-1_amd64.deb
--2025-03-09 16:20:47-- https://github.com/ClementTsang/bottom/releases/download/0.10.2/bottom_0.10.2-1_amd64.deb
Herleiden van github.com (github.com)... 140.82.121.3
Verbinding maken met github.com (github.com)|140.82.121.3|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://objects.githubusercontent.com/github-production-release-asset-2e65be/205042455/67a08c1f-026d-476a-bc70-f89ab5d93ff1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250309T152047Z&X-Amz-Expires=300&X-Amz-Signature=43388f1a825bc81779673f5359dc0732f371e2c9f843ddd1104fef73761f3086&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dbottom_0.10.2-1_amd64.deb&response-content-type=application%2Foctet-stream [volgen...]
--2025-03-09 16:20:47-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/205042455/67a08c1f-026d-476a-bc70-f89ab5d93ff1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250309T152047Z&X-Amz-Expires=300&X-Amz-Signature=43388f1a825bc81779673f5359dc0732f371e2c9f843ddd1104fef73761f3086&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dbottom_0.10.2-1_amd64.deb&response-content-type=application%2Foctet-stream
Herleiden van objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...
Verbinding maken met objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 1441280 (1,4M) [application/octet-stream]
Wordt opgeslagen als: ‘bottom_0.10.2-1_amd64.deb’
bottom_0.10.2-1_amd64.deb 100%[==============================================>] 1,37M --.-KB/s in 0,1s
2025-03-09 16:20:47 (12,9 MB/s) - '‘bottom_0.10.2-1_amd64.deb’' opgeslagen [1441280/1441280]
Het gedownloade softwarepakket installeer je met:
dany@pindabook:~$ sudo dpkg -i bottom_0.10.2-1_amd64.deb
[sudo] wachtwoord voor root:
Voorheen niet geselecteerd pakket bottom wordt geselecteerd.
(Database wordt ingelezen ... 175048 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van bottom_0.10.2-1_amd64.deb wordt voorbereid...
Bezig met uitpakken van bottom (0.10.2-1) ...
Instellen van bottom (0.10.2-1) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.26-1) ...
Bezig met afhandelen van triggers voor mailcap (3.70+nmu1) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Start Bottom met de btm
opdracht:
dany@pindabook:~$ btm
Ik heb het terminalvenster aangepast aan de beschikbare breedte van het scherm, zodat meer informatie wordt weergegeven. Laat Bottom terwijl je op het systeem werkt een tijdje gegevens verzamelen. Je krijgt dan een scherm dat er ongeveer zo uitziet:
Laten we de widgets doorlopen. Bovenaan staat de CPU-widget die het CPU-gebruik over alle cores laat zien. Het tijdsbereik kan worden aangepast van 30s tot 600s. Het vak ernaast vertelt ons dat we Bottom testen op een machine met 4 cores. We kunnen individuele cores in de gaten houden door omhoog en omlaag te bewegen in de CPU-lijst, of het gemiddelde (AVG) CPU-gebruik.
Onder de CPU-widget staat de Geheugen-widget die een visuele weergave geeft van het RAM-geheugen. Het toont ook het gebruik van swap geheugen. Ook hier kan het tijdsbereik worden aangepast met een bereik van 30s tot 600s. Daarnaast zijn er widgets die de systeemtemperaturen en schijven weergeven. De widget voor de schijven toont zoveel mogelijk informatie, afhankelijk van de breedte van de terminal. Er zijn kolommen voor koppelpunt (Mount), gebruikte ruimte (Used), vrije ruimte (Free), totaal (Total), % gebruikte ruimte (Used%), lezen per seconde (R/s) en schrijven per seconde (W/s). Om alle informatie van een widget te bekijken, selecteer je de widget met de muis of met de sneltoetsen Shift samen met de pijltoetsen. De geselecteerde widget heeft een blauwe rand. Daarna druk je op de sneltoets e om enkel de geselecteerde widget met alle informatie weer te geven. De e staat voor Expand. Druk nogmaals e om terug te keren naar het hoofdscherm.
De onderste widgets tonen netwerkactiviteit en een proceslijst. De proceslijst toont voor elke voortgang het CPU-gebruik (CPU%), geheugengebruik (Mem%), lezen per seconde (R/s), schrijven per seconde (W/s), totaal lezen (T.Read), totaal schrijven (T.Read), de gebruiker (User) van het proces, de status (State) en hoelang het proces al actief is (Time). Het spreekt voor zich dat al deze informatie pas zichtbaar is als je enkel de Processes widget weergeeft (e)
┌ Processes ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Esc to go back ┐
│PID(p) Name(n) CPU%(c)▼ Mem%(m) R/s W/s T.Read T.Write User State Time │
│ │
│493 irq/48-rmi4_smbus 0.5% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 12.… │
│830 Xorg 0.5% 1.5% 0B/s 0B/s 0B 0B root Sleeping 34m 11.… │
│1102 kwin_x11 0.5% 2.1% 0B/s 0B/s 12MB 66KB dany Sleeping 34m 7.0… │
│2711 konsole 0.5% 2.1% 0B/s 0B/s 5MB 147KB dany Sleeping 26m 50.… │
│2737 btm 0.5% 0.1% 0B/s 0B/s 16KB 0B dany Sleeping 26m 43.… │
│1411 plasmashell 0.2% 4.1% 0B/s 0B/s 78MB 14MB dany Sleeping 34m 6.0… │
│1 systemd 0.0% 0.2% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│2 kthreadd 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│3 rcu_gp 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│4 rcu_par_gp 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│5 slub_flushwq 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│6 netns 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│8 kworker/0:0H-events_highpri 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│10 mm_percpu_wq 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│11 rcu_tasks_kthread 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│12 rcu_tasks_rude_kthread 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│13 rcu_tasks_trace_kthread 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│14 ksoftirqd/0 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│15 rcu_preempt 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│16 migration/0 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│18 cpuhp/0 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│19 cpuhp/1 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│20 migration/1 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│21 ksoftirqd/1 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│23 kworker/1:0H-events_highpri 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│24 cpuhp/2 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│25 migration/2 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│26 ksoftirqd/2 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
│28 kworker/2:0H-events_highpri 0.0% 0.0% 0B/s 0B/s 0B 0B root Idle 34m 17.… │
│29 cpuhp/3 0.0% 0.0% 0B/s 0B/s 0B 0B root Sleeping 34m 17.… │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Er is ook een batterij-widget beschikbaar die informatie geeft over de batterijen op het systeem: oplaadpercentage (Charge), verbruik (Rate), tijd tot leeg/opladen (Time to ...) en het gezondheidspercentage van de batterij (Health). De widget ondersteunt apparaten met meer dan 1 batterij en wordt enkel weergegeven als je Bottom opstart met de volgende opdracht:
dany@pindabook:~$ btm --battery
Om de sneltoetsen te leren, druk je op ? om ze weer te geven. Er zijn algemene sneltoetsen en specifieke sneltoetsen voor elke widget. Hieronder zien we het bovenste deel van de helppagina:
┌ Help ────────────────────────────────────────────────────────── Esc to close ┐
│Either scroll or press the number key to go to the corresponding help menu │
│section: │
│1 - General │
│2 - CPU widget │
│3 - Process widget │
│4 - Process search widget │
│5 - Process sort widget │
│6 - Temperature widget │
│7 - Disk widget │
│8 - Battery widget │
│9 - Basic memory widget │
│ │
│1 - General │
│q, Ctrl-c Quit │
│Esc Close dialog windows, search, widgets, or exit expanded mode │
│Ctrl-r Reset display and any collected data │
│f Freeze/unfreeze updating with new data │
│Ctrl-Left, │
│Shift-Left, Move widget selection left │
│H, A │
│Ctrl-Right, │
│Shift-Right, Move widget selection right │
│L, D │
│Ctrl-Up, │
│Shift-Up, Move widget selection up │
│K, W │
│Ctrl-Down, │
│Shift-Down, Move widget selection down │
│J, S │
│Left, h Move left within widget │
│Down, j Move down within widget │
│Up, k Move up within widget │
└──────────────────────────────────────────────────────────────────────────────┘
Hieruit kan je afleiden dat je met de sneltoets q (Quit) Bottom kunt afsluiten.
dany@pindabook:~$ sudo apt purge bottom
[sudo] wachtwoord voor root:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
bottom*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 43 niet opgewaardeerd.
Na deze bewerking zal er 4.811 kB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n]
(Database wordt ingelezen ... 175808 bestanden en mappen momenteel geïnstalleerd.)
bottom (0.10.2-1) wordt verwijderd ...
Bezig met afhandelen van triggers voor gnome-menus (3.36.0-1.1) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Bezig met afhandelen van triggers voor mailcap (3.70+nmu1) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.26-1) ...
dany@pindabook:~$ sudo apt autoremove
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
libdaxctl1 libndctl6 libpmem1 linux-image-6.1.0-30-amd64
0 opgewaardeerd, 0 nieuw geïnstalleerd, 4 te verwijderen en 0 niet opgewaardeerd.
Na deze bewerking zal er 409 MB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n]
(Database wordt ingelezen ... 180746 bestanden en mappen momenteel geïnstalleerd.)
libpmem1:amd64 (1.12.1-2) wordt verwijderd ...
libndctl6:amd64 (76.1-1) wordt verwijderd ...
libdaxctl1:amd64 (76.1-1) wordt verwijderd ...
linux-image-6.1.0-30-amd64 (6.1.124-1) wordt verwijderd ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-6.1.0-30-amd64
/etc/kernel/postrm.d/zz-update-grub:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-6.1.0-32-amd64
Found initrd image: /boot/initrd.img-6.1.0-32-amd64
Found linux image: /boot/vmlinuz-6.1.0-31-amd64
Found initrd image: /boot/initrd.img-6.1.0-31-amd64
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Bezig met afhandelen van triggers voor libc-bin (2.36-9+deb12u10) ...
dany@pindabook:~$ rm -r .config/bottom
dany@pindabook:~$ rm bottom_0.10.2-1_amd64.deb