GNU/Linux >> Znalost Linux >  >> Linux

Základní příkazy pro řešení problémů s výkonem v Linuxu

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.txt
Pozná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


Linux
  1. 40 Základních často používaných příkazů Linuxu

  2. Použití nfsstat a nfsiostat k řešení problémů s výkonem NFS v Linuxu

  3. Jak zničit váš systém:Nebezpečné příkazy Linuxu

  1. 10 základních linuxových příkazů, které potřebujete znát

  2. 3 Užitečné Linuxové příkazy pro systémové administrátory

  3. Nejlepší základní Linuxové příkazy pro začátečníky

  1. Linuxové příkazy od A do Z

  2. Základní Linuxové příkazy

  3. Linuxový příkaz echo