Analyser
De Diablotins.org.
| Analyser, surveiller l'activité du système
|
| ||
| Observer votre système, comprendre l'utilisation des ressources. |
|
Journaux
Vous avez vu passer toute une liste de paramètres et de détections au démarrage et vous voudriez y revenir ?
Utilisez dmesg(8).
dmesg -a
Vous trouverez la liste de tous les messages de la veille dans /var/log/dmesg.today et /var/log/dmesg.yesterday.
N'oubliez pas que la console est là pour consulter les messages courants, et que ceux-ci sont configurables via syslog.
Matériel
Lors de l'amorçage, tapez lsdev pour obtenir une liste des périphériques de stockage disponibles et lsmod pour obtenir la liste des modules du noyau attachés lors de son chargement.
DMIDecode
Le port sysutils/dmidecode vous donnera de nombreuses informations sur votre matériel.
david:/<1>ports/sysutils/dmidecode>sudo dmidecode -t bios
# dmidecode 2.11
SMBIOS 2.4 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Award Software International, Inc.
Version: F2
Release Date: 12/30/2008
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 1024 kB
Characteristics:
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/360 kB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Targeted content distribution is supported
Handle 0x0017, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Long
Installable Languages: 3
n|US|iso8859-1
n|US|iso8859-1
r|CA|iso8859-1
Currently Installed Language: n|US|iso8859-1
PCI
devinfo(8) vous listera les périphériques connectés.
La sortie est en elle même assez illisible.
pciconf(8) vous donnera des détails sur les périphériques connectés sur le bus pci.
- Liste simple : pciconf -l
- Liste détaillée: pciconf -lv
USB
usbconfig(8) vous listera les périphériques USB.
david:~>sudo usbconfig ugen0.1: <OHCI root HUB nVidia> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen1.1: <EHCI root HUB nVidia> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen0.2: <USB camera vendor 0x0c45> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Pour l'instant, seul une webcam est connectée.
usbdevfs vous donnera les périphériques à qui un pilote a été attaché.
Système
Activité
Pour surveiller l'activité du système, utilisez vmstat(8).
- Afficher le rapport toutes les 5 secondes:
vmstat -w5
- Afficher 5 rapports consécutifs, toutes les deux secondes:
vmstat -w2 -c10 david:/var/log>vmstat -w2 -c5 procs memory page disks faults cpu r b w avm fre flt re pi po fr sr ad1 ad4 in sy cs us sy id 0 0 0 1063M 1483M 211 1 1 0 203 0 0 0 115 48681 5233 6 3 91 0 0 0 1063M 1483M 3365 0 0 0 3374 0 0 2 274 11648 2328 3 2 95 0 0 0 1063M 1483M 429 0 0 0 430 0 0 0 120 13357 929 2 1 97 0 0 0 1063M 1483M 215 0 0 0 219 0 0 7 120 7280 962 1 1 98 0 0 0 1063M 1483M 0 0 0 0 1 0 0 0 98 496 629 0 0 100
- Afficher les interruptions des périphériques:
vmstat -i
david:/var/log>vmstat -i interrupt total rate irq1: atkbd0 38507 5 irq6: fdc0 1 0 irq12: psm0 69412 10 irq14: ata0 17191 2 irq20: nfe0 7409 1 irq21: ohci0+ 13554 1 irq22: vgapci0+ 414714 60 irq23: hdac0 222226 32 cpu0: timer 13633786 1999 cpu1: timer 13633415 1999 Total 28050215 4114
Ce rapport est important, si le taux (rate) est trop élevé, vous avez un problème avec le pilote de périphérique concerné.
- Afficher la consommation de ressources et ses limites ( depuis la branche 9).
vmstat -z
que vous pouvez consulter et modifier par
limits
Réseau
- arp(8) vous dira quelles sont les adresses MAC qui sont connectées
david:~>arp -n -a ? (192.168.1.1) at 00:25:15:53:ec:00 on nfe0 expires in 1169 seconds [ethernet] ? (192.168.1.255) at (incomplete) on nfe0 expired [ethernet] ? (192.168.1.19) at 00:24:1d:16:14:52 on nfe0 permanent [ethernet]
netstat(1) est une interface tout-azimut sur l'activité réseau de votre machine.
- Par connexion:
netstat
Plus précisément, les connexions de la famille inet(3) qui nous intéressent le plus, généralement:
netstat -na -f inet Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 192.168.1.21.47566 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.30380 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.13288 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.32984 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.62788 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.26601 95.130.11.10.443 ESTABLISHED tcp4 0 0 192.168.1.21.10965 209.85.227.139.80 ESTABLISHED tcp4 0 0 192.168.1.21.10710 74.125.19.139.80 ESTABLISHED tcp4 0 0 192.168.1.21.30436 209.85.227.106.80 ESTABLISHED tcp4 0 0 192.168.1.21.12399 192.168.1.1.53 ESTABLISHED tcp4 0 0 192.168.1.21.15306 209.85.227.157.80 ESTABLISHED tcp4 0 0 192.168.1.21.31812 209.85.227.157.80 ESTABLISHED tcp4 0 0 192.168.1.21.27396 209.85.227.157.80 ESTABLISHED tcp4 0 0 127.0.0.1.25 *.* LISTEN udp4 0 0 *.514 *.*
- Par interface:
netstat -i -dh
david:/home/david#netstat -i -dh Name Mtu Network Address Ipkts Ierrs Idrop Opkts Oerrs Coll Drop nfe0 1500 <Link#1> 00:24:1d:16:14:52 9.3K 0 0 7.9K 0 0 365 nfe0 1500 fe80:1::224:1 fe80:1::224:1dff: 0 - - 4 - - - nfe0 1500 192.168.1.0 192.168.1.21 8.9K - - 7.8K - - - plip0 1500 <Link#2> 0 0 0 0 0 0 0 lo0 16384 <Link#3> 4 0 0 4 0 0 0 lo0 16384 your-net localhost 2 - - 2 - - - lo0 16384 localhost ::1 0 - - 2 - - - lo0 16384 fe80:3::1 fe80:3::1 0 - - 0 - - -
- Routage:
netstat -r
Internet: Destination Gateway Flags Refs Use Netif Expire default neufbox UGS 0 6791 nfe0 localhost link#3 UH 0 2 lo0 192.168.1.0 link#1 U 2 1618 nfe0 192.168.1.21 link#1 UHS 0 0 lo0
netstat -rs
routing:
0 bad routing redirects
0 dynamically created routes
0 new gateways due to redirects
43 destinations found unreachable
0 uses of a wildcard route
0 routes not in table but not freed
- Statistiques:
netstat -s -f inet
pour toute une famille, ou
netstat -s -p tcp
pour un protocole.
netstat -Q
pour un bilan de l' expédition express(9) de paquets entre une source et un protocole. Disponible depuis la branche 9.
sockstat(1) est plus précis, il indique les connexions ouvertes:
david:~>sockstat -4L USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS david firefox-bi 1675 46 tcp4 192.168.1.21:17816 209.85.227.157:80 david firefox-bi 1675 48 tcp4 192.168.1.21:30816 209.85.227.157:80 david firefox-bi 1675 49 tcp4 192.168.1.21:47825 209.85.227.157:80 root syslogd 783 7 udp4 *:514 *:*
Entrées sorties
iostat(8) affiche un rapport sur l'activité des terminaux, des disques et du processeur.
iostat -w2 -c3
tty ad1 ad4 cd0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
41 14 4.57 0 0.00 11.59 6 0.07 0.00 0 0.00 4 0 2 0 94
325 127 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100
136 39 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100
Fichiers
fstat(1) affiche les fichiers ouverts et le processus correspondant:
USER CMD PID FD MOUNT INUM MODE SZ|DV R/W david less 20418 root / 2 drwxr-xr-x 1024 r david less 20418 wd /usr 6782977 drwxr-xr-x 2048 r david less 20418 text /usr 5867266 -r-xr-xr-x 141936 r david less 20418 0* pipe ffffff00431d25b0 <-> ffffff00431d2708 0 rw david less 20418 1 /dev 111 crw--w---- pts/2 rw david less 20418 2 /dev 111 crw--w---- pts/2 rw david less 20418 3 /dev 111 crw--w---- pts/2 r
Interface & statistiques
systat(1) affiche en continu des statistiques sur l'activité du système, par défaut les processus qui occupent le plus le ou les processeurs.
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average |
/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100 root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX root Xorg XXXX root csup X
Ici, tout est calme.
Tapez «:» pour changer l'affichage. Par exemple, entrez à la suite:
- pigs: les processus qui occupent le plus le processeur, comme ci dessus.
- swap: L'usage du fichier d'échange.
Disk 1K-blocks Used /0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100 ad4s1b 4194176 0 X
- iostat: Voir chapitre précédent.
/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
cpu user|XXXXXXXXXXX
nice|
system|XXXX
interrupt|
idle|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
ad1 MB/s
tps|
ad4 MB/s
tps|XXXXXXXXXXXXXXXXXXXXXXXX
cd0 MB/s
tps|
pass0 MB/s
tps|
- ip/ip6, tcp, icmp/icmp: statistiques réseau.
- vmstat: Une interface vers le chapitre précédent:
3 users Load 0,03 0,11 0,08 13 mar 17:38
Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 177636 13792 1191172 16828 1091928 count
All 221564 30592 1075019k 48988 pages
Proc: Interrupts
r p d s w Csw Trp Sys Int Sof Flt cow 4244 total
76 1611 197 3001 244 152 zfod atkbd0 1
ozfod fdc0 irq6
0,5%Sys 0,2%Intr 0,2%User 0,0%Nice 99,1%Idle %ozfod 180 psm0 irq12
| | | | | | | | | | | daefr 2 ata0 irq14
prcfr nfe0 irq20
5 dtbuf totfr ohci0+ 21
Namei Name-cache Dir-cache 100000 desvn react 62 vgapci0+ 2
Calls hits % hits % 66514 numvn pdwak hdac0 23
4 4 100 24999 frevn pdpgs 2000 cpu0: time
intrn 2000 cpu1: time
Disks ad1 ad4 cd0 pass0 256264 wire
KB/t 0,00 0,00 0,00 0,00 116696 act
tps 0 0 0 1 418540 inact
MB/s 0,00 0,00 0,00 0,00 4256 cache
%busy 0 0 0 0 1087672 free
204128 buf
- netstat: voir chapitre idoine:
Local Address Foreign Address Proto Recv-Q Send-Q (state) 192.168.1.21.39223 wy-in-f154.1e100.http tcp4 0 0 TIME_WAIT 192.168.1.21.35078 wy-in-f154.1e100.http tcp4 0 0 TIME_WAIT 192.168.1.21.42828 wy-in-f154.1e100.http tcp4 0 0 TIME_WAIT localhost.smtp *.* tcp4 0 0 LISTEN 192.168.1.21.26919 neufbox.domain tcp4 0 0 ESTABLISHED
- ifstat: interfaces réseau:
Interface Traffic Peak Total
lo0 in 0,000 KB/s 0,000 KB/s 0,234 KB
out 0,000 KB/s 0,000 KB/s 0,234 KB
nfe0 in 0,000 KB/s 3,001 KB/s 8,105 MB
out 0,000 KB/s 1,241 KB/s 4,731 MB
Processus
Lister
Le célèbre ps(1) vous donnera un rapport sur une liste de processus.
L'option x inclue les processus qui n'ont pas de terminal associé, ce qui, de nos jours, est la majorité.
- ps x : Vos processus.
- ps ax: ceux des autres aussi.
- ps cx: pas la peine d'en rajouter, vos savez où sont vos exécutables, n'est ce pas ?
- ps dx: intéressant; l'affichage en arborescence:
david:~>ps dcx PID TT STAT TIME COMMAND 1390 ?? Ss 0:01,49 fluxbox 1513 ?? Is 0:00,01 - tcsh 1515 ?? S 0:00,21 `-- xterm 1517 0 Is 0:00,05 `-- tcsh 20331 0 I+ 0:00,19 `-- systat 1665 ?? Is 0:00,01 - tcsh 1667 ?? I 0:00,00 `-- sh 1671 ?? I 0:00,00 `-- sh 1675 ?? I 1:18,08 `-- firefox-bin 1717 ?? Is 0:00,01 - tcsh 1719 ?? I 0:00,14 `-- xterm 1721 1 Is 0:00,01 `-- tcsh 20384 ?? Is 0:00,01 - tcsh 20386 ?? S 0:00,11 `-- xterm 20388 2 Ss 0:00,06 `-- tcsh 20478 2 R+ 0:00,00 `-- ps 1441 ?? I 0:00,00 dbus-launch 1442 ?? Is 0:00,01 dbus-daemon 1521 ?? Is 1:03,40 pulseaudio 1678 ?? S 0:00,04 gconfd-2
- Les threads aussi:
david:~>ps dxH PID TT STAT TIME COMMAND 1390 ?? Ss 0:01,50 fluxbox 1513 ?? Is 0:00,01 - /bin/tcsh -c xterm 1515 ?? I 0:00,21 `-- xterm 1517 0 Is 0:00,05 `-- tcsh 20331 0 I+ 0:00,19 `-- systat 1665 ?? Is 0:00,01 - /bin/tcsh -c firefox3 1667 ?? I 0:00,00 `-- /bin/sh /usr/local/bin/firefox3 1671 ?? I 0:00,00 `-- /bin/sh /usr/local/lib/firefox3/run-mozilla.sh /usr/local/lib/firefox3/firefox-bin 1675 ?? S 1:11,21 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? S 0:00,16 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? S 0:00,12 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? S 0:00,11 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? S 0:03,12 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:03,69 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,00 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,00 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,89 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,00 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,00 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? S 0:00,02 |-- /usr/local/lib/firefox3/firefox-bin 1675 ?? I 0:00,00 `-- /usr/local/lib/firefox3/firefox-bin 1717 ?? Is 0:00,01 - /bin/tcsh -c xterm 1719 ?? I 0:00,14 `-- xterm 1721 1 Is 0:00,01 `-- tcsh 20384 ?? Is 0:00,01 - /bin/tcsh -c xterm 20386 ?? S 0:00,11 `-- xterm 20388 2 Ss 0:00,06 `-- tcsh 20481 2 R+ 0:00,00 `-- ps dxH 1441 ?? I 0:00,00 dbus-launch --autolaunch db4bd23c3ddf3ecd6af7a55e4b64c0c8 --binary-syntax --close-stderr 1442 ?? Is 0:00,01 /usr/local/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 1521 ?? Is 0:19,23 /usr/local/bin/pulseaudio --start --log-target=syslog 1521 ?? Is 0:39,05 /usr/local/bin/pulseaudio --start --log-target=syslog 1521 ?? Is 0:00,05 /usr/local/bin/pulseaudio --start --log-target=syslog 1521 ?? Is 0:05,07 /usr/local/bin/pulseaudio --start --log-target=syslog 1678 ?? S 0:00,04 /usr/local/libexec/gconfd-2
Un peu gourmand, le firefox, uh ?
Notez que tous vous processus sont dans /proc, si vous l'avez monté.
Décrire
procstat(1) vous donnera quelques informations sur un processus:
- Global:
david:~>procstat 20331 PID PPID PGID SID TSID THR LOGIN WCHAN EMUL COMM 20331 1517 20331 1517 1517 1 david ttyin FreeBSD ELF64 systat
- fichiers ouverts:
david:~>procstat -f 20331 PID COMM FD T V FLAGS REF OFFSET PRO NAME 20331 systat cwd v d -------- - - - /var/log 20331 systat root v d -------- - - - / 20331 systat 0 v c rw------ 9 40326 - /dev/pts/0 20331 systat 1 v c rw------ 9 40326 - /dev/pts/0 20331 systat 2 v c rw------ 9 40326 - /dev/pts/0 20331 systat 3 v c r------- 1 0 - /dev/null 20331 systat 4 v c r------- 1 0 - /dev/null 20331 systat 5 v r r------- 1 260 - /etc/pwd.db
- Crédits:
david:~>procstat -s 20331 PID COMM EUID RUID SVUID EGID RGID SVGID GROUPS 20331 systat 1001 1001 1001 0 0 0 0,5,1001,1002
comme précédemment, notez que tout se trouve dans /proc/*.pid:
david:~>ls /proc/20331/ cmdline ctl dbregs etype file fpregs map mem note notepg osrel regs rlimit status
Surveiller
top(1) va surveiller les processus les plus gourmands.

