Následuje seznam příkazů OS kromě základních příkazů, které jsou užitečné při diagnostice problémů na konci OS, které způsobují pomalý výkon. Upozorňujeme, že všechny výše uvedené příkazy jsou testovány pouze v prostředí Linuxu.
Pokud jste připraveni vysledovat své problémy s výkonem, zde je několik nástrojů, které vám pomohou začít:
- sar :S nainstalovaným balíkem sysstat použijte příkaz sar k zobrazení informací o aktivitě pro řadu systémových funkcí nebo k získání představy o využití prostředků v průběhu času. Po instalaci shromažďují úlohy cron sysstat každých 10 minut systémová data, která lze později zobrazit pomocí příkazu sar. Pomocí sar můžete také zobrazit stejné datové typy živě.
- dstat :Dstat, vytvořený jako náhrada za vmstat, iostat a ifstat, nabízí mnoho možností pro kombinování a zobrazení různých typů systémových dat. Zobrazuje data barevně a umožňuje prezentovat různé informace ve zvolených sloupcích. Pomocí dstat můžete vidět statistiky o CPU vašeho systému, diskových I/O, síťové aktivitě, stránkování, přerušeních, průměrech zatížení, paměti, procesech, časových čítačích a souborových systémech. Použijte dstat k porovnání aktivní systémové aktivity pro různé typy zdrojů. Například během stahování velkých souborů můžete porovnat aktivitu sítě a disku.
- ps :Příkaz ps je běžný způsob, jak zjistit, které procesy běží. V kombinaci s volbami vám ps umožňuje vybrat, které sloupce se mají zobrazit pro každý proces, a seřadit data podle kteréhokoli z těchto sloupců. Použijte ps k zobrazení informací o všech nebo jakýchkoli procesech aktuálně spuštěných ve vašem systému.
- nahoře :V horní části můžete sledovat obrazově orientované zobrazení procesů běžících ve vašem systému, které se každých několik sekund aktualizuje. Můžete třídit podle využití CPU nebo paměti a zabíjet nebo renice procesy. Použijte top k okamžitému nalezení vašich nejnáročnějších procesů.
- iostat :Iostat vám primárně umožňuje zobrazit I/O statistiky pro zařízení (jako jsou disky a síťová rozhraní). To je užitečné pro kontrolu I/O úzkých míst, protože data jsou zobrazena jako procento kapacity zařízení pro čtení/zápis.
- mpstat :Příkaz mpstat vypisuje využití CPU. Pomocí mpstat můžete zjistit, kolik CPU je spotřebováno, a získat obecnou představu o tom, odkud tato spotřeba pochází.
- vmstat :Zobrazí statistiky paměti pomocí příkazu vmstat. Pokud je výkon slabý, použijte vmstat a zjistěte, zda je paměť vyčerpána a zda se systém nadměrně neodkládá.
- iptraf :Chcete-li použít grafický nástroj pro sledování síťového provozu, spusťte příkaz iptraf. Použijte iptraf, abyste viděli, které konkrétní IP adresy generují nejvíce síťového provozu do az vašeho systému.
- tcpdump :Tento textový nástroj vám umožňuje sledovat pakety zasahující vybraná síťová rozhraní a volitelně tyto pakety filtrovat, aby hledaly určité typy aktivity. Použijte tcpdump ke sledování problémů s výkonem souvisejících s konkrétními službami – můžete si vybrat zobrazení pouze paketů určených pro konkrétní službu.
- wireshark :Tento nástroj je grafická verze tcpdump s mnoha analytickými funkcemi. Nástroj obsahuje podporu pro dekódování mnoha běžně používaných protokolů a jejich zobrazení v interaktivním grafickém uživatelském rozhraní.
Nyní se podívejme hlouběji na několik nástrojů, které jsme právě uvedli.
1. Výstup příkazu „iotop“ pro prostředí Linux.
Příkaz iotop je špičkový nástroj pro diskové I/O. Sleduje výstup informací o využití I/O linuxovým jádrem (vyžaduje v2.6.20 nebo novější) a zobrazuje tabulku aktuálního využití I/O procesy nebo vlákny v systému. To vyžaduje, aby příkaz spustil uživatel root.
2. Chcete-li shromáždit informace o mezipaměti souborového systému pomocí výstupu příkazu „free“, abyste zjistili využití mezipaměti souborového systému:
- příkaz „free“ pro kontrolu využití paměti.
- „Vyrovnávací paměti“ představují, kolik části paměti RAM je vyhrazeno bloku mezipaměti disku. „Cached“ je podobné jako „Buffery“, ale tentokrát ukládá stránky ze čtení souborů.
- Vyrovnávací paměť je něco, co ještě nebylo „zapsáno“ na disk.
- Cache je něco, co bylo „přečteno“ z disku a uloženo pro pozdější použití.
3. Chcete-li zkontrolovat seznam záplat OS aplikovaných v Linuxu pomocí níže uvedeného příkazu. To pomůže identifikovat změny, které CT provedla v minulosti:
# rpm -qa --last > last-rpms.txtPoznámka :Zobrazí se seznam aplikovaných oprav s datem a časem.
4. Shromáždit informace o paměti/CPU/IO/NUMA atd. pro jakékoli změny z výstupu dmesg. Lze sbírat každých 30 sekund:
– Chcete-li zobrazit informace o hardwaru související s portem Ethernet eth0:
$ dmesg | grep -i eth0
– Zobrazení celkové dostupné paměti a podrobností o sdílené paměti:
$ dmesg | grep -i Memory
– Zobrazení informací tty:
$ dmesg | grep -i tty
– Zobrazení informací NUMA:
$ dmesg | grep -i numa
– Zobrazení informací o pevných discích:
$ dmesg | grep -i sda
– Zobrazení informací souvisejících s CPU:
$ dmesg | grep -i CPU
5. Shromáždění globálního protokolu systémových zpráv:
/var/log/messages /var/log/dmesg
Příkaz dmesg zobrazuje aktuální obsah zpráv kruhové vyrovnávací paměti syslog jádra, zatímco soubor /var/log/dmesg obsahuje to, co bylo v této kruhové vyrovnávací paměti při posledním dokončení zaváděcího procesu. /var/log/dmesg zůstane nezměněn až do příštího restartu. Staré zprávy jsou v ring bufferu nahrazeny novými.
dmesg je podmnožinou /var/log/messages a je udržován v kruhové vyrovnávací paměti. /var/log/messages obsahuje všechny systémové zprávy včetně zpráv od spuštění systému spolu se zprávami v dmesg. Stručně řečeno, protokoly z dmesg jsou uloženy ve /var/log/messages.
Názvy a použití běžných souborů protokolu Linux:
- /var/log/messages :Obecné zprávy a věci související se systémem
- /var/log/auth.log :Protokoly ověřování
- /var/log/kern.log :Protokoly jádra
- /var/log/cron.log :Protokoly Crond (úloha cron)
- /var/log/maillog :Protokoly poštovního serveru
- /var/log/qmail/ :Adresář protokolu Qmail (více souborů v tomto adresáři)
- /var/log/httpd/ :Adresář přístupů a protokolů chyb Apache
- /var/log/lighttpd/ :Adresář přístupu a protokolů chyb Lighttpd
- /var/log/boot.log :Protokol spouštění systému
- /var/log/mysqld.log :Soubor protokolu databázového serveru MySQL
- /var/log/secure nebo /var/log/auth.log :Protokol ověřování
- /var/log/utmp nebo /var/log/wtmp :Soubor přihlašovacích záznamů
- /var/log/yum.log :Soubor protokolu příkazů Yum.
6. Chcete-li zkontrolovat, zda se používají velké stránky. Chcete-li provést pouze na začátku a na konci kolekce OSW:
# grep -i Hugepages /proc/meminfo # cat /proc/meminfo
7. Kontrola souborového systému používaného v OS. Provede se pouze jednou:
# cat /etc/fstab
8. Shromažďování informací o aktivitě systému za poslední týden:
/var/log/sa obsahuje soubory pro sa a sar, které obsahují informace o historii využití CPU.
# ls -al /var/log/sa | grep "Mar 12" -rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12 -rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12
“sar -W -f /var/log/sa/sa12” – zobrazuje historické informace o stránkování/záměně
# less /var/log/sa/sa12
9. Chcete-li získat informace o CPU Arch:
# lscpu # cat /proc/cpuinfo
10. Chcete-li získat informace o sdílené paměti/semaforech jádra:
# ipcs -lm # ipcs -ls # cat /proc/sys/kernel/shmmax # cat /proc/sys/kernel/shmmni getconf PAGE_SIZE # cat /proc/sys/kernel/shmall
11. Chcete-li získat informace o úchytech souborů:
# cat /proc/sys/fs/file-max # cat /proc/sys/fs/file-nr
12. Chcete-li získat informace o ulimit pro Open file descriptors/maxproc:
# su - oracle # ulimit -n # ulimit -u
13. Chcete-li zkontrolovat maximální velikost IO na požadavek IO:
# cat /sys/block/[device]/queue/max_sectors_kb
Chcete-li určit maximální velikost I/O v bajtech, když se používá asynchronní vstup/výstup:
# cat /proc/sys/fs/aio-max-size
nebo
# cat /proc/sys/fs/aio-max-nr
14. Chcete-li zobrazit model diskového zařízení, standardy, konfiguraci, kapacitu atd.:
Příklad:
# hdparm -I /dev/sda # sudo hdparm -i /dev/sda
15. Chcete-li zkontrolovat velikost bloku pro konkrétní zařízení:
Příklad:
# blockdev --getbsz /dev/xvda1 # tune2fs -l /dev/vgxx/lvolx