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
De optie -d=cumulative zorgt voor het oplichten van waarden die veranderen, waardoor deze beter opvallen.