Volná paměť – free, vmstat, top

Kategorie: Obecně

Jak v systémech Linux/Unix zjistit obsazenost paměti? Nástroje v Linux a Unix se trochu liší, ale vesměs jde o to samé. Pro zjištění můžeme využít:

Free

Pomocí nástroje free můžeme skvěle zjistit stat paměti RAM a SWAP. Nástroj free není k dispozici v systémech FreeBSD a jiných unixových systémech.

Stačí napsat příkaz free:

free
      total  used  free  shared buff/cache available
Mem: 1848828 820528 318996 23356 709304 789600
Swap: 2097148 0 2097148

Pro zobrazení v MB slouží parametr -m:

free -m

     total used free shared buff/cache available
Mem:  1805  805 304    22     695       766
Swap: 2047  0   2047

Vmstat

Nástroj vmstat zobrazuje některé statistiky jádra o procesech, virtuální paměti, discích a aktivitě procesoru. Je k dispozici v linuxových distribucích i FreeBSD.

Po zadání příkazu vmstat uvidíme následující:

vmstat
procs -----------memory--- -swap- -io-  -system- ------cpu-----
r b swpd  free  buff  cache si so bi bo  in   cs us sy id wa st
0 0  0  305864 61092 654596  0  0 34 26 1893 1632 2 2  95 0 0

Jednotlivá zařízení vybíráme pomocí parametru -p a k němu vybereme následující ze seznamu:

  • Zařízení
    • da – Přímý přístup
    • sa – Sekvenční přístup
    • printer – Tiskárny
    • proc – Procesorová zařízení
    • worm – Zapiš jednou a čti vícekrát
    • cd – Zařízení CD
    • scanner – Snímací zařízení
    • optical – Optické jednotky
    • changer – Médiový měnič
    • comm – Komunikační zařízení
    • array – Úložiště
    • enclosure – Enclosure services devices
    • floppy – Disketové mechaniky
  • Rozhraní
    • IDE – Integrated Drive Electronics
    • SCSI – Small Computer System Interface
    • other – Každé ostatní zařízení

Příklady využití:

  • vmstat -w 5 Aktualizuje každých 5 sekund a přidává údaje ke stávajícím
  • vmstat -p da -p array -w 1 Vybere statistiku přímého přístupu na úložiště, aktualizuje každou sekundu

Top

Top je standardní nástroj pro správu procesů jak v distribucích Linux, tak i v Unixu a FreeBSD. Je jednoduchý a přitom velmi mocný.

Po spuštění příkazu top vidíme následující:

last pid: 1047; load averages: 0.57, 0.60, 0.49 up 0+00:49:44 12:15:21
30 processes: 2 running, 28 sleeping
CPU: 0.6% user, 0.0% nice, 0.9% system, 0.3% interrupt, 98.2% idle
Mem: 70M Active, 19M Inact, 163M Wired, 112M Buf, 1702M Free
Swap: 976M Total, 976M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
873 root 3 20 0 159M 94M select 0:18 0.98% Xorg
762 root 1 20 -20 15M 16M pause 0:02 0.00% atop
885 martin 2 20 0 57M 41M select 0:01 0.00% awesome
890 martin 1 20 0 121M 58M select 0:01 0.00% volumeicon
892 martin 1 20 0 32M 23M RUN 0:00 0.00% xterm
741 root 5 52 0 13M 4032K sigwai 0:00 0.00% VBoxService
876 root 1 28 0 19M 8540K wait 0:00 0.00% xdm
497 root 1 20 0 10M 1492K select 0:00 0.00% devd
568 root 1 20 0 11M 2684K select 0:00 0.00% syslogd
746 root 1 20 0 17M 6748K select 0:00 0.00% sendmail
894 martin 1 20 0 13M 4416K wait 0:00 0.00% bash
871 root 1 30 0 14M 4288K pause 0:00 0.00% xdm
881 martin 1 52 0 11M 2928K wait 0:00 0.00% sh
798 root 1 20 0 11M 2820K nanslp 0:00 0.00% cron
870 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
865 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
814 root 1 20 0 11M 2628K select 0:00 0.00% moused
866 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
863 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
416 root 1 52 0 11M 2764K select 0:00 0.00% dhclient
864 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
869 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
867 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
868 root 1 52 0 11M 2452K ttyin 0:00 0.00% getty
1047 martin 1 20 0 13M 3520K RUN 0:00 0.00% top
413 root 1 27 0 11M 2660K select 0:00 0.00% dhclient

Příklady užití:

  • top -U franta – Zobrazí procesy pouze uživatele franta