GNU/Linux >> Znalost Linux >  >> Linux

Top 25 nejlepších nástrojů pro monitorování a ladění výkonu Linuxu

Zkompiloval jsem 25 nástrojů pro monitorování výkonu a ladění, které budou užitečné při práci v prostředí Linuxu. Tento seznam není v žádném případě úplný ani směrodatný.

Tento seznam však obsahuje dostatek nástrojů, abyste si mohli pohrát a vybrat ten, který je vhodný pro váš konkrétní scénář ladění a monitorování.

1. SAR

Pomocí nástroje sar můžete dělat dvě věci:1) Monitorovat výkon systému v reálném čase (CPU, paměť, I/O atd.) 2) Průběžně shromažďovat data o výkonu na pozadí a provádět analýzu historických dat pro identifikaci úzká hrdla.

Sar je součástí balíčku sysstat. Níže jsou uvedeny některé z věcí, které můžete dělat pomocí nástroje sar.

  • Kolektivní využití procesoru
  • Statistiky jednotlivých CPU
  • Použitá a dostupná paměť
  • Vyměňte použitý a dostupný prostor
  • Celkové I/O aktivity systému
  • Jednotlivé I/O aktivity zařízení
  • Statistiky přepínání kontextu
  • Spustit frontu a načíst průměrná data
  • Síťové statistiky
  • Hlášení dat sar z konkrétního času
  • a mnoho dalšího..

Následující příkaz sar zobrazí statistiku CPU systému třikrát (s intervalem 1 sekundy).

Následující příkaz „sar -b“ hlásí I/O statistiku. „1 3“ znamená, že sar -b se provede každou 1 sekundu, celkem tedy třikrát.

$ sar -b 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

Další příklady SAR:Jak nainstalovat/konfigurovat Sar (sysstat) a 10 užitečných příkladů příkazů Sar

2. Tcpdump

tcpdump je síťový analyzátor paketů. Pomocí tcpdump můžete zachycovat pakety a analyzovat je na případná úzká hrdla výkonu.

Následující příklad příkazu tcpdump zobrazuje zachycené pakety v ASCII.

$ tcpdump -A -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652
E.....@.@..]..i...9...*.V...]...P....h....E...>{..U=...g.
......G..7\+KA....A...L.
14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652
E.....@.@..\..i...9...*.V..*]...P....h....7......X..!....Im.S.g.u:*..O&....^#Ba...
E..(R.@.|.....9...i.*...]...V..*P..OWp........

Pomocí tcpdump můžete zachytit pakety na základě několika vlastních podmínek. Například zachycení paketů, které procházejí konkrétním portem, zachycení tcp komunikace mezi dvěma konkrétními hostiteli, zachycení paketů, které patří ke konkrétnímu typu protokolu atd.

Další příklady tcpdump:15 Příklady příkazů TCPDUMP

3. Nagios

Nagios je open source monitorovací řešení, které dokáže monitorovat prakticky cokoliv ve vaší IT infrastruktuře. Například, když selže server, může poslat upozornění vašemu systémovému administrátorskému týmu, když selže databáze, může zavolat vašemu DBA týmu, když selže webový server, může upozornit příslušný tým.

Můžete také nastavit úroveň varování a kritické prahové hodnoty pro různé služby, které vám pomohou problém aktivně řešit. Může například upozornit tým správce systému, když se diskový oddíl zaplní z 80 %, což týmu správce systému poskytne dostatek času na práci na přidání dalšího místa, než se problém stane kritickým.

Nagios má také velmi dobré uživatelské rozhraní, odkud můžete sledovat stav vaší celkové IT infrastruktury.

Níže jsou uvedeny některé z věcí, které můžete sledovat pomocí Nagios:

  • Veškerý hardware (servery, přepínače, směrovače atd.)
  • Servery Linux a servery Windows
  • Databáze (Oracle, MySQL, PostgreSQL atd.)
  • Ve vašem operačním systému běží různé služby (sendmail, nis, nfs, ldap atd.)
  • Webové servery
  • Vaše vlastní aplikace
  • atd.

Další příklady Nagios:Jak nainstalovat a nakonfigurovat Nagios, monitorovat vzdálený počítač se systémem Windows a monitorovat vzdálený server Linux.

4. Iostat

iostat hlásí statistiky CPU, diskových I/O a NFS. Níže jsou uvedeny některé příklady příkazů iostat.

Iostat bez jakéhokoli argumentu zobrazuje informace o využití CPU a I/O statistiky o všech oddílech v systému, jak je uvedeno níže.

$ iostat
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

Ve výchozím nastavení iostat zobrazuje I/O data pro všechny disky dostupné v systému. Chcete-li zobrazit statistiky pro konkrétní zařízení (například /dev/sda), použijte volbu -p, jak je uvedeno níže.

$ iostat -p sda
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

5. Mpstat

mpstat hlásí statistiky procesorů. Níže jsou uvedeny některé příklady příkazů mpstat.

Možnost -A zobrazí všechny informace, které lze zobrazit příkazem mpstat, jak je uvedeno níže. Toto je skutečně ekvivalentní příkazu „mpstat -I ALL -u -P ALL“.

$ mpstat -A
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:26:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:26:34 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:26:34 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

10:26:34 PM  CPU    intr/s
10:26:34 PM  all     36.51
10:26:34 PM    0      0.00
10:26:34 PM    1      0.00
10:26:34 PM    2      0.04
10:26:34 PM    3      0.00

10:26:34 PM  CPU     0/s     1/s     8/s     9/s    12/s    14/s    15/s    16/s    19/s    20/s    21/s    33/s   NMI/s   LOC/s   SPU/s   PMI/s   PND/s   RES/s   CAL/s   TLB/s   TRM/s   THR/s   MCE/s   MCP/s   ERR/s   MIS/s
10:26:34 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.47    0.00    0.00    0.00    0.00    0.02    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.90    0.00    0.00    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.04    0.00    0.00    0.00    0.00    0.00    3.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.

Možnost mpstat -P ALL, zobrazí všechny jednotlivé CPU (nebo jádra) spolu s jejich statistikami, jak je uvedeno níže.

$ mpstat -P ALL
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:28:04 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:28:04 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:28:04 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:28:04 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

6. Vmstat

vmstat hlásí statistiky virtuální paměti. Níže jsou uvedeny některé příklady příkazů vmstat.

vmstat ve výchozím nastavení zobrazí využití paměti (včetně swapu), jak je uvedeno níže.

$ 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 305416 260688  29160 2356920    2    2     4     1    0    0  6  1 92  2  0

To execute vmstat every 2 seconds for 10 times, do the following. After executing 10 times, it will stop automatically.
$ vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 537144 182736 6789320    0    0     0     0    1    1  0  0 100  0  0
 0  0      0 537004 182736 6789320    0    0     0     0   50   32  0  0 100  0  0
..

iostat a vmstat jsou součástí obslužného programu sar. Měli byste nainstalovat balíček sysstat, aby iostat a vmstat fungovaly.

Další příklady:24 Příklady příkazů iostat, vmstat a mpstat

7. Příkaz PS

Proces je spuštěná instance programu. Linux je multitaskingový operační systém, což znamená, že může být aktivních více než jeden proces najednou. Pomocí příkazu ps zjistěte, jaké procesy běží ve vašem systému.

Příkaz ps vám také poskytne mnoho dalších informací o běžícím procesu, které vám pomohou identifikovat případná úzká místa výkonu ve vašem systému.

Následuje několik příkladů příkazů ps.

Použijte volbu -u k zobrazení procesu, který patří ke konkrétnímu uživatelskému jménu. Pokud máte více uživatelských jmen, oddělte je čárkou. Níže uvedený příklad zobrazuje všechny procesy, které vlastní uživatel wwwrun nebo postfix.

$ ps -f -u wwwrun,postfix
UID        PID  PPID  C STIME TTY          TIME CMD
postfix   7457  7435  0 Mar09 ?        00:00:00 qmgr -l -t fifo -u
wwwrun    7495  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7496  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7497  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7498  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7499  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10078  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10082  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
postfix  15677  7435  0 22:23 ?        00:00:00 pickup -l -t fifo -u

Níže uvedený příklad zobrazuje ID procesu a příkazy v hierarchii. –forest je argument příkazu ps, který zobrazuje ASCII umění stromu procesů. Z tohoto stromu můžeme identifikovat, který je nadřazený proces, a podřízený proces jej rozvětvený zpracovává rekurzivním způsobem.

$ ps -e -o pid,args --forest
  468  \_ sshd: root@pts/7
  514  |   \_ -bash
17484  \_ sshd: root@pts/11
17513  |   \_ -bash
24004  |       \_ vi ./790310__11117/journal
15513  \_ sshd: root@pts/1
15522  |   \_ -bash
 4280  \_ sshd: root@pts/5
 4302  |   \_ -bash

Další příklady PS:7 praktických příkladů PS příkazů pro monitorování procesu

8. Zdarma

Příkaz Free zobrazuje informace o fyzické (RAM) a odkládací paměti vašeho systému.

V níže uvedeném příkladu je celková fyzická paměť v tomto systému 1 GB. Níže zobrazené hodnoty jsou v kB.

# free
       total   used    free   shared  buffers  cached
Mem: 1034624   1006696 27928  0       174136   615892
-/+ buffers/cache:     216668      817956
Swap:    2031608       0    2031608

Následující příklad zobrazí celkovou paměť ve vašem systému včetně RAM a Swap.

V následujícím příkazu:

  • volba m zobrazí hodnoty v MB
  • možnost t zobrazí řádek „Celkem“, což je součet hodnot fyzické a odkládací paměti
  • Možností o je skrýt řádek mezipaměti/mezipaměti z výše uvedeného příkladu.
# free -mto
                  total       used      free     shared    buffers     cached
Mem:          1010        983         27              0         170           601
Swap:          1983            0    1983
Total:          2994        983     2011

9. TOP

Příkaz Top zobrazí všechny běžící procesy v systému seřazené podle určitých sloupců. Toto zobrazí informace v reálném čase.

Můžete zabít proces, aniž byste opustili vrchol. Jakmile najdete proces, který je třeba zabít, stiskněte „k“, čímž budete požádáni o ID procesu a signál k odeslání. Pokud máte oprávnění zabít konkrétní PID, bude úspěšně zabit.

PID to kill: 1309
Kill PID 1309 with signal [15]:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
 5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus

Pomocí top -u zobrazíte konkrétní uživatelské procesy pouze ve výstupu příkazu top.

$ top -u geek

Zatímco je spuštěn unixový top příkaz, stiskněte u, čímž budete požádáni o uživatelské jméno, jak je uvedeno níže.

Which user (blank for all): geek
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

Další nejlepší příklady:15 praktických příkladů hlavních příkazů Linuxu

10. Pmap

příkaz pmap zobrazí mapu paměti daného procesu. Musíte předat pid jako argument příkazu pmap.

Následující příklad zobrazuje mapu paměti aktuálního bash shellu. V tomto příkladu je 5732 PID shellu bash.

$ pmap 5732
5732:   -bash
00393000    104K r-x--  /lib/ld-2.5.so
003b1000   1272K r-x--  /lib/libc-2.5.so
00520000      8K r-x--  /lib/libdl-2.5.so
0053f000     12K r-x--  /lib/libtermcap.so.2.0.8
0084d000     76K r-x--  /lib/libnsl-2.5.so
00c57000     32K r-x--  /lib/libnss_nis-2.5.so
00c8d000     36K r-x--  /lib/libnss_files-2.5.so
b7d6c000   2048K r----  /usr/lib/locale/locale-archive
bfd10000     84K rw---    [ stack ]
 total     4796K

pmap -x poskytuje některé další informace o paměťových mapách.

$  pmap -x 5732
5732:   -bash
Address   Kbytes     RSS    Anon  Locked Mode   Mapping
00393000     104       -       -       - r-x--  ld-2.5.so
003b1000    1272       -       -       - r-x--  libc-2.5.so
00520000       8       -       -       - r-x--  libdl-2.5.so
0053f000      12       -       -       - r-x--  libtermcap.so.2.0.8
0084d000      76       -       -       - r-x--  libnsl-2.5.so
00c57000      32       -       -       - r-x--  libnss_nis-2.5.so
00c8d000      36       -       -       - r-x--  libnss_files-2.5.so
b7d6c000    2048       -       -       - r----  locale-archive
bfd10000      84       -       -       - rw---    [ stack ]
-------- ------- ------- ------- -------
total kB    4796       -       -       -

Chcete-li zobrazit informace o zařízení v procesních mapách, použijte ‚pamp -d pid‘.

11. Netstat

Příkaz Netstat zobrazuje různé informace související se sítí, jako jsou síťová připojení, směrovací tabulky, statistiky rozhraní, maskovaná připojení, členství v multicast atd.,

Níže jsou uvedeny příklady příkazů netstat.

Vypište všechny porty (naslouchající i nenaslouchající) pomocí netstat -a, jak je uvedeno níže.

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:30037         *:*                     LISTEN
udp        0      0 *:bootpc                *:*                                

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket

Pomocí následujícího příkazu netstat zjistíte, na kterém portu běží program.

# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        1      0 dev-db:ssh           101.174.100.22:39213        CLOSE_WAIT  -
tcp        1      0 dev-db:ssh           101.174.100.22:57643        CLOSE_WAIT  -

Pomocí následujícího příkazu netstat zjistíte, který proces používá konkrétní port.

# netstat -an | grep ':80'

Další příklady netstat:10 příkladů příkazů Netstat

12. IPTraf

IPTraf je software pro monitorování sítě IP. Níže jsou uvedeny některé z hlavních funkcí IPTraf:

  • Je to konzolový (textový) nástroj.
  • Zobrazí se provoz IP procházející přes vaši síť. Zobrazuje příznak TCP, počty paketů a bajtů, ICMP, typy paketů OSPF atd.
  • Zobrazuje rozšířené statistiky rozhraní (včetně IP, TCP, UDP, ICMP, velikosti a počtu paketů, chyb kontrolního součtu atd.)
  • LAN modul automaticky zjišťuje hostitele a zobrazuje jejich aktivity
  • Filtry zobrazení protokolu pro zobrazení provozu selektivního protokolu
  • Pokročilé funkce protokolování
  • Kromě ethernetového rozhraní podporuje také FDDI, ISDN, SLIP, PPP a zpětnou smyčku
  • Nástroj můžete také spustit v režimu celé obrazovky. Má také textovou nabídku.

Další informace: Domovská stránka IPTraf. Snímek obrazovky IPTraf.

13. Strace

Strace se používá pro ladění a odstraňování problémů se spuštěním spustitelného souboru v prostředí Linuxu. Zobrazuje systémová volání používaná procesem a signály přijaté procesem.

Strace monitoruje systémová volání a signály konkrétního programu. Je to užitečné, když nemáte zdrojový kód a chtěli byste odladit provádění programu. strace vám poskytuje sekvenci provádění binárního souboru od začátku do konce.

Sledujte konkrétní systémová volání ve spustitelném souboru pomocí volby -e

Ve výchozím nastavení strace zobrazuje všechna systémová volání pro daný spustitelný soubor. Následující příklad ukazuje výstup strace pro příkaz Linux ls.

$ strace ls
execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0
brk(0)                                  = 0x8c31000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0

Chcete-li zobrazit pouze určité systémové volání, použijte volbu strace -e, jak je uvedeno níže.

$ strace -e open ls
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libselinux.so.1", O_RDONLY)  = 3
open("/lib/librt.so.1", O_RDONLY)       = 3
open("/lib/libacl.so.1", O_RDONLY)      = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/lib/libattr.so.1", O_RDONLY)     = 3
open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3

Další příklady strace:7 příkladů strace pro ladění provádění programu v Linuxu

14. Lsof

Lsof je zkratka pro ls open files, která zobrazí seznam všech otevřených souborů v systému. Mezi otevřené soubory patří síťové připojení, zařízení a adresáře. Výstup příkazu lsof bude mít následující sloupce:

  • Název procesu COMMAND.
  • ID procesu PID
  • Uživatelské jméno
  • Deskriptor souboru FD
  • TYPE typ uzlu souboru
  • Číslo zařízení DEVICE
  • Velikost souboru SIZE
  • Číslo uzlu NODE
  • NAME úplná cesta názvu souboru.

Chcete-li zobrazit všechny otevřené soubory systému, spusťte příkaz lsof bez jakéhokoli parametru, jak je uvedeno níže.

# lsof | more
COMMAND     PID       USER   FD      TYPE     DEVICE      SIZE       NODE NAME
init          1       root  cwd       DIR        8,1      4096          2 /
init          1       root  rtd       DIR        8,1      4096          2 /
init          1       root  txt       REG        8,1     32684     983101 /sbin/init
init          1       root  mem       REG        8,1    106397     166798 /lib/ld-2.3.4.so
init          1       root  mem       REG        8,1   1454802     166799 /lib/tls/libc-2.3.4.so
init          1       root  mem       REG        8,1     53736     163964 /lib/libsepol.so.1
init          1       root  mem       REG        8,1     56328     166811 /lib/libselinux.so.1
init          1       root   10u     FIFO       0,13                  972 /dev/initctl
migration     2       root  cwd       DIR        8,1      4096          2 /
skipped..

Chcete-li zobrazit otevřené soubory konkrétního uživatele, použijte volbu lsof -u k zobrazení všech souborů otevřených konkrétním uživatelem.

# lsof -u ramesh
vi      7190 ramesh  txt    REG        8,1   474608   475196 /bin/vi
sshd    7163 ramesh    3u  IPv6   15088263               TCP dev-db:ssh->abc-12-12-12-12.

Chcete-li zobrazit seznam uživatelů konkrétního souboru, použijte lsof, jak je uvedeno níže. V tomto příkladu zobrazuje všechny uživatele, kteří aktuálně používají vi.

# lsof /bin/vi
COMMAND  PID  USER    FD   TYPE DEVICE   SIZE   NODE NAME
vi      7258  root   txt    REG    8,1 474608 475196 /bin/vi
vi      7300  ramesh txt    REG    8,1 474608 475196 /bin/vi

15. Ntop

Ntop je jako top, ale pro síťový provoz. ntop je monitor síťového provozu, který zobrazuje využití sítě.

Můžete také přistupovat k ntop z prohlížeče a získat informace o provozu a stavu sítě.

Níže jsou uvedeny některé klíčové vlastnosti ntop:

  • Zobrazení síťového provozu rozděleného podle protokolů
  • Seřaďte výstup síťového provozu na základě několika kritérií
  • Zobrazit statistiky síťového provozu
  • Možnost ukládat statistiky síťového provozu pomocí RRD
  • Uveďte identifikaci uživatelů a hostitelského operačního systému
  • Schopnost analyzovat a zobrazovat provoz IT
  • Schopnost pracovat jako kolektor NetFlow/sFlow pro směrovače a přepínače
  • Zobrazuje statistiky síťového provozu podobné RMON
  • Funguje v systémech Linux, MacOS a Windows

Více informací:Ntop domovská stránka

16. GkrellM

GKrellM je zkratka pro GNU Krell Monitors nebo GTK Krell Meters. Jedná se o monitorovací program založený na sadě nástrojů GTK+, který monitoruje různé systémové zdroje. UI je stabilní. tj. můžete přidat tolik monitorovacích objektů, kolik chcete, jeden na druhém. Stejně jako jakýkoli jiný monitorovací nástroj založený na uživatelském rozhraní pro stolní počítače může monitorovat CPU, paměť, souborový systém, využití sítě atd. Ale pomocí pluginů můžete sledovat externí aplikace.

Více informací:domovská stránka GkrellM

17. w a provozuschopnost

Při sledování výkonu systému bude příkaz w hledět na to, kdo je přihlášen do systému.

$ w
09:35:06 up 21 days, 23:28,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM          LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0            24Oct11  21days 1:05   1:05 /usr/bin/Xorg :0 -nr -verbose
ramesh   pts/0    192.168.1.10  Mon14    0.00s  15.55s 0.26s sshd: localuser [priv]
john     pts/0    192.168.1.11  Mon07    0.00s  19.05s 0.20s sshd: localuser [priv]
jason    pts/0    192.168.1.12  Mon07    0.00s  21.15s 0.16s sshd: localuser [priv]

Pro každého přihlášeného uživatele zobrazí následující informace:

  • Uživatelské jméno
  • informace tty
  • IP adresa vzdáleného hostitele
  • Čas přihlášení uživatele
  • Jak dlouho byl uživatel nečinný
  • JCPU a PCUP
  • Příkaz aktuálního procesu, který uživatel provádí

Řádek 1 výstupu příkazu w je podobný výstupu příkazu uptime. Zobrazí se následující:

  • Aktuální čas
  • Jak dlouho je systém v provozu
  • Celkový počet uživatelů, kteří jsou aktuálně přihlášeni do systému
  • Průměrné zatížení za posledních 1, 5 a 15 minut

Pokud chcete pouze informace o dostupnosti, použijte příkaz uptime.

$ uptime
 09:35:02 up 106 days, 28 min,  2 users,  load average: 0.08, 0.11, 0.05

Upozorňujeme, že příkaz w i uptime získává informace z datového souboru /var/run/utmp.

18. /proc

/proc je virtuální souborový systém. Například, pokud uděláte ls -l /proc/stat, všimnete si, že má velikost 0 bajtů, ale pokud uděláte „cat /proc/stat“, uvidíte uvnitř souboru nějaký obsah.

Proveďte ls -l /proc a uvidíte spoustu adresářů pouze s čísly. Tato čísla představují ID procesu, soubory v tomto očíslovaném adresáři odpovídají procesu s daným PID.

Níže jsou uvedeny důležité soubory umístěné pod každým očíslovaným adresářem (pro každý proces):

  • cmdline – příkazový řádek příkazu.
  • prostředí – proměnné prostředí.
  • fd – Obsahuje deskriptory souborů, které jsou propojeny s příslušnými soubory.
  • limity – obsahuje informace o konkrétních omezeních procesu.
  • připojení – informace související s připojením

Níže jsou uvedeny důležité odkazy pod každým očíslovaným adresářem (pro každý proces):

  • cwd – odkaz na aktuální pracovní adresář procesu.
  • exe – odkaz na spustitelný soubor procesu.
  • root – odkaz na kořenový adresář procesu.

Další příklady /proc:Prozkoumejte Linux /proc File System

19. KDE System Guard

To se také nazývá KSysGuard. Na linuxových desktopech, na kterých běží KDE, můžete tento nástroj použít ke sledování systémových prostředků. Kromě monitorování místního systému to může také monitorovat vzdálené systémy.

Pokud používáte prostředí KDE, přejděte do části Aplikace -> Systém -> Monitor systému, čímž se spustí KSysGuard. Můžete jej také spustit zadáním ksysguard z příkazového řádku.

Tento nástroj zobrazí následující dvě karty:

  • Tabulka procesů – Zobrazuje všechny aktivní procesy. Zde můžete seřadit, zabít nebo změnit prioritu procesů
  • Zatížení systému – Zobrazuje grafy využití procesoru, paměti a sítě. Tyto grafy lze upravit kliknutím pravým tlačítkem na kterýkoli z těchto grafů.

Chcete-li se připojit ke vzdálenému hostiteli a monitorovat jej, klikněte na nabídku Soubor -> Monitorovat vzdálený počítač -> zadejte IP adresu hostitele, způsob připojení (například ssh). Tím budete požádáni o uživatelské jméno/heslo na vzdáleném počítači. Po připojení se na kartách Tabulka procesů a Zatížení systému zobrazí využití systému vzdáleného stroje.

20. Monitor systému GNOME

Na linuxových desktopech s GNOME můžete tento nástroj použít k monitorování procesů, systémových prostředků a souborových systémů z grafického rozhraní. Kromě monitorování můžete tento nástroj uživatelského rozhraní použít také k ukončení procesu a změně priority procesu.

Pokud používáte plochu GNOME, přejděte do části Systém -> Správa -> Sledování systému, čímž se spustí Monitor systému GNOME. Můžete jej také spustit zadáním gnome-system-monitor z příkazového řádku.

Tento nástroj má následující čtyři karty:

  • Systém – Zobrazuje systémové informace včetně verze distribuce Linuxu, systémových prostředků a informací o hardwaru.
  • Procesy – Zobrazuje všechny aktivní procesy, které lze třídit podle různých polí
  • Zdroje – Zobrazuje využití procesoru, paměti a sítě
  • Systémy souborů – Zobrazuje informace o aktuálně připojených systémech souborů

Další informace:Domovská stránka GNOME System Monitor

21. Conky

Conky je systémový monitor nebo X. Conky zobrazuje informace v uživatelském rozhraní pomocí toho, co nazývá objekty. Ve výchozím nastavení existuje více než 250 objektů, které jsou spojeny s conky, která zobrazuje různé monitorovací informace (CPU, paměť, síť, disk atd.). Podporuje IMAP, POP3, několik audio přehrávačů.

Můžete monitorovat a zobrazovat jakoukoli externí aplikaci vytvořením vlastních objektů pomocí skriptování. Monitorovací informace mohou být zobrazeny v různých formátech:text, grafy, ukazatele průběhu atd. Tento nástroj je extrémně konfigurovatelný.

Další informace:Conky screenshoty

22. Kaktus

Cacti je uživatelské rozhraní založené na PHP pro RRDTool. Cacti ukládá data potřebná k vytvoření grafu v databázi MySQL.

Následují některé funkce Cacti na vysoké úrovni:

  • Možnost shromažďovat data a ukládat je do databáze MySQL (nebo do kruhových archivů)
  • K dispozici je několik pokročilých grafických funkcí (seskupování položek grafu GPRINT, automatické vyplnění grafů, manipulace s daty grafu pomocí matematické funkce CDEF, jsou podporovány všechny položky grafu RRDTool)
  • Zdroj dat může shromažďovat místní nebo vzdálená data pro graf
  • Možnost plně přizpůsobit nastavení RRA (Round Robin Archive)
  • Uživatel může definovat vlastní skripty pro shromažďování dat
  • Podpora SNMP (php-snmp, ucd-snmp nebo net-snmp) pro shromažďování dat
  • Vestavěný poler pomáhá spouštět vlastní skripty, získávat data SNMP, aktualizovat soubory RRD atd.
  • Vysoce flexibilní funkce šablon grafů
  • Uživatelsky přívětivé a přizpůsobitelné možnosti zobrazení grafu
  • Vytvořte různé uživatele s různými sadami oprávnění pro přístup k rozhraní kaktusů
  • Pro jednotlivého uživatele lze nastavit podrobné úrovně oprávnění
  • a mnoho dalšího..

Více informací:Domovská stránka kaktusů

23. Vnstat

vnstat je nástroj příkazového řádku, který zobrazuje a zaznamenává síťový provoz rozhraní ve vašich systémech. To závisí na statistikách sítě poskytovaných jádrem. Vnstat tedy nepřidává žádné další zatížení vašeho systému pro monitorování a protokolování síťového provozu.

vnstat bez jakéhokoli argumentu vám poskytne rychlé shrnutí s následujícími informacemi:

  • Naposledy, kdy byla aktualizována databáze vnStat umístěná pod /var/lib/vnstat/
  • Od chvíle, kdy začal shromažďovat statistiky pro konkrétní rozhraní
  • Statistická data sítě (vyslané bajty, přijaté bajty) za poslední dva měsíce a poslední dva dny.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Pomocí „vnstat -t“ nebo „vnstat –top10“ zobrazíte všech 10 dní s nejvyšší návštěvností.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Další příklady vnstat:Jak monitorovat a protokolovat síťový provoz pomocí VNStat

24. Htop

htop je prohlížeč procesů založený na ncurses. To je podobné top, ale je flexibilnější a uživatelsky přívětivější. S htopem můžete komunikovat pomocí myši. Můžete posouvat svisle, abyste zobrazili úplný seznam procesů, a posouvat vodorovně, abyste viděli celý příkazový řádek procesu.

htop výstup se skládá ze tří částí 1) záhlaví 2) tělo a 3) zápatí.

Záhlaví zobrazí následující tři pruhy a několik důležitých systémových informací. Kterékoli z nich můžete změnit v nabídce nastavení htop.

  • Využití CPU:Zobrazuje % použité v textu na konci pruhu. Samotný pruh bude zobrazovat různé barvy. Nízká priorita v modré, normální v zelené, jádro v červené.
  • Využití paměti
  • Využití výměny

Tělo zobrazí seznam procesů seřazených podle % využití CPU. Pomocí kláves se šipkami, klávesy page up, page down můžete procházet procesy.

Zápatí zobrazí příkazy nabídky htop.

Další informace:Snímek obrazovky HTOP a příklady

25. Statistika zásuvky – SS

ss znamená statistiku zásuvky. Zobrazí informace, které jsou podobné příkazu netstat.

Chcete-li zobrazit všechny naslouchající zásuvky, proveďte ss -l, jak je uvedeno níže.

$ ss -l
Recv-Q Send-Q   Local Address:Port     Peer Address:Port
0      100      :::8009                :::*
0      128      :::sunrpc              :::*
0      100      :::webcache            :::*
0      128      :::ssh                 :::*
0      64       :::nrpe                :::*

Následující zobrazuje pouze navázané připojení.

$ ss -o state established
Recv-Q Send-Q   Local Address:Port   Peer Address:Port
0      52       192.168.1.10:ssh   192.168.2.11:55969    timer:(on,414ms,0)

Následující zobrazuje souhrnnou statistiku soketu. Zobrazí se celkový počet soketů rozdělených podle typu.

$ ss -s
Total: 688 (kernel 721)
TCP:   16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11

Transport Total     IP        IPv6
*         721       -         -
RAW       0         0         0
UDP       13        10        3
TCP       16        7         9
INET      29        17        12
FRAG      0         0         0

Jaký nástroj používáte ke sledování výkonu v prostředí Linuxu? Přehlédl jsem některý z vašich oblíbených nástrojů pro sledování výkonu? Zanechte komentář.


Linux
  1. 4 Nástroje pro monitorování výkonu Linuxu založené na CLI:top, htop, ps a vmstat

  2. 5 nejlepších nástrojů pro monitorování Linuxu na bázi terminálu

  3. Top 20 nejlepších certifikací a kurzů Red Hat Linux

  1. Nejlepší nástroje pro pořizování a úpravu snímků obrazovky v Linuxu

  2. Top 5 nejlepších nástrojů pro monitorování systému

  3. Úvod do sledování a ladění výkonu Linuxu

  1. Nejlepší nástroje Linux Partition Manager:8 nejlepších zkontrolovaných a porovnaných

  2. 20 nejlepších linuxových videokonferenčních programů a nástrojů

  3. Top 20 nejlepších Linux Mail Server Software a řešení