Tips en Trucs 2025

Bottom, een grafische proces-/systeemmonitor voor de terminal

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.

Bottom installeren

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) ...

Bottom gebruiken

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:

Bottom

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.

Bottom verwijderen