Dobrodošli na FOSS Srbija

Free and Opensource Srbija je skup entuzijasta i ljubitelja slobodnog i otvorenog koda. Cilj nam je okupiti sve istomišljenike na jednom mestu i stvoriti najveći globalni OpenSource projekat u Srbiji i šire!

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Uputstvo Administracija sistema - Praćenje performansi Linux sistema

Discussion in 'Debian, LinuxMint, Ubuntu' started by Broker, 04.03.2012.

  1. Broker

    Korisnik

    Joined:
    14.01.2012
    Messages:
    335
    Likes Received:
    79
    Location:
    Kraljevo
    Sistem:
    Slackware
    [size=18pt]Administracija sistema - Praćenje performansi sistema[/size]​

    Svaki računar na svetu ima svog administratora sistema.
    Po definicijim administrator Linux sistema je osoba koja ima pun pristup, odnosno osoba koja je superkorisnik (root).
    Između ostalih dužnosti, administrator treba da ima uvid u rad svog sistema. U narednom delu ove teme videćemo nekoliko osnovnih naredbi/alatki (komandi/programa) za nadgledanje i praćenje performansi rada Linux sistema.

    [size=12pt]Opšte stanje sistema[/size]

    uptime

    Da bi ste stekli izvestan utisak o opštem stanju performansi sistema možete koristiti komandu
    Code:
    uptime
    Primer
    Code:
    sysadmin@brok ~ # uptime
    11:09:15 up 43 days, 20:57,  1 user,  load average: 0.29, 0.23, 0.18
    
    Komanda uptime će pokazati koliko je korisnika prijavljeno i koliko je prosečno opterećenje sistema tokom poslednjih 1, 5 i 15 minuta.
    Kao što se da videti na primeru, opterećenje tokom poslednje minute bilo je 0.29, tokom poslednjih pet minuta 0.23 i tokom poslednjih četvrt sata 0.18.
    Ipak je ovo jako "grub" prikaz opterćenosti sistema.

    sar

    Komanda sar je skraćenica od system activity report (izveštaj o aktivnosti sistema). Za razliku od uptime, komanda sar daje mnogo pouzdanije podatke.

    Primer
    Code:
    bash-4.1$ sar -u 5 5
    Linux 2.6.37.6-smp (brok) 	01/27/2012 	_i686_	(2 CPU)
    
    02:54:07 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    02:54:12 PM     all      8.81      0.00      1.50      0.50      0.00     89.19
    02:54:17 PM     all      7.90      0.00      1.20      0.40      0.00     90.50
    02:54:22 PM     all      7.10      0.00      1.10      0.00      0.00     91.80
    02:54:27 PM     all      7.82      0.00      1.20      0.50      0.00     90.48
    02:54:32 PM     all      7.49      0.00      1.10      0.40      0.00     91.02
    Average: 
    Navedena naredba nalaže komandi sar da u intervalima od broja zadatih sekundi (u ovom slučaju pet) uzme odgovarajući broj uzoraka (takođe u ovom slučaju pet uzoraka).
    Opcijom -u postižemo da komanda sar prikaže iskorišćenje procesora.

    %super - označava procenat procesorskog vremena utrošenog na izvršavanje korisničkog koda, uglavnom aplikacije
    %nice - je procenat procesorskog vremena utrošenog na izvršavanje korisničkog koda promenjenog prioriteta
    %system - označava vreme utrošeno na izvršavanje sistemskog koda (pozivi sistemu)
    %idle - pokazuje koliko vremena procesor nije ništa radio

    Više informacija možete naći u datoteci/zapisniku /usr/lib/sa/sadc
    Code:
    vi /usr/lib/sa/sadc
    [​IMG]

    xload

    Ako vam je tako lakše opterećenje sistema možete pratiti preko programa xload koji daje informacije u grafičkom obliku.
    Code:
    xload
    [​IMG]


    [size=12pt]Nadgledanje aktivnih procesa[/size]

    Komanda ps je odlično oruđe za nadgledanje aktivnih procesa vašeg sistema.
    Najkorisnija je u kombinaciji sa -el, ps -el
    Opcija -e izlistava podatke o svakom aktivnom procesu dok opcija -l pravi dugačak linsting sa podacima.

    Primer
    Code:
    bash-4.1$ ps -el
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0     1     0  0  80   0 -   206 poll_s ?        00:00:00 init
    1 S     0     2     0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
    1 S     0     3     2  0  80   0 -     0 run_ks ?        00:00:00 ksoftirqd/0
    1 S     0     6     2  0 -40   - -     0 cpu_st ?        00:00:00 migration/0
    1 S     0     7     2  0 -40   - -     0 cpu_st ?        00:00:00 migration/1
    1 S     0     9     2  0  80   0 -     0 run_ks ?        00:00:00 ksoftirqd/1
    1 S     0    11     2  0  60 -20 -     0 rescue ?        00:00:00 cpuset
    1 S     0    12     2  0  60 -20 -     0 rescue ?        00:00:00 khelper
    5 S     0    13     2  0  80   0 -     0 worker ?        00:00:00 kworker/u:1
    1 S     0    16     2  0  60 -20 -     0 rescue ?        00:00:00 netns
    1 S     0   279     2  0  80   0 -     0 bdi_sy ?        00:00:00 sync_supers
    1 S     0   281     2  0  80   0 -     0 bdi_fo ?        00:00:00 bdi-default
    1 S     0   283     2  0  60 -20 -     0 rescue ?        00:00:00 kblockd
    1 S     0   285     2  0  60 -20 -     0 rescue ?        00:00:00 kacpid
    1 S     0   286     2  0  60 -20 -     0 rescue ?        00:00:00 kacpi_notify
    1 S     0   287     2  0  60 -20 -     0 rescue ?        00:00:00 kacpi_hotplug
    1 S     0   386     2  0  60 -20 -     0 rescue ?        00:00:00 ata_sff
    5 S     0   394     2  0  80   0 -     0 hub_th ?        00:00:00 khubd
    1 S     0   397     2  0  80   0 -     0 serio_ ?        00:00:00 kseriod
    1 S     0   400     2  0  60 -20 -     0 rescue ?        00:00:00 md
    1 S     0   504     2  0  60 -20 -     0 rescue ?        00:00:00 rpciod
    1 S     0   531     2  0  80   0 -     0 watchd ?        00:00:00 khungtaskd
    1 S     0   532     2  0  80   0 -     0 kswapd ?        00:00:00 kswapd0
    1 S     0   599     2  0  80   0 -     0 fsnoti ?        00:00:00 fsnotify_mark
    1 S     0   601     2  0  60 -20 -     0 rescue ?        00:00:00 aio
    1 S     0   624     2  0  60 -20 -     0 rescue ?        00:00:00 nfsiod
    1 S     0   635     2  0  80   0 -     0 jfsIOW ?        00:00:00 jfsIO
    1 S     0   636     2  0  80   0 -     0 jfs_la ?        00:00:00 jfsCommit
    1 S     0   637     2  0  80   0 -     0 jfs_la ?        00:00:00 jfsCommit
    1 S     0   638     2  0  80   0 -     0 jfs_sy ?        00:00:00 jfsSync
    1 S     0   645     2  0  60 -20 -     0 rescue ?        00:00:00 xfs_mru_cache
    1 S     0   646     2  0  60 -20 -     0 rescue ?        00:00:00 xfslogd
    1 S     0   647     2  0  60 -20 -     0 rescue ?        00:00:00 xfsdatad
    1 S     0   648     2  0  60 -20 -     0 rescue ?        00:00:00 xfsconvertd
    1 S     0   651     2  0  60 -20 -     0 rescue ?        00:00:00 ocfs2_wq
    1 S     0   652     2  0  60 -20 -     0 rescue ?        00:00:00 o2quot
    1 S     0   655     2  0  60 -20 -     0 rescue ?        00:00:00 user_dlm
    1 S     0   661     2  0  60 -20 -     0 rescue ?        00:00:00 glock_workqueu
    1 S     0   662     2  0  60 -20 -     0 rescue ?        00:00:00 delete_workque
    1 S     0   667     2  0  60 -20 -     0 rescue ?        00:00:00 gfs_recovery
    1 S     0   669     2  0  60 -20 -     0 rescue ?        00:00:00 crypto
    1 S     0   710     2  0  60 -20 -     0 rescue ?        00:00:00 kthrotld
    1 S     0   854     2  0  80   0 -     0 scan_t ?        00:00:00 cciss_scan
    1 S     0   859     2  0  60 -20 -     0 rescue ?        00:00:00 scsi_tgtd
    1 S     0   873     2  0  60 -20 -     0 rescue ?        00:00:00 iscsi_eh
    1 S     0   880     2  0  60 -20 -     0 rescue ?        00:00:00 fc_exch_workqu
    1 S     0   881     2  0  60 -20 -     0 rescue ?        00:00:00 fc_rport_eq
    1 S     0   882     2  0  60 -20 -     0 fcoe_p ?        00:00:00 fcoethread/0
    1 S     0   883     2  0  60 -20 -     0 fcoe_p ?        00:00:00 fcoethread/1
    1 S     0   886     2  0  60 -20 -     0 rescue ?        00:00:00 fnic_event_wq
    1 S     0   974     2  0  80   0 -     0 scsi_e ?        00:00:00 scsi_eh_2
    1 S     0   977     2  0  80   0 -     0 scsi_e ?        00:00:00 scsi_eh_3
    1 S     0   981     2  0  80   0 -     0 worker ?        00:00:00 kworker/u:3
    1 S     0   990     2  0  80   0 -     0 scsi_e ?        00:00:04 scsi_eh_4
    1 S     0   993     2  0  80   0 -     0 scsi_e ?        00:00:00 scsi_eh_5
    1 S     0  1055     2  0  60 -20 -     0 rescue ?        00:00:00 exec-osm
    1 S     0  1061     2  0  60 -20 -     0 rescue ?        00:00:00 block-osm
    1 S     0  1127     2  0  60 -20 -     0 rescue ?        00:00:00 kstriped
    1 S     0  1130     2  0  60 -20 -     0 rescue ?        00:00:00 ksnapd
    1 S     0  1133     2  0  90  10 -     0 speaku ?        00:00:00 speakup
    1 S     0  1161     2  0  80   0 -     0 kjourn ?        00:00:00 jbd2/sda4-8
    1 S     0  1162     2  0  60 -20 -     0 rescue ?        00:00:00 ext4-dio-unwri
    5 S     0  1195     1  0  76  -4 -   735 poll_s ?        00:00:00 udevd
    1 S     0  1414     2  0  60 -20 -     0 rescue ?        00:00:00 kpsmoused
    1 S     0  1428     2  0  60 -20 -     0 rescue ?        00:00:00 usbhid_resumer
    1 S     0  1472     2  0  60 -20 -     0 rescue ?        00:00:00 hd-audio0
    1 S     0  1539     2  0  80   0 -     0 bdi_wr ?        00:00:00 flush-8:0
    1 S     0  1582     2  0  80   0 -     0 kjourn ?        00:00:00 jbd2/sda8-8
    1 S     0  1583     2  0  60 -20 -     0 rescue ?        00:00:00 ext4-dio-unwri
    1 S     0  1584     2  0  80   0 -     0 kjourn ?        00:00:00 jbd2/sda9-8
    1 S     0  1585     2  0  60 -20 -     0 rescue ?        00:00:00 ext4-dio-unwri
    5 S     0  1588     1  0  80   0 -   688 fuse_d ?        00:00:00 mount.ntfs-3g
    5 S     0  1591     1  0  80   0 -   688 fuse_d ?        00:00:00 mount.ntfs-3g
    5 S     0  1594     1  0  80   0 -   688 fuse_d ?        00:00:00 mount.ntfs-3g
    5 S     0  1597     1  0  80   0 -   718 fuse_d ?        00:00:00 mount.ntfs-3g
    1 S     0  1627     1  0  80   0 -   476 poll_s ?        00:00:00 syslogd
    5 S     0  1631     1  0  80   0 -   463 syslog ?        00:00:00 klogd
    5 S     0  1783     1  0  80   0 -   473 poll_s ?        00:00:00 inetd
    5 S     0  1789     1  0  80   0 -  1052 poll_s ?        00:00:00 sshd
    1 S     0  1796     1  0  80   0 -   465 poll_s ?        00:00:00 acpid
    5 S    81  1809     1  0  80   0 -   805 poll_s ?        00:00:00 dbus-daemon
    5 S    82  1881     1  0  80   0 -  3948 poll_s ?        00:00:00 hald
    4 S     0  1883     1  0  80   0 -  6727 poll_s ?        00:00:00 console-kit-da
    4 S     0  1951     1  0  80   0 -  6661 poll_s ?        00:00:00 polkitd
    0 S     0  1954  1881  0  80   0 -   932 poll_s ?        00:00:00 hald-runner
    0 S     0  1998  1954  0  80   0 -   957 poll_s ?        00:00:00 hald-addon-inp
    0 S     0  2017  1954  0  80   0 -   958 poll_s ?        00:00:03 hald-addon-sto
    4 S    82  2019  1954  0  80   0 -   902 unix_s ?        00:00:00 hald-addon-acp
    1 S     0  2043     1  0  80   0 -   520 hrtime ?        00:00:00 crond
    1 S     2  2045     1  0  80   0 -   518 hrtime ?        00:00:00 atd
    5 S     0  2070     1  0  80   0 -  3908 poll_s ?        00:00:00 smbd
    5 S     0  2072     1  0  80   0 -  2134 poll_s ?        00:00:00 nmbd
    5 S    85  2079     1  0  80   0 -   798 poll_s ?        00:00:00 avahi-daemon
    1 S    85  2080  2079  0  80   0 -   761 unix_s ?        00:00:00 avahi-daemon
    1 S     0  2086     1  0  80   0 -   505 poll_s ?        00:00:00 avahi-dnsconfd
    5 S     0  2093     1  0  80   0 -  6822 poll_s ?        00:00:00 NetworkManager
    4 S     0  2103     1  0  80   0 -  1158 poll_s ?        00:00:00 modem-manager
    0 S     0  2120     1  0  80   0 -   463 n_tty_ tty1     00:00:00 agetty
    4 S     0  2121     1  0  80   0 -   463 n_tty_ tty2     00:00:00 agetty
    4 S     0  2122     1  0  80   0 -   463 n_tty_ tty3     00:00:00 agetty
    4 S     0  2123     1  0  80   0 -   463 n_tty_ tty4     00:00:00 agetty
    4 S     0  2124     1  0  80   0 -   463 n_tty_ tty5     00:00:00 agetty
    4 S     0  2125     1  0  80   0 -   463 n_tty_ tty6     00:00:00 agetty
    4 S     0  2126     1  0  80   0 -  4073 poll_s ?        00:00:00 gdm-binary
    5 S     0  2128  1195  0  78  -2 -   734 poll_s ?        00:00:00 udevd
    5 S     0  2129  1195  0  78  -2 -   734 poll_s ?        00:00:00 udevd
    4 S     0  2136  2093  0  80   0 -   510 poll_s ?        00:00:00 dhcpcd
    1 S     0  2139  2070  0  80   0 -  3908 poll_s ?        00:00:00 smbd
    5 S     0  2148  2126  0  80   0 -  4073 poll_s ?        00:00:00 gdm-binary
    4 S     0  2231  2148  3  80   0 - 18012 poll_s tty7     00:09:12 X
    4 S  1000  2251  2148  0  80   0 - 11070 poll_s ?        00:00:00 gnome-session
    1 S  1000  2278  2251  0  80   0 -   939 poll_s ?        00:00:00 ssh-agent
    1 S  1000  2279  2251  0  80   0 -   939 poll_s ?        00:00:00 ssh-agent
    1 S  1000  2282     1  0  80   0 -   909 poll_s ?        00:00:00 dbus-launch
    1 S  1000  2283     1  0  80   0 -  1038 poll_s ?        00:00:00 dbus-daemon
    1 S  1000  2292     1  0  80   0 - 10711 poll_s ?        00:00:00 gnome-keyring-
    0 S  1000  2294  2251  0  80   0 - 32535 poll_s ?        00:00:03 gnome-settings
    1 S  1000  2296     1  0  80   0 -  4845 poll_s ?        00:00:00 seahorse-shari
    4 S     0  2315     1  0  80   0 -  5840 poll_s ?        00:00:00 upowerd
    0 S  1000  2351     1  0  80   0 -  1594 poll_s ?        00:00:00 gvfsd
    1 S  1000  2357     1  0  80   0 -  8046 futex_ ?        00:00:00 gvfs-fuse-daem
    0 S  1000  2364     1  0  80   0 -  1803 poll_s ?        00:00:00 gconfd-2
    0 S  1000  2366     1  0  80   0 - 10616 poll_s ?        00:00:00 at-spi-bus-lau
    0 S  1000  2371  2366  0  80   0 -   696 poll_s ?        00:00:02 dbus-daemon
    0 S  1000  2374     1  0  80   0 -  4033 poll_s ?        00:00:02 at-spi2-regist
    1 S  1000  2383     1  0  80   0 - 23673 poll_s ?        00:00:00 pulseaudio
    0 S  1000  2408  2383  0  80   0 -  5583 poll_s ?        00:00:00 gconf-helper
    0 S  1000  2411     1  0  80   0 - 10632 poll_s ?        00:00:00 gsd-printer
    4 S     0  2414     1  0  80   0 - 10166 poll_s ?        00:00:00 colord
    0 R  1000  2417  2251  4  80   0 - 140265 -     ?        00:11:23 gnome-shell
    0 S  1000  2422     1  0  80   0 -  5613 poll_s ?        00:00:00 dconf-service
    0 S  1000  2426  2251  0  80   0 - 10441 poll_s ?        00:00:00 evolution-alar
    0 S  1000  2427  2251  0  80   0 - 87650 poll_s ?        00:00:00 nm-applet
    0 S  1000  2430  2251  0  80   0 -  4761 poll_s ?        00:00:00 gdu-notificati
    0 S  1000  2433  2251  0  80   0 - 50445 poll_s ?        00:00:01 polkit-gnome-a
    4 S     0  2435     1  0  80   0 -  5820 poll_s ?        00:00:00 udisks-daemon
    1 S     0  2439  2435  0  80   0 -  1368 poll_s ?        00:00:02 udisks-daemon
    0 S  1000  2445  2251  1  80   0 - 70972 poll_s ?        00:03:15 nautilus
    0 S  1000  2452     1  0  80   0 - 19420 poll_s ?        00:00:00 e-calendar-fac
    0 S  1000  2472     1  0  80   0 - 10534 poll_s ?        00:00:00 gnome-shell-ca
    0 S  1000  2474     1  0  80   0 - 12661 poll_s ?        00:00:00 gvfs-gdu-volum
    0 S  1000  2491     1  0  80   0 -  1638 poll_s ?        00:00:00 gvfs-gphoto2-v
    0 S  1000  2493     1  0  80   0 -  6259 poll_s ?        00:00:00 mission-contro
    0 S  1000  2497     1  0  80   0 - 20193 poll_s ?        00:00:00 goa-daemon
    4 S     0  2529     1  0  80   0 -  4124 poll_s ?        00:00:00 accounts-daemo
    0 S  1000  2531     1  0  80   0 -  4391 poll_s ?        00:00:00 gvfsd-trash
    0 S  1000  2535     1  0  80   0 -  1594 poll_s ?        00:00:00 gvfsd-burn
    0 S  1000  2539     1  0  80   0 -  1417 poll_s ?        00:00:00 gvfsd-metadata
    1 S  1000  2545     1  0  80   0 - 18935 poll_s ?        00:00:54 conky
    0 R  1000  2715  2417 24  80   0 - 214055 -     ?        01:02:06 firefox
    0 R  1000  2758  2715  1  80   0 - 43192 -      ?        00:04:38 plugin-contain
    1 S     0 11773     2  0  80   0 -     0 worker ?        00:00:00 kworker/1:2
    1 R     0 12147     2  0  80   0 -     0 ?      ?        00:00:00 kworker/0:2
    1 S     0 12626     2  0  80   0 -     0 worker ?        00:00:00 kworker/1:0
    1 S     0 12861     2  0  80   0 -     0 worker ?        00:00:00 kworker/0:1
    0 R  1000 12907  2417  0  80   0 - 54426 -      ?        00:00:00 gnome-terminal
    0 S  1000 12913 12907  0  80   0 -   519 unix_s ?        00:00:00 gnome-pty-help
    0 S  1000 12914 12907  0  80   0 -  1127 wait   pts/0    00:00:00 bash
    0 R  1000 13259 12914  0  80   0 -   668 -      pts/0    00:00:00 ps
    Polje Opis
    * F - sadrži zbir jedne ili više heksadecimalnih vrednosti koje opisuju aktuelno stanje procesa
    * S - prikazuje aktuelno stanje procesa po principu: izvršava se, privremeno zasutavljen itd...)
    * UID - prikazuje indentifikator vlasnika procesa
    * PID - prikazuje indentifikator procesa
    * PPID - prikazuje indentifikator "starijeg" procesa
    * C - prikazuje zauzeće procesora procesom
    * PRI - prikazuje prioritet procesa po principu veći broj veći prioritet
    * NI - prikazuje izmenu prioriteta procesa pomoću komande nice po principu veći broj označava niži prioritet
    * SZ - prikazuje količinu virtuelne memorije potrebne za izvršavanje procesa
    * TTY - označava terminal sa kojeg je proces pokrenut
    * TIME - prikazuje ukupno procesorsko vremeu satima i minutama utrošeno na izvršavanje procesa
    * CMD - prikazuje komandu koja je pokrenula proces


    [size=12pt]Zuzeće meorije[/size]

    Pomoću komande vmstat možemo ispitati podsistem virtuelne memorije i pronaći eventualni problem.
    Komanda vmstat prikazuje statistiku korišćenja podsistema virtuelne memorije, opterćenje procesora i podatke o aktivnosti diska i procesora.
    Opšti oblik te naredbe je
    Code:
    vmstat [interval] [broj] 
    Komanda vmstat u intervalima (zadatim u sekundama) uzima odgovarajući broj uzoraka i rezultate prikazuje u standardnom izlaznom toku
    Code:
    bash-4.1$ vmstat 5 5
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
    r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
    1  0      0 1280040 376128 1178352    0    0    52    76  558 1823 17  2 79  1
    0  0      0 1279552 376128 1178352    0    0     0     0 1065 3148 11  2 88  0
    0  0      0 1279800 376128 1178352    0    0     0     0 1047 2970 11  2 88  0
    0  0      0 1279676 376136 1178352    0    0     0    13 1022 2638 10  1 88  0
    0  0      0 1279924 376144 1178352    0    0     0    22 1007 2421 10  2 88  0
    Dobijeni rezultati su naizgled teško čitljivi.
    Prvi red svakog izveštaja komande vmstat prikazuje samo zbirne informacije.
    Sledeći redovi prikazuju informacije koje možemo da iskoristimo za otkrivanje eventualnog problema sa memorijom.

    polje procs
    * r - broj procesa spermnih za izvršavanje
    * b - broj zaustavljenih procesa

    polje memory
    * swpd - veličina korišćene virtuelne memorija u kilobajtima
    * free - veličina nedodeljene memorije u kilobajtima
    * buff - veličina međumemorije (befera) u kilobajtima
    * cache - veličina memorijske ostave (keš) u kilobajtima

    polje swap
    * si - brzina prenosa podataka iz virtuelne memorije u radnu memoriju u KB/s
    * so - brzina prenosa podataka iz radne u virtualnu memoriju u KB/s

    polje io
    * bi - broj blokova podataka zapisanih u sekundi na ulazno-izlazni uređaj
    * bo - broj blokova učitan u sekundi sa ulazno-izlaznog uređaja

    polje system
    * in - broj prekida u sekundi izazvanih uređajima
    cs - broj promena konteksta procesa u sekundi

    polje cpu
    * us - procenat procesorskog vremena utrošenog na izvršavanje korisničkog koda
    * sy - procenat procesorskog vremena utrošenog na izvršavanje sistemskog koda
    * id - procenat neutrošenog procesorskog vremena

    U ovim poljima treba obratiti pažnju na korišćenje ukupne i virtuelne memorije.
    Kada je raspoloživa virtuelna memorija (prikazana u kilobajtima u polju swap) mala, sistem sa njom intezivno razmenjuje podatke pa performanse su verovatno zbog toga slabe.
    Tada treba potrebiti komandu pd da bi se otkrio proces ili procese koji intezivno koriste virtuelnu memoriju.
    Uglavnom trajno rešenje je u dodavanju još RAM-a.

    Ako je u koloni wa vrednost različita od nule, a vrednosti u kolonama so i si ukazuju na neprestanu razmenu sa virtuelnom memorijom, potražite proces koji opsežno zauzima memoriju, naručito virtuelnu.
    Ako duže posmatrate kolone r i b steći ćete utisak o brzini prolaska procesa kroz red čekanja na izvršavanje,
    Vrednost u koloni r i b treba stalno da budu niske, osim kod dugotrajnih procesa koje takođe lako možete da otkrijete sa komandom ps.

    Komanda free prikazuje korišćenje meorije, uključujući virtuelnu memoriju i kapacitet.
    Za jedno umereno opterećenje sistem dobićete otprilike sledeće rezultate
    Code:
    bash-4.1$ free
                 total       used       free     shared    buffers     cached
    Mem:       3607112    1471564    2135548          0     282812     877548
    -/+ buffers/cache:     311204    3295908
    Swap:      1572860          0    1572860
    Nasuprot gornjem prikazu evo primera gde je meorija prilično opterćena
    Code:
    sysadmin@brok ~ # free
                 total       used       free     shared    buffers     cached
    Mem:       8190820    7532908     657912          0     273732    6048780
    -/+ buffers/cache:    1210396    6980424
    Swap:      2102456          0    2102456
    Komanda free prikazuje snimak korišćenja memorije koji možete da obuhvatite jednim pogledom.
    Prvi red ispod zaglavlja pokazuje podatke o fizičkoj (radnoj) memoriji u kilobajtima, uključujući ukupnu veličinu RAM-a, njegov ne uvek i iskorišćen deo koji zauzima jezgro operativnog sistema, veličinu slobodnog RAM-a i delove RAM-a namenjenog deljenju, međumemoriji i ostavi.

    Drugi red se odnosi na korišćenje međumemorije. Drugim rečima, komanda free oduzima predviđenu međumemoriju i ostavu od kolone used i rezultat smešta u kolonu free tako da dobijamo tačniju sliku korišćenja memorije u odnosu na zauzeće u jezgru operativnog sistema, ona se menja u zavisnosti od iskorišćenja sistema i prosečnog korišćenja memorije.
    Ako u prvom redu vrednost buffers i cached oduzmete od vrednosti korišćene memorije dobićete vrednost (za prvi prikaz) 311204 (1471564−282812−877548=311204), dok dodavanjem vrednosti buffers i cached na vrednost free dobijamo 3890644 (2135548+877548+877548=3890644) što je oko 12.5 puta više.

    Treći red prikazuje veličinu raspoložive, korišćene i slobodne virtuelne memorije koja je u vreme snimanja sistema bila nekorišćena u oba snimka.

    Ovi podaci se mogu videti i u grafičkom prikazu, sve u zavisnosti koje grafičko okruženje koristite. Recimo System Monitor u GNOME grafičkom okruženju
    [​IMG]


    [size=12pt]Zauzeće diska i njegove performanse[/size]

    Zauzeće diska se lako može partiti komandom df i du.
    Komanda df prikazuje stanje raspoloživog prostora na diskum dok komanda du prikazuje koliko je prostora zauzeto na disku.
    Code:
    bash-4.1$ df
    Filesystem     1K-blocks     Used Available Use% Mounted on
    /dev/root       20641788 12602500   6990696  65% /
    /dev/sda8       15481840  4701848   9993560  32% /media/root_ubuntu
    /dev/sda9       42924248 28350532  12393264  70% /media/home_ubuntu
    /dev/sda1         102396    46764     55632  46% /media/rsv
    /dev/sda2       83779580 73083256  10696324  88% /media/windows
    /dev/sda5       62918540 51342056  11576484  82% /media/hard1
    tmpfs            1803556      116   1803440   1% /dev/shm
    /dev/sda6       83884700 58033040  25851660  70% /media/hard2
    
    Upotrebom opcije -k komande df može se videti zauzeće diska u kilobajtima
    Code:
    bash-4.1$ df -k
    Filesystem     1K-blocks     Used Available Use% Mounted on
    /dev/root       20641788 12602500   6990696  65% /
    /dev/sda8       15481840  4701848   9993560  32% /media/root_ubuntu
    /dev/sda9       42924248 28350532  12393264  70% /media/home_ubuntu
    /dev/sda1         102396    46764     55632  46% /media/rsv
    /dev/sda2       83779580 73083256  10696324  88% /media/windows
    /dev/sda5       62918540 51342056  11576484  82% /media/hard1
    tmpfs            1803556      116   1803440   1% /dev/shm
    /dev/sda6       83884700 58033040  25851660  70% /media/hard2
    U današnjim prilikama izveštaj će biti najčitljiviji upotrebom opcije -h
    Code:
    bash-4.1$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root        20G   13G  6.7G  65% /
    /dev/sda8        15G  4.5G  9.6G  32% /media/root_ubuntu
    /dev/sda9        41G   28G   12G  70% /media/home_ubuntu
    /dev/sda1       100M   46M   55M  46% /media/rsv
    /dev/sda2        80G   70G   11G  88% /media/windows
    /dev/sda5        61G   49G   12G  82% /media/hard1
    tmpfs           1.8G  116K  1.8G   1% /dev/shm
    /dev/sda6        80G   56G   25G  70% /media/hard2
    Opcija -h potpuno razjašnjava koliko imamo raspoloživog prostora u svakom sistemu datoteke.

    Ako bi upotrebimo opciju -l dobićemo samo podatke o prostoru na disku koji se fizički nalazi na sistemu ali ne i za povezane mrežne sistemske datoteke niti za diskove kojima pristupamo daljinski.

    Kada želimo da utvrdimo koliki deo prostora na disku se koristi, upotrebićemo komandu du.
    Njena osnovna sintaksa je
    Code:
    du [opcija] datoteka
    Code:
    sysadmin@brok ~/backup # du -h
    7.7G	.
    Code:
    sysadmin@brok ~/backup # du -k
    8015940	.
    Code:
    sysadmin@brok ~/backup # du -m
    7829	.
    Code:
    sysadmin@brok ~/backup # du -s
    8015940	.
    -h - prikazuje izveštaj u jedinicama koje su najčitljiviji korisniku
    -k -prikazuje rezultate u kilobajtima
    -m -prikazuje rezultate u megamajtima
    -s -prikazuje samo zbirne vrednosti

    Ulazno-izlazne operacije sa diskom obično su usko grlo sistema.
    Operativna memorija i procesor rade više hiljada puta brže od najbržeg diska. Srećom, jezgro operativnog sistema i savremeni čvrsti diskovi koriste softversku i hardversku memorijsku ostavu, međumemoriju za predhodno učitavanje i odloženo zapisavinje na hard disk da bi prikrili i smajnili pomenutu razliku u brzini rada.
    Ipak, kao administrator sistema i dalje bi trebali znati da utvrdite probleme i izborite se sa njima kada se pojave na ulazno-izlaznim operacijama sa diskom.
    Korisno je da se upoznate sa sledećim frazama koje se često koriste za opisivanje performansi sistema:

    * Srednje vreme pristupanja (Average seek time) - procena prosečnog trajanja operacije pristupanja
    * Maksimalno vreme pristupanja (Maximum seek time) - trajanje kretanja glave diska između dve staze na disku koje su međusobno najviše udaljene
    * Minimalno vreme pristupanja (Minimum seek time) - trajanje kretanja glave diska izme￰u dve susedne staze
    * Kašnjenje lociranja (Queuing delay) - vreme potrebno kontroleru diska da utvrdi gde na disku treba da pročita/upiše podatke
    * Rotaciono kašnjenje (Rotational latency) - vreme potrebno da se pravo mesto na disku dovede ispod glave za čitanje/upisivanje, izraženo brojem obrta u minutu (RPM)
    * Kašnjenje pristupanja (Seek latency) - vreme potrebno glavi za čitanje/upisivanje da se pozicianira na odre￰đeni cilindar diska
    * Vreme pristupanja (Seek time) - Vreme potrebno glavi za čitanje/upisivanje da pre￰đe sa jedne staze diska na drugu

    Za utvrđivanje problema sa performansama ulazno-izlaznih operacija najčešće se koristi komanda iostat. Slično komandi vmstat, i komanda iostat se najjednostavnije zadaje na sledeći način
    Code:
    iostat [interval] [broj]
    Interval definiše broj sekundi izme￰đu dva uzastopna izveštaja, a broj predstavlja ukupan broj izveštaja.

    Code:
    bash-4.1$ iostat 5 5
    Linux 2.6.37.6-smp (brok) 	03/01/2012 	_i686_	(2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              12.06    0.00    1.80    1.30    0.00   84.84
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               5.70       228.42       173.17    1433701    1086952
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.10    0.00    0.70    0.30    0.00   95.90
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               0.80         0.00        16.00          0         80
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.20    0.00    1.10    0.00    0.00   95.70
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               0.00         0.00         0.00          0          0
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.30    0.00    1.00    0.00    0.00   95.70
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               0.00         0.00         0.00          0          0
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               5.00    0.00    1.70    0.00    0.00   93.31
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               6.00         0.00        51.20          0        256
    
    Opcija Opis
    tps - broj operacija prenosa podataka (ili ulazno-izlaznih zahteva za prekid) u sekundi poslatih disku
    Blk_read/s - broj blokova podataka učitanih sa ure￰đaja u sekundi
    Blk_wrtn/s - broj blokova podataka učitanih na ure￰đaja u sekundi
    Blk_read - ukupan broj učitanih podataka
    Blk_wrtn - ukupan broj upisanih podataka

    Ako detaljnije želimo da ispitamo ulazno-izlazne performanse diska, upotrebićemo opciju -x, zadajući i disk odnosno particiju koja nas zanima.
    Opcija -x omogućava detaljniju statistiku ulazno-izlaznih operacija zadatih diskova ili pak svih diskova ako ne zadamo disk.

    Naredna komanda prikazuje snimak aktivnosti diska /dev/sda tokom prevođ￰enja jezgra operativnog sistema (takođe [interval=5] [broj=5]). Zbog opcije -d komanda iostat ne prikazuje zbirni izveštaj o korišćenu procesora
    Code:
    bash-4.1$ iostat -d -x /dev/sda 5 5
    Linux 2.6.37.6-smp (brok) 	03/01/2012 	_i686_	(2 CPU)
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               6.38    19.47    3.88    1.64   218.99   168.80    70.30     0.15   27.52   4.10   2.26
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.40    0.00    0.80     0.00     9.60    12.00     0.01    8.50   8.50   0.68
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.40    0.00    0.80     0.00     9.60    12.00     0.01   10.25  10.25   0.82
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda               0.00     0.80    0.00    2.40     0.00    25.60    10.67     0.01    3.58   3.42   0.82
    
    * rrqm/s - broj spojenih zahteva za čitanje podataka u sekundi
    * wrqm/s - broj spojenih zahteva za upisivanje podataka u sekundi
    * r/s - broj zahteva za čitanje podataka u sekundi
    * w/s - broj zahteva za upisivanje podataka u sekundi
    * rsec/s - broj učitanih sektora u sekundi
    * wsec/s - broj upisanih sektora u sekundi
    * avgrq-sz - prosečna veličina zahteva u sektorima
    * avgqu-sz - prosečna dužina reda za čekanje zahteva
    * await - prosečno vreme čekanja ulazno-izlazne operacije na izvršenje izraženo u milisekundama
    * svctm - prosečno vreme izvršavanja ulazno-izlazne operacije izraženo u milisekundama
    * %util - procenat zauzeća procesora zahtevima za ulazno-izlazne operacije
     
    Collapse Signature Expand Signature
    Jesenjin and djvujke like this.
  2. Broker

    Korisnik

    Joined:
    14.01.2012
    Messages:
    335
    Likes Received:
    79
    Location:
    Kraljevo
    Sistem:
    Slackware
    [size=12pt]Korišćenje procesora[/size]

    Najpoznatiji uslužni program za praćenje korišćenja procesora jeste top, koji prikazuje najzahtevnije procese.
    Program top prati rad procesora u realnom vremenu, što znači da prikazuje listu aktivnih procesa koji ga najviše koriste.
    Prikaz se podrazumevano ažurira na svake tri sekunde, mada je interval ažuriranja promenljiv u toku izvršavanja komande top, sa d ili s i zadatom vrednošću.

    Primer zamene intervala ažuriranja na 6 sekunde
    Code:
    top - 11:21:23 up 41 days, 21:09,  1 user,  load average: 0.25, 0.18, 0.11
    Tasks: 192 total,   2 running, 190 sleeping,   0 stopped,   0 zombie
    Cpu(s):  2.1%us,  0.2%sy,  0.0%ni, 97.3%id,  0.2%wa,  0.0%hi,  0.1%si,  0.0%st
    Mem:   8190820k total,  7867744k used,   323076k free,   269440k buffers
    Swap:  2102456k total,        0k used,  2102456k free,  6435568k cached
    Change delay from 3.0 to: 6
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    1488 mysql     20   0  455m  76m 4328 S    2  1.0   1032:25 mysqld             
    3487 root      20   0 19060 1320  916 R    2  0.0   0:00.01 top                
        1 root      20   0  8352  748  616 S    0  0.0   0:20.15 init               
        2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
        3 root      RT   0     0    0    0 S    0  0.0   0:03.14 migration/0        
        4 root      20   0     0    0    0 S    0  0.0   0:03.61 ksoftirqd/0        
        5 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0         
        6 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/1        
        7 root      20   0     0    0    0 S    0  0.0   0:04.69 ksoftirqd/1        
        8 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1         
        9 root      RT   0     0    0    0 S    0  0.0   0:00.01 migration/2        
       10 root      20   0     0    0    0 S    0  0.0   0:01.97 ksoftirqd/2        
       11 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/2         
       12 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/3        
       13 root      20   0     0    0    0 S    0  0.0   0:01.10 ksoftirqd/3        
       14 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/3         
       15 root      RT   0     0    0    0 S    0  0.0   0:00.26 migration/4 
    Prikaz komande top
    Code:
    sysadmin@brok ~ # 
    
    top - 11:47:56 up 40 days, 21:36,  2 users,  load average: 0.05, 0.08, 0.08
    Tasks: 179 total,   1 running, 178 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.8%us,  0.1%sy,  0.0%ni, 99.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   8190820k total,  7840068k used,   350752k free,   275276k buffers
    Swap:  2102456k total,        0k used,  2102456k free,  6533588k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                  
    3371 www-data  20   0  216m  15m 3788 S    3  0.2   0:00.08 apache2                                                                                                  
    3370 www-data  20   0  217m  17m 3784 S    2  0.2   0:00.24 apache2                                                                                                  
    3374 www-data  20   0  211m  11m 3308 S    1  0.1   0:00.03 apache2                                                                                                  
    1488 mysql     20   0  455m  76m 4316 S    1  1.0   1011:09 mysqld                                                                                                   
      514 root      20   0     0    0    0 S    0  0.0   3:57.64 kjournald                                                                                                
    3233 www-data  20   0  220m  19m 3824 S    0  0.2   0:00.64 apache2                                                                                                  
    3261 root      20   0 19168 1432 1004 R    0  0.0   0:00.31 top                                                                                                      
        1 root      20   0  8352  748  616 S    0  0.0   0:19.76 init                                                                                                     
        2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                                                 
        3 root      RT   0     0    0    0 S    0  0.0   0:03.08 migration/0                                                                                              
        4 root      20   0     0    0    0 S    0  0.0   0:03.56 ksoftirqd/0                                                                                              
        5 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0                                                                                               
        6 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/1                                                                                              
        7 root      20   0     0    0    0 S    0  0.0   0:04.60 ksoftirqd/1                                                                                              
        8 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1                                                                                               
        9 root      RT   0     0    0    0 S    0  0.0   0:00.01 migration/2                                                                                              
       10 root      20   0     0    0    0 S    0  0.0   0:01.94 ksoftirqd/2                                                                                              
       11 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/2                                                                                               
       12 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/3                                                                                              
       13 root      20   0     0    0    0 S    0  0.0   0:01.08 ksoftirqd/3                                                                                              
       14 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/3                                                                                               
       15 root      RT   0     0    0    0 S    0  0.0   0:00.25 migration/4                                                                                              
       16 root      20   0     0    0    0 S    0  0.0   0:03.30 ksoftirqd/4                                                                                              
       17 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/4                                                                                               
       18 root      RT   0     0    0    0 S    0  0.0   0:06.95 migration/5                                                                                              
       19 root      20   0     0    0    0 S    0  0.0   0:01.76 ksoftirqd/5                                                                                              
       20 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/5                                                                                               
       21 root      RT   0     0    0    0 S    0  0.0   0:00.62 migration/6                                                                                              
       22 root      20   0     0    0    0 S    0  0.0   0:01.34 ksoftirqd/6                                                                                              
       23 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/6                                                                                               
       24 root      RT   0     0    0    0 S    0  0.0   0:00.40 migration/7                                                                                              
       25 root      20   0     0    0    0 S    0  0.0   0:00.71 ksoftirqd/7                                                                                              
       26 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/7                                                                                               
       27 root      20   0     0    0    0 S    0  0.0   0:36.94 events/0                                                                                                 
       28 root      20   0     0    0    0 S    0  0.0   0:12.41 events/1                                                                                                 
       29 root      20   0     0    0    0 S    0  0.0   0:07.21 events/2                                                                                                 
       30 root      20   0     0    0    0 S    0  0.0   0:05.49 events/3                                                                                                 
       31 root      20   0     0    0    0 S    0  0.0   0:13.16 events/4                                                                                                 
       32 root      20   0     0    0    0 S    0  0.0   0:07.58 events/5                                                                                                 
       33 root      20   0     0    0    0 S    0  0.0   0:07.52 events/6                                                                                                 
       34 root      20   0     0    0    0 S    0  0.0   0:05.38 events/7                                                                                                 
       35 root      20   0     0    0    0 S    0  0.0   0:00.00 cpuset                                                                                                   
    
    Prvi red prikazuje ukupno vreme rada sistema, slično rezultatu komande uptime. Sledeća dva reda rezultata komande top sumiraju korišćenje procesora (u apsolutnim brojevima, odnosno uprocentima) prikazujući aktivne procese, procese koji su privremeno zaustavljeni, zombije i trajno zaustavljene procese.
    Zombi (zombie) je proces koji se završio pre nego što je njegov roditeljski proces uspeo da to sazna. Oni se zovu zombi-procesi jer su "mrtvi" i ne zauzimaju resurse (osim odrednice u tabeli procesa jezgra operativnog sistema), ali se ipak pojavljuju pri izlistavanju procesa.
    U četvrtom i petom redu rezultata sumirano je aktueIno korišćenje memorije, na način kao što to prikazuje komanda free.
    Šesti red je u stvari zaglavlje za preostale podatke - procese koji najviše opterećuju procesor, podrazumevano prikazane po opadajućem redosledu prema zauzeću procesora.

    Polje Opcija
    * PID - identifikator procesa
    * USER - ime korisnika koji je pokrenuo proces
    * PRI - prioritet izvršavanja procesa
    * NI - izmena prioriteta procesa (nice)
    * SIZE - veličina memorije potrebna za izvršavanje procesa
    * RSS - veličina fizičke memorije koju proces zauzima
    * SHARE ili SHR - veličina deljene memorije koju proces koristi
    * STAT ili S - aktuelno stanje procesa
    * %CPU - procenat ukupnog procesorskog vremena koji otpada na proces
    * %MEM - procenat ukupne fizičke memorije koju koristi proces
    * TIME - ukupno potrošeno vreme procesora na izvršenje procesa
    * COMMAND - komanda kojom je proces pokrenut, prikazana u zagradama ako je proces odložen u virtuelnu memoriju

    Željeni proces možemo "ubiti" u samom prikazu komande top, sa tipkom k ili K upisujući PID (identifikator procesa).
    Prikaz
    Code:
    top - 12:22:32 up 41 days, 22:11,  1 user,  load average: 0.38, 0.18, 0.11
    Tasks: 197 total,   1 running, 195 sleeping,   0 stopped,   1 zombie
    Cpu(s):  1.9%us,  0.2%sy,  0.0%ni, 97.6%id,  0.3%wa,  0.0%hi,  0.1%si,  0.0%st
    Mem:   8190820k total,  7552332k used,   638488k free,   272644k buffers
    Swap:  2102456k total,        0k used,  2102456k free,  6105384k cached
    PID to kill: 
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    7773 www-data  20   0  218m  19m 4336 S    8  0.2   0:00.48 apache2            
    1488 mysql     20   0  455m  76m 4328 S    2  1.0   1033:17 mysqld             
    7839 www-data  20   0  211m  12m 3828 S    2  0.2   0:00.06 apache2            
    7610 www-data  20   0  218m  19m 4328 S    1  0.2   0:00.58 apache2            
    7658 www-data  20   0  226m  20m 5192 S    1  0.3   0:00.22 apache2            
    
    Stanje procesa može da bude D (privremeno zaustavljen na određeno vreme), R (izvršava se), S (privremeno zaustavljen), T (zaustavljen ili praćen) ili Z (zombi). Ako se iza oznake stanja procesa nalazi znak
     
    Collapse Signature Expand Signature
    Jesenjin and djvujke like this.
  3. korisnik01

    Korisnik

    Joined:
    18.01.2012
    Messages:
    671
    Likes Received:
    20
    Svaka čast ;)
    Pratio sam ovo i na Slackware forumu, što si postavio... Stvarno korisna stvar ...
     
  4. Broker

    Korisnik

    Joined:
    14.01.2012
    Messages:
    335
    Likes Received:
    79
    Location:
    Kraljevo
    Sistem:
    Slackware
    [size=12pt]Nadgledanje rada u mreži[/size]

    Uska grla na mreži doživljavamo svakodnevno. Sama priroda mreže otežava otklanjanje problema sa performansama jer grešku ili zastoj može štošta da prouzrokuje .
    Krivci mogu da budu sve od mrežne kartice, preko razvodnih kablova, mosta, skretnica sve do mrežniih prolaza ili zaštitne barijere.
    Uglavnom, kada postoji problem s performansama na TCP/IP Ethernetu to svi mi osećamo, neko lakše neko teže. Ethernet tu ne pravi razliku recimo ako je mreža zagušena već tu svi podjednako trpimo. :)
    Što se tiče administratora, oni zagušenje mreže osećaju baš na sopstvenoj koži kroz brojne zahteve (kukanja :) ;)) korisnika da se problem odmah otkloni.
    Kod ovakvih problema na prvom mestu treba proveriti saobraćaj sirovih paketa pomoću komande netstat i njene opcije -i, koje prikazuju TCP/IP saobraćaj na svim aktivnim mrežnim interfejsima.

    Primer
    Code:
    sysadmin@brok ~ # netstat -i
    Kernel Interface table
    Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0       1500 0  626925421      0      0 0      1056722848      0      0      0 BMRU
    lo        16436 0  12469047      0      0 0      12469047      0      0      0 LRU
    PoLje Opis
    * Iface - ime mrežnog interfejsa
    * MTU - maksimalna jedinica prenosa (veličina paketa) interfejsa
    * RX-OK - broj dolaznih (primljenih) paketa od trenutka pokretanja interfejsa
    * RX-ERR - broj grešaka kod dolaznih paketa
    * RX-DRP - broj odbačenih dolaznih paketa
    * RX-OVR - broj dolaznih paketa koji su prepunili ulazni bafer
    * TX-OK - broj odlaznih (poslatih) paketa od trenutka pokretanja interfejsa
    * TX-ERR - broj grešaka kod odlaznih paketa od poslednjeg pokretanja interfejsa
    * TX-DRP - broj odbačenih odlaznih paketa
    * TX-OVR - broj odlaznih paketa koji su prepunili izlazni bafer

    Slikovni prikaz komande netstat -i, radi lakšeg uvida
    [​IMG]

    U izveštaju iz gore navedenog primera, na preko 620 miliona dolaznih paketa i preko jedne milijarde odlaznih paketa predstavlja odličan rezultat.
    Kada se poveća broj grešaka pri slanju paketa, to znači da u sistemu postoji neki problem. Sa druge strane, greške kod dolaznih paketa retko ukazuju na problem u vašem sistemu već je problem "tamo negde" na drugom mestu.

    Da biste stekli bolju predstavu o zagušenju mreže, upotrebite komandu netstat bez opcija kao u narednom primeru.
    Code:
    bash-4.1$ netstat
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 192.168.0.100:46719     static.204.106.4.4:http TIME_WAIT   
    tcp      196      0 192.168.0.100:56761     192.168.0.1:netbios-ssn ESTABLISHED 
    tcp      196      0 localhost:33750         localhost:netbios-ssn   ESTABLISHED 
    tcp        0      0 192.168.0.100:48171     fa-in-f17.1e100.n:https ESTABLISHED 
    tcp      196      0 localhost:33747         localhost:netbios-ssn   ESTABLISHED 
    tcp        0      0 192.168.0.100:56271     95.180.93.153:39290     ESTABLISHED 
    tcp        0      0 192.168.0.100:52553     fa-in-f101.1e100.:https TIME_WAIT   
    tcp        0      0 192.168.0.100:48177     fa-in-f17.1e100.n:https ESTABLISHED 
    tcp      196      0 localhost:33745         localhost:netbios-ssn   ESTABLISHED 
    tcp        0      0 192.168.0.100:52610     sync01.phx.servic:https ESTABLISHED 
    tcp        0      0 192.168.0.100:46917     static.204.106.4.46:ssh ESTABLISHED 
    tcp        0      0 localhost:netbios-ssn   localhost:33750         ESTABLISHED 
    tcp        0      0 localhost:netbios-ssn   localhost:33747         ESTABLISHED 
    tcp        0      0 localhost:netbios-ssn   localhost:33745         ESTABLISHED 
    tcp        0      0 ::ffff:192.:netbios-ssn ::ffff:192.168.0.:56761 ESTABLISHED 
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags       Type       State         I-Node Path
    unix  13     [ ]         DGRAM                    4652   /dev/log
    unix  2      [ ]         DGRAM                    3704   @/org/kernel/udev/udevd
    unix  2      [ ]         DGRAM                    5727   @/org/freedesktop/hal/udev_event
    unix  3      [ ]         STREAM     CONNECTED     183148 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     183713 
    unix  3      [ ]         STREAM     CONNECTED     179317 
    unix  3      [ ]         STREAM     CONNECTED     179316 
    unix  3      [ ]         STREAM     CONNECTED     179315 /tmp/orbit-brok-a8e8c8d8/linc-45f1-0-681dc5142df8
    unix  3      [ ]         STREAM     CONNECTED     179314 
    unix  3      [ ]         STREAM     CONNECTED     179312 /tmp/orbit-brok-a8e8c8d8/linc-8d9-0-2c5a29a8c4379
    unix  3      [ ]         STREAM     CONNECTED     179311 
    unix  3      [ ]         STREAM     CONNECTED     179309 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     179308 
    unix  3      [ ]         STREAM     CONNECTED     178518 @/tmp/.ICE-unix/2148
    unix  3      [ ]         STREAM     CONNECTED     179307 
    unix  3      [ ]         STREAM     CONNECTED     179306 @/tmp/dbus-QbKcLIAsXh
    unix  3      [ ]         STREAM     CONNECTED     178517 
    unix  3      [ ]         STREAM     CONNECTED     179303 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     179302 
    unix  3      [ ]         STREAM     CONNECTED     178515 @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     179301 
    unix  3      [ ]         STREAM     CONNECTED     123349 /var/run/dbus/system_bus_socket
    unix  3      [ ]         STREAM     CONNECTED     123348 
    unix  3      [ ]         STREAM     CONNECTED     122986 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     123973 
    unix  3      [ ]         STREAM     CONNECTED     123959 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     123958 
    unix  3      [ ]         STREAM     CONNECTED     122980 @/tmp/.ICE-unix/2148
    unix  3      [ ]         STREAM     CONNECTED     123957 
    unix  3      [ ]         STREAM     CONNECTED     123956 @/tmp/dbus-QbKcLIAsXh
    unix  3      [ ]         STREAM     CONNECTED     122979 
    unix  3      [ ]         STREAM     CONNECTED     122976 @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     123954 
    unix  3      [ ]         STREAM     CONNECTED     122975 @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     123953 
    unix  3      [ ]         STREAM     CONNECTED     83471  @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     83470  
    unix  3      [ ]         STREAM     CONNECTED     82705  @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     82704  
    unix  3      [ ]         STREAM     CONNECTED     82694  @/tmp/.ICE-unix/2148
    unix  3      [ ]         STREAM     CONNECTED     82693  
    unix  3      [ ]         STREAM     CONNECTED     83453  @/tmp/dbus-QbKcLIAsXh
    unix  3      [ ]         STREAM     CONNECTED     82692  
    unix  3      [ ]         STREAM     CONNECTED     82690  @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     83451  
    unix  3      [ ]         STREAM     CONNECTED     83450  /tmp/orbit-brok-a8e8c8d8/linc-2235-0-6e7a842c256be
    unix  3      [ ]         STREAM     CONNECTED     82689  
    unix  3      [ ]         STREAM     CONNECTED     82688  /tmp/orbit-brok-a8e8c8d8/linc-8d9-0-2c5a29a8c4379
    unix  3      [ ]         STREAM     CONNECTED     83448  
    unix  3      [ ]         STREAM     CONNECTED     82685  @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     83443  
    unix  3      [ ]         STREAM     CONNECTED     24907  @/tmp/dbus-QbKcLIAsXh
    unix  3      [ ]         STREAM     CONNECTED     25702  
    unix  3      [ ]         STREAM     CONNECTED     24905  @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     25700  
    unix  3      [ ]         STREAM     CONNECTED     24903  
    unix  3      [ ]         STREAM     CONNECTED     24902  
    unix  3      [ ]         SEQPACKET  CONNECTED     25694  
    unix  3      [ ]         SEQPACKET  CONNECTED     25693  
    unix  3      [ ]         STREAM     CONNECTED     25692  
    unix  3      [ ]         STREAM     CONNECTED     25691  
    unix  3      [ ]         STREAM     CONNECTED     24823  @/tmp/dbus-aVfx2uQe69
    unix  3      [ ]         STREAM     CONNECTED     25626  
    unix  3      [ ]         STREAM     CONNECTED     25621  /var/run/dbus/system_bus_socket
    unix  3      [ ]         STREAM     CONNECTED     24815  
    unix  3      [ ]         STREAM     CONNECTED     24813  
    unix  3      [ ]         STREAM     CONNECTED     24812  
    unix  3      [ ]         STREAM     CONNECTED     25614  /tmp/orbit-brok-a8e8c8d8/linc-ebe-0-1507752f53bd6
    unix  3      [ ]         STREAM     CONNECTED     24811  
    unix  3      [ ]         STREAM     CONNECTED     24810  /tmp/orbit-brok-a8e8c8d8/linc-8d9-0-2c5a29a8c4379
    unix  3      [ ]         STREAM     CONNECTED     25612  
    unix  3      [ ]         STREAM     CONNECTED     25610  @/tmp/.ICE-unix/2148
    unix  3      [ ]         STREAM     CONNECTED     24808  
    unix  3      [ ]         STREAM     CONNECTED     25607  @/tmp/dbus-QbKcLIAsXh
    unix  3      [ ]         STREAM     CONNECTED     24807  
    unix  3      [ ]         STREAM     CONNECTED     25605  @/tmp/.X11-unix/X0
    unix  3      [ ]         STREAM     CONNECTED     25604  
    unix  3      [ ]         STREAM     CONNECTED     23123  @/dbus-vfs-daemon/socket-fsPYfyY5
    unix  3      [ ]         STREAM     CONNECTED     24157  
    unix  3      [ ]         STREAM     CONNECTED     23122  @/dbus-vfs-daemon/socket-duPXUbnG
    unix  3      [ ]         STREAM     CONNECTED     24156  
    unix  3      [ ]         STREAM     CONNECTED     23121  @/dbus-vfs-daemon/socket-RITBtWlL
    unix  3      [ ]         STREAM     CONNECTED     24153  
    unix  3      [ ]         STREAM     CONNECTED     23120  @/dbus-vfs-daemon/socket-q99HxqhE
    unix  3      [ ]         STREAM     CONNECTED     24152  
    unix  2      [ ]         DGRAM                    24100  
    unix  3      [ ]         STREAM     CONNECTED     24024  @/dbus-vfs-daemon/socket-CKcoFAtH
    Prikazan je samo deo veoma dugačkog izveštaja. Komanda netstat upotrebljena bez opcija prikazuje sve aktivne veze sa Internetom uspostavljene preko TCP, UDP i Unix priključaka. Možete da upotrebite opcije -t i -u da biste uklonili Unix priključke (netstat -t -u). Unix priključci služe samo za lokalni mrežni saobraćaj, ali ne i za povezivanje umreženih računara. U izveštaju treba da tražite vrednosti različite od nule u koloni Send-Q. Ako više priključaka ima takve vrednosti, pa one još i rastu, mreža je zagušena. Da biste proverili da li vrednosti u koloni Send-Q rastu, zadajte i opciju -e da bi se prikaz stalno ažurirao.

    Da biste proverili vezu s računarima u mreži, upotrebite komandu ping. Prvo pokušajte da se povežete s lokalnim računarom navodeći ime povratne petlje (ping localhost), a zatim navodeći IP adresu petlje (ping 127.0.0.1). Zatim proverite povezivanje s lokalnim računarom, navodeći njegovo stvarno ime i IP adresu na mreži. Ako se komanda ping uspešno završi, mreža radi na lokalnom sistemu. Sa druge strane ako se računar odazove na IP adresu ali ne i na ime, proverite odgovarajuću odrednicu u datoteci /etc/hosts. Posle toga, pokušajte da pozovete drugi sistem na mreži, opet služeći se njegovim imenom i IP adresom. U opštem slučaju ako se udaljen računar odazove kada ga pozovete služeći se IP adresom, ali ne i kada ga pozovete po imenu, problem je u serveru imena. U takvom slučaju proverite da li je server imena naznačen u datoteci /ete/resolv.conf.
    Na kraju, pokušajte da pozovete sistem na drugoj mreži (služeći se imenom i IP adresom). Uspešno povezivanje sa sistemima koji nisu na lokalnoj mreži znači da barem možete da izađete na Internet. Ako neki udaljeni sistem nije dostupan, možda u tom trenutku nije ni uključen. Ako ne možete da se povežete sa udaljenim sistemima, proverite da li dobro rade server imena i mrežni prolaz, kao i to da li je interfejs na mreži koji želite da dosegnete uopšte aktivan. Slično tome komanda netstat -nr proverava tabele putanja i ističe nevažeće ili netačne odrednice DNS servera.


    Na kraju ostaje da Vam poželim dobar pogled na Vaše Linux sistemske performanse. :)

    Napomena, članak je pisan namenski za Linux distribuciju Slackware, tako da Vam neke komande možda neće raditi u Mintu.


    Članak izvorno napisan i objavljen na forumu Slackware Srbija zajednice
    Arrow http://slackware-srbija.org/forum/viewtopic.php?f=38&t=1261&p=9459#p9459
     
    Collapse Signature Expand Signature
  5. drinx

    drinx Isključen sa foruma

    Joined:
    07.04.2012
    Messages:
    1,125
    Likes Received:
    132
    Sistem:
    OpenIndiana
    Svaka cast ! Hvala :)
     
    Collapse Signature Expand Signature
  6. Goran

    Korisnik

    Joined:
    30.01.2012
    Messages:
    194
    Likes Received:
    24
    Location:
    Zrenjanin
    Sistem:
    Ubuntu
    Svaka čast, svakako će dobro doći nama koji pokušavamo da uplovima u administriranje linux servera i sistema. :))
     
    Collapse Signature Expand Signature