minitorovaniio
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| minitorovaniio [2013/09/09 12:59] – [UseCase1 (disk read/write old kernel method)] djbuldog | minitorovaniio [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Monitorovani IO ====== | ====== Monitorovani IO ====== | ||
| - | * kolik CPU/RAM zere jaky proces se zjisti snadno, napriklad vypisem | + | * kolik CPU/RAM zere jaky proces se zjisti snadno, napriklad vypisem |
| * monitorovani IO je zlozitejsi a dost casto zpomaluje system nejvic | * monitorovani IO je zlozitejsi a dost casto zpomaluje system nejvic | ||
| Řádek 14: | Řádek 14: | ||
| * sar | * sar | ||
| + | ===== iostat ===== | ||
| + | * využívá hodnoty ze sar | ||
| + | * příklad statistik | ||
| + | < | ||
| + | iostat -d 2 | ||
| + | Linux 2.6.18-194.3.1.el5 (nejaky.stroj.nekde.cz) | ||
| + | |||
| + | Device: | ||
| + | sda | ||
| + | sda1 0.07 | ||
| + | sda2 0.00 | ||
| + | sda3 2.51 | ||
| + | sda4 555.50 | ||
| + | |||
| + | Device: | ||
| + | sda | ||
| + | sda1 0.00 | ||
| + | sda2 0.00 | ||
| + | sda3 0.00 | ||
| + | sda4 0.50 | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | |||
| + | * první statistika je myslím průmer za celý den, další výpisy odpovídají už zadanému časovému období | ||
| + | |||
| + | ===== sar ===== | ||
| + | * ukládá statistiky dlouhodobě (období lze specifikovat) | ||
| + | * příklad: | ||
| + | < | ||
| + | # sar -b | ||
| + | Linux 2.6.18-194.3.1.el5 (nejakej.stroj.nekde.cz) | ||
| + | |||
| + | 12:00:01 AM | ||
| + | 12:10:01 AM 843.15 | ||
| + | 12:20:01 AM | ||
| + | 12:30:01 AM | ||
| + | 12:40:01 AM | ||
| + | 12:50:01 AM | ||
| + | 01:00:01 AM | ||
| + | 01:10:01 AM 891.21 | ||
| + | 01:20:01 AM 838.14 | ||
| + | .. | ||
| + | </ | ||
| + | * výpis obsahuje průměry za 10 minut. Sloupec bread/bwrtn udává, kolik bloků bylo přečteno/ | ||
| + | * Bloky jsou pravdepodobne velikosti 512B, prestoze filesystem pouziva bloky vetsi, typicky 4k. | ||
| + | |||
| + | < | ||
| + | | ||
| + | Total amount of data read from the devices in blocks per second. | ||
| + | alent to sectors with 2.4 kernels and newer and therefore have a size of 512 bytes. | ||
| + | With older kernels, a block is of indeterminate size. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | tune2fs -l /dev/sda4 | grep "Block size" | ||
| + | Block size: 4096 | ||
| + | </ | ||
| Řádek 62: | Řádek 120: | ||
| </ | </ | ||
| - | ===== UseCase2 (single | + | ===== UseCase2 (process read/write) ===== |
| A quick way is to look at the / | A quick way is to look at the / | ||
| Řádek 75: | Řádek 133: | ||
| </ | </ | ||
| + | ==== read/write per process ==== | ||
| + | |||
| + | <file bash iomon.sh> | ||
| + | #!/bin/bash | ||
| + | |||
| + | while [ 1 ] | ||
| + | do | ||
| + | |||
| + | # | ||
| + | CPIDS=`ls /proc/ | grep " | ||
| + | |||
| + | i=0 | ||
| + | for P in $CPIDS | ||
| + | do | ||
| + | STATA[i]=`cat /proc/$P/io 2>/ | ||
| + | i=$((i+1)) | ||
| + | done | ||
| + | |||
| + | sleep 1 | ||
| + | |||
| + | i=0 | ||
| + | for P in $CPIDS | ||
| + | do | ||
| + | STATB[i]=`cat /proc/$P/io 2>/ | ||
| + | i=$((i+1)) | ||
| + | done | ||
| + | |||
| + | i=0 | ||
| + | for P in $CPIDS | ||
| + | do | ||
| + | [[ ${STATB[$i]} -gt 0 ]] && [[ ${STATA[$i]} -gt 0 ]] && DIFF=$(( ${STATB[$i]} - ${STATA[$i]} | ||
| + | [[ $DIFF -gt 0 ]] && { | ||
| + | DIFF=$((DIFF/ | ||
| + | echo "PID $P: $DIFF kB/s (${STATB[$i]} - ${STATA[$i]})" | ||
| + | echo -e "PID $P: | ||
| + | } | ||
| + | i=$((i+1)) | ||
| + | done | ||
| + | |||
| + | echo " | ||
| + | |||
| + | done | ||
| + | </ | ||
| ===== UseCase3 (high IO waiting) ===== | ===== UseCase3 (high IO waiting) ===== | ||
| | | ||
minitorovaniio.1378724388.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
