Tips en Trucs 2015

Weergave van uitvoer vernieuwen

Opdrachten zoals top vernieuwen de weergave periodiek. Daardoor kan je de gebeurtenissen op een systeem op de voet volgen. De meeste opdrachten vernieuwen hun weergave echter niet, ze verzamelen gegevens, verwerken ze en geven ze één keer weer. Om een systeem op de voet te volgen, is het handiger dat een opdracht in een lus wordt uitgevoerd, waarbij de uitvoer telkens opnieuw wordt weergegeven. Dit kan met een script, maar de gegevens zonder veel overlast (bijvoorbeeld scrollen of flikkering) weergeven, wordt een lastige klus. De watch opdracht lost dit voor ons op.

De volgende opdracht toont ons het geheugengebruik van het systeem:

dany@linux-cj0r:~> free
             total       used       free     shared    buffers     cached
Mem:       8104772    2495808    5608964      60960       4296    1908600
-/+ buffers/cache:     582912    7521860
Swap:            0          0          0

Om het geheugengebruik te blijven volgen, gebruik je de opdracht:

dany@linux-cj0r:~> watch free

De terminal wordt schoongeveegd en toont nu de volgende uitvoer:

Every 2,0s: free                                        Sat Sep 12 19:03:02 2015

             total       used       free     shared    buffers     cached
Mem:       8104772    2501040    5603732      60960       4296    1910692
-/+ buffers/cache:     586052    7518720
Swap:            0          0          0

Om de twee seconden wordt de free opdracht opnieuw uitgevoerd en krijgen we nieuwe waarden op het scherm. Dit gaat door tot je de opdracht met de toetscombinatie Ctrl+C afbreekt. Het oorspronkelijke terminalvenster wordt daarbij hersteld.

Voor systeembelastende opdrachten kan je de herhalingsfrequentie verlagen door een langere intervaltijd in te stellen. Deze intervaltijd stel je in met de optie -n. Om om de minuut het schijfgebruik weer te geven, gebruik je de opdracht:

dany@linux-cj0r:~> watch -n 60 df -h

en het resultaat:

Every 60,0s: df -h                                      Sat Sep 12 19:14:47 2015

Bestandssysteem Grootte Gebruikt Besch Geb% Aangekoppeld op
/dev/sda6           40G      14G   25G  37% /
devtmpfs           3,9G        0  3,9G   0% /dev
tmpfs              3,9G     1,1M  3,9G   1% /dev/shm
tmpfs              3,9G     2,4M  3,9G   1% /run
tmpfs              3,9G        0  3,9G   0% /sys/fs/cgroup
/dev/sda6           40G      14G   25G  37% /.snapshots
/dev/sda9          1,1G      73M  848M   8% /boot
/dev/sda8           38G      36G  2,5G  94% /var/backup
/dev/sda2          256M      57M  200M  23% /boot/efi
/dev/sda6           40G      14G   25G  37% /var/tmp
/dev/sda7           66G      19G   45G  29% /usr/home/Documents
/dev/sda4           74G      26G   48G  35% /windows/C
/dev/sda6           40G      14G   25G  37% /tmp
/dev/sda6           40G      14G   25G  37% /opt
/dev/sda6           40G      14G   25G  37% /var/spool
/dev/sda6           40G      14G   25G  37% /var/opt
/dev/sda6           40G      14G   25G  37% /var/log
/dev/sda6           40G      14G   25G  37% /var/lib/named
/dev/sda6           40G      14G   25G  37% /var/lib/pgsql
/dev/sda6           40G      14G   25G  37% /var/crash
/dev/sda6           40G      14G   25G  37% /var/lib/mailman
/dev/sda6           40G      14G   25G  37% /usr/local
/dev/sda6           40G      14G   25G  37% /srv
/dev/sda6           40G      14G   25G  37% /home

Let op het feit dat Btrfs systemen met snapshots werken (14 GB) en subvolumes (meerdere koppelpunten op één partitie naar meerdere mappen).

Om het geheugengebruik gedetailleerder te volgen, gebruik je de opdracht:

dany@linux-cj0r:~> watch -d=cumulative cat /proc/meminfo
Geheugengebruik volgen

De optie -d=cumulative zorgt voor het oplichten van waarden die veranderen, waardoor deze beter opvallen.