GNU/Linux
Uzyskiwanie informacji o systemie
Szukaj…
Wprowadzenie
Zbiór poleceń w celu pobrania informacji związanych z systemem.
Lista sprzętu
Ubuntu:
lshw to małe narzędzie do wyodrębniania szczegółowych informacji o konfiguracji sprzętowej urządzenia. Może raportować dokładną konfigurację pamięci, wersję oprogramowania układowego, konfigurację płyty głównej, wersję i prędkość procesora, konfigurację pamięci podręcznej, prędkość magistrali itp.
$ sudo lshw | less (or more)
$ sudo lshw -html > myhardware.html
$ sudo lshw -xml > myhardware.xml
Aby wyświetlić informacje o PCI
$ lspci -tv
Aby zobaczyć informacje o USB
$ lsusb -tv
Aby wyświetlić informacje o systemie BIOS
$ dmidecode -q | less
Aby zobaczyć szczegółowe informacje o dysku (na przykład dysk sda), możesz użyć:
$ hdparm -i /dev/sda
Kilka dodatkowych narzędzi / poleceń pomoże zebrać dodatkowe informacje:
$ smartctl -A /dev/sda | grep Power_On_Hours # How long has this disk (system) been powered on in total
$ hdparm -tT /dev/sda # Do a read speed test on disk sda
$ badblocks -s /dev/sda # Test for unreadable blocks on disk sda
Znajdź informacje o modelu / prędkości procesora
Ubuntu:
$ cat /proc/cpuinfo
Przykładowe dane wyjściowe:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.18
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
....
..
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.30
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
procesor zliczający (w tym rdzenie):
$ grep -c processor /proc/cpuinfo
Monitorowanie procesu i zbieranie informacji
Ogólnie rzecz biorąc, masz dwa sposoby monitorowania procesów na hoście Linux
Monitorowanie statyczne
Najczęściej stosowanym poleceniem jest polecenie ps
(tj. Status procesu), które służy do dostarczania informacji o aktualnie uruchomionych procesach, w tym ich numerów identyfikacyjnych procesu (PID).
Oto kilka przydatnych opcji, aby zebrać określone informacje.
Lista procesów w hierarchii
$ ps -e -o pid,args --forest
Wyświetla listę procesów posortowanych według% użycia procesora
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Lista procesów posortowanych według użycia mem (KB).
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Wyświetl wszystkie wątki dla określonego procesu (na przykład proces „firefox-bin”)
$ ps -C firefox-bin -L -o pid,tid,pcpu,state
Po znalezieniu określonego procesu możesz zebrać związane z nim informacje za pomocą lsof
aby wyświetlić ścieżki otwarte przez identyfikator procesu
$ lsof -p $$
Lub na podstawie ścieżki znajdź listę procesów, które podały ścieżkę jako otwartą
$ lsof ~
Interaktywny monitoring
Najbardziej znanym narzędziem do dynamicznego monitorowania jest:
$ top
To najczęściej domyślne polecenie, które ma ogromne opcje filtrowania i reprezentowania informacji w czasie rzeczywistym (w porównaniu do polecenia ps
.
Nadal jest więcej zaawansowanych opcji, które można rozważyć i zainstalować jako top
zamienniki
$ htop -d 5
lub
$ atop
Który ma możliwość logowania się wszystkie działania do pliku dziennika (domyślne szczycie będzie rejestrować wszystkie aktywności na każde 600 sekund) Do tej liście jest kilka wyspecjalizowanych poleceń jak iotop
lub iftop
$ sudo iotop
Statystyki dotyczące procesora, pamięci, sieci i dysku (operacje we / wy)
Aby uzyskać ogólne statystyki dotyczące głównych komponentów Linuksa, rodzina poleceń stat
jest niezwykle przydatna
procesor
Aby uzyskać statystyki związane z procesorami, możesz użyć polecenia mpstat
ale z niektórymi opcjami zapewni lepszą widoczność:
$ mpstat 2 10
Pamięć
Wszyscy wiedzą komenda free
, aby pokazać ilość (pozostałej) pamięci RAM, ale aby zobaczyć wszystkie statystyki w tym operacji I / O:
$ vmstat 2 10
Dysk
Aby uzyskać ogólne informacje o operacjach na dysku w czasie rzeczywistym, możesz użyć iostat
.
$ iostat -kx 2
Sieć
Aby zobaczyć, co dzieje się z twoimi usługami sieciowymi, możesz użyć netstat
$ netstat -ntlp # open TCP sockets
$ netstat -nulp # open UDP sockets
$ netstat -nxlp # open Unix sockets
Możesz jednak znaleźć przydatne monitorowanie ruchu sieciowego w czasie rzeczywistym:
$ sudo iftop
Opcjonalny
Aby generować statystyki w czasie rzeczywistym dotyczące operacji we / wy we wszystkich komponentach, możesz użyć narzędzia dstat
. To narzędzie, które jest wszechstronnym zamiennikiem vmstat
, iostat
i ifstat
Korzystanie z narzędzi takich jak lscpu i lshw
Korzystanie z narzędzi takich jak lscpu jako lscpu jest łatwym sposobem na uzyskanie informacji o procesorze.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 1998.000
BogoMIPS: 5303.14
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
NUMA node0 CPU(s): 0-3
Za pomocą narzędzia lshw
$ lshw | grep cpu
df1-ws-5084
description: Computer
width: 64 bits
capabilities: vsyscall32
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 5881MiB
*-cpu
product: Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
size: 3GHz
capacity: 3GHz
width: 64 bits