systemueberpruefung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| systemueberpruefung [2021-03-16 19:07:42] – [RAM] manfred | systemueberpruefung [2024-10-31 14:24:02] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Systemüberprüfung ====== | ||
| + | |||
| + | |||
| + | ===== wichtige Befehle ===== | ||
| + | |||
| + | |||
| + | ==== Festplatten ==== | ||
| + | |||
| + | df -k # Platz in kByte | ||
| + | df -h # Platz in gröstmöglicher Einheit | ||
| + | vmstat 1 # zeigt die Systemaktivitäten im Sekundentakt | ||
| + | # si - Swap in (in den Swap schreiben) | ||
| + | # so - Swap out (aus dem Swap lesen) | ||
| + | # bi - Block in (auf Platte schreiben) | ||
| + | # bo - Block out (von Platte lesen) | ||
| + | vmstat -p / | ||
| + | vmstat -d 1 # detailierte Plattenstatistik | ||
| + | fdisk -l # (Nur als root!) ansprechbare Platten zeigen | ||
| + | |||
| + | ansprechbare Platten zeigen: | ||
| + | # ls -1 /sys/block/ | egrep -v ' | ||
| + | |||
| + | ansprechbare Platten mit Partitionen zeigen: | ||
| + | # ls -1 / | ||
| + | |||
| + | # cat / | ||
| + | MAJOR=104 | ||
| + | MINOR=0 | ||
| + | DEVNAME=cciss/ | ||
| + | DEVTYPE=disk | ||
| + | |||
| + | # cat / | ||
| + | MAJOR=104 | ||
| + | MINOR=1 | ||
| + | DEVNAME=cciss/ | ||
| + | DEVTYPE=partition | ||
| + | |||
| + | Wenn ein LVM eingerichtet ist, hat man es schwer zu ermitteln | ||
| + | welches dm auf welcher physikalischen Platte liegt... | ||
| + | Dieses Kommando zeigt welches virtuelle Volumen auf welcher | ||
| + | physikalischen Platte liegt: | ||
| + | # ls -l / | ||
| + | |||
| + | |||
| + | ==== File Handler ==== | ||
| + | |||
| + | Will man ein Verzeichnis umount(en) und bekommt die Meldung | ||
| + | " | ||
| + | noch auf das Verzeichnis zugreifen. | ||
| + | |||
| + | zeigt offene Dateien in dem Verzeichnis (Linux/ | ||
| + | # fuser -vm /home/ | ||
| + | |||
| + | zeigt offene Dateien in dem Verzeichnis (FreeBSD/ | ||
| + | # fuser -c /home/ | ||
| + | |||
| + | |||
| + | ==== CPU ==== | ||
| + | |||
| + | Prozessorinformationen: | ||
| + | # cat / | ||
| + | |||
| + | # top | ||
| + | ps -ef | less # UNIX-Style (Standard-Syntax) | ||
| + | ps aux | less # BSD-Style | ||
| + | ps wwwaux | less # BSD-Style (längere Kommandozeile) | ||
| + | ps axo user, | ||
| + | ps wwaxo user, | ||
| + | vmstat 1 # zeigt die Systemaktivitäten im Sekundentakt | ||
| + | # us - User (User-Space-Interupts) | ||
| + | # sy - System | ||
| + | # id - Idle (nix zu tun) | ||
| + | # wa - Waiting | ||
| + | |||
| + | |||
| + | ==== RAM ==== | ||
| + | |||
| + | # top # im Kopf steht die Speicherauslastung | ||
| + | # VIRT - virtueller Speicher (RAM+Swap) | ||
| + | # RES - resident im RAM (eigentlicher RAM-Verbrauch) | ||
| + | # Swap = VIRT - RES | ||
| + | # SHR - shared Speicher (meist verwendet von gemeinsam genutzte Libs) | ||
| + | |||
| + | # free | ||
| + | |||
| + | Speicherinformationen: | ||
| + | # cat / | ||
| + | |||
| + | zeigt in der letzten Zeile den GENAUEN Speicherverbrauch des Prozesses unter " | ||
| + | # pmap -d [PID] | ||
| + | |||
| + | [[http:// | ||
| + | # top -b -o +%MEM | head -n 22 | ||
| + | top - 11:51:41 up 18 days, 23: | ||
| + | Tasks: 156 total, | ||
| + | %Cpu(s): | ||
| + | KiB Mem: 16432776 total, 16136676 used, | ||
| + | KiB Swap: | ||
| + | | ||
| + | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND | ||
| + | 32496 mysql | ||
| + | 12528 root 20 | ||
| + | 1010 syslog | ||
| + | 13914 root 20 | ||
| + | 7924 root 20 | ||
| + | 8068 root 20 | ||
| + | 7968 fritz | ||
| + | 8067 root 20 | ||
| + | 7967 fritz | ||
| + | 7039 root 20 | ||
| + | 11993 root 20 | ||
| + | 16350 root 20 | ||
| + | 1 root 20 | ||
| + | 5566 root 20 | ||
| + | 16351 root 20 | ||
| + | |||
| + | |||
| + | === auf FreeBSD === | ||
| + | |||
| + | # top -b -o size | head -n 22 | ||
| + | last pid: 51378; | ||
| + | 68 processes: | ||
| + | CPU: 0.0% user, 0.0% nice, 3.2% system, | ||
| + | Mem: 2861M Active, 10G Inact, 12G Wired, 1337M Buf, 37G Free | ||
| + | ARC: 6738M Total, 2267M MFU, 3145M MRU, 1044K Anon, 35M Header, 1283M Other | ||
| + | 4291M Compressed, 6701M Uncompressed, | ||
| + | Swap: 7949M Total, 7949M Free | ||
| + | | ||
| + | PID USERNAME | ||
| + | 47293 root | ||
| + | 56527 squid | ||
| + | 48263 root 1 34 0 | ||
| + | 44830 root 1 20 0 | ||
| + | 49207 root 1 20 0 | ||
| + | 38845 root | ||
| + | 46816 root 2 20 0 | ||
| + | 47692 root 1 20 0 | ||
| + | 36392 murmur | ||
| + | 43004 www | ||
| + | 48037 www | ||
| + | 43924 www | ||
| + | 47806 www | ||
| + | |||
| + | # top -b -o res | head -n 22 | ||
| + | last pid: 56238; | ||
| + | 68 processes: | ||
| + | CPU: 0.0% user, 0.0% nice, 3.2% system, | ||
| + | Mem: 2861M Active, 10G Inact, 12G Wired, 1337M Buf, 37G Free | ||
| + | ARC: 6738M Total, 2266M MFU, 3145M MRU, 788K Anon, 35M Header, 1283M Other | ||
| + | 4291M Compressed, 6701M Uncompressed, | ||
| + | Swap: 7949M Total, 7949M Free | ||
| + | | ||
| + | PID USERNAME | ||
| + | 47293 root | ||
| + | 56527 squid | ||
| + | 44830 root 1 20 0 | ||
| + | 49207 root 1 20 0 | ||
| + | 47692 root 1 20 0 | ||
| + | 46816 root 2 20 0 | ||
| + | 38845 root | ||
| + | 43004 www | ||
| + | 48037 www | ||
| + | 43924 www | ||
| + | 47806 www | ||
| + | 42752 www | ||
| + | 11115 www | ||
| + | |||
| + | |||
| + | ==== NIC ==== | ||
| + | |||
| + | NIC's mit IP's anzeigen: | ||
| + | # ip aadr | ||
| + | |||
| + | zeigt alle aktiven NIC's: | ||
| + | ifconfig -a | ||
| + | |||
| + | |||
| + | ls -l / | ||
| + | |||
| + | |||
| + | cat / | ||
| + | |||
| + | |||
| + | ls -1 / | ||
| + | |||
| + | Netzwerkkollisionen: | ||
| + | cat / | ||
| + | |||
| + | Empfangsfehler: | ||
| + | cat / | ||
| + | |||
| + | Sendefehler: | ||
| + | cat / | ||
| + | |||
| + | empfangene CRC-Fehler: | ||
| + | cat / | ||
| + | |||
| + | Dateien mit Error-Statistik-Infos: | ||
| + | ls -la / | ||
| + | |||
| + | |||
| + | Will man die Netzwerkauslastung ermitteln, ohne das man | ||
| + | eine Bandbreitensoftware zur verfühgung hat, kann man wie | ||
| + | folgt vorgehen. | ||
| + | |||
| + | empfangene Datenmenge in Byte/ | ||
| + | # XB=" | ||
| + | |||
| + | gesendete Datenmenge in Byte/ | ||
| + | # XB=" | ||
| + | |||
| + | |||
| + | ===== Grundlegendes ===== | ||
| + | |||
| + | Sollte ein System langsam sein, muss man als erstes ermitteln wo der Engpass | ||
| + | liegt. Als Engpass kommen fast immer nur vier Systemressourcen in Frage: | ||
| + | - Prozessor | ||
| + | - Speicher (bei zu wenig RAM wird auf die Festplatte -> Swap zugegriffen) | ||
| + | - Festplatte | ||
| + | - Netzwerk | ||
| + | |||
| + | **ACHTUNG!!!** | ||
| + | Die "load average" | ||
| + | Die "load average" | ||
| + | muss bis er wieder CPU-Zeit bekommt, sie sagt aber nichts über | ||
| + | die CPU-Auslastung aus!!! | ||
| + | |||
| + | Ein hoher "load average" | ||
| + | Systemressourcen die Systemleistung begrenzt. | ||
| + | Oft muss aber nicht das System selbst schuldig sein, denn oft | ||
| + | wartet ein Prozess nur auf Daten eines anderen Prozesses, der | ||
| + | auch auf einem anderen Rechner laufen kann. | ||
| + | Das treibt unter Umständen auch die "load average" | ||
| + | |||
| + | |||
| + | ==== Prozessor ==== | ||
| + | |||
| + | Ob die CPU am Anschlag läuft, sieht man am schnellsten mit " | ||
| + | # top | ||
| + | |||
| + | # vmstat 1 | ||
| + | |||
| + | |||
| + | ==== Speicher ==== | ||
| + | |||
| + | Ob der RAM ausgeschöpft ist, kann man auf unterschiedlichen | ||
| + | Arten ermitteln | ||
| + | # free | ||
| + | # top | ||
| + | # cat / | ||
| + | # vmstat 1 | ||
| + | |||
| + | |||
| + | ==== Festplatte ==== | ||
| + | |||
| + | # vmstat 1 | ||
| + | |||
| + | |||
| + | ==== Netzwerk ==== | ||
| + | |||
| + | Das Netzwerk als Engpass zu ermitteln geht fast immer nur über die | ||
| + | Ausschlussmethode. Denn nur wenn die Netzwerkbandbreite voll ausgeschöpft | ||
| + | ist, kann man definitiv sagen, dass es an zu wenig Netzwerkbandbreite liegt. | ||
| + | Meistens warten die Prozesse aber nur auf Antworten aus dem Netz, so das es | ||
| + | im System keinen ersichtlichen Engpass gibt! | ||
| + | |||
| + | Die aktuell genutzte Netzwerkbandbreite kann man wie folgt ermitteln. | ||
| + | letzte Sekunde im Durchschnitt (Byte/ | ||
| + | # XB=" | ||
| + | # XB=" | ||
| + | |||
| + | letzte Minute im Durchschnitt (Byte/ | ||
| + | # XB=" | ||
| + | # XB=" | ||
| + | |||
| + | |||
| + | ===== FreeBSD 12 ===== | ||
| + | |||
| + | |||
| + | ==== RAM ==== | ||
| + | |||
| + | leider zeigt die FreeBSD-Version von " | ||
| + | # top | ||
| + | last pid: 11041; | ||
| + | 87 processes: | ||
| + | CPU: 0.1% user, 76.5% nice, 12.9% system, 10.2% interrupt, | ||
| + | Mem: 362M Active, 431M Inact, 12G Wired, 40K Buf, 2432M Free | ||
| + | ... | ||
| + | |||
| + | hier steht nur: | ||
| + | * **Active:** RAM-Größe des aktiv genutzt wird | ||
| + | * **Inact:** RAM-Größe die inaktiv ist | ||
| + | * **Wired:** " | ||
| + | * **Cache:** Datenmenge, die im RAM zwischengespeichert liegt, um die langsamen Festplattenzugriffe zu minimieren | ||
| + | * **Buf:** RAM-Größe die für den Festplatten-Cache auf BIO-Ebene verwendet wird | ||
| + | * **Free:** freie RAM-Größe | ||
| + | |||
| + | beim Booten wird die RAM-Größe einmal ausgegeben: | ||
| + | # fgrep memory / | ||
| + | real memory | ||
| + | avail memory = 16096768000 (15351 MB) | ||
| + | |||
| + | __aus dem Kernel-Status kann man die RAM-Größe jeder Zeit auslesen:__ | ||
| + | # sysctl hw | egrep ' | ||
| + | hw.physmem: 16595222528 | ||
| + | hw.usermem: 4956823552 | ||
| + | hw.realmem: 17179869184 | ||
| + | | ||
| + | # sysctl hw | awk '/ | ||
| + | hw.physmem: | ||
| + | hw.usermem: | ||
| + | hw.realmem: | ||
| + | |||
| + | angelehnt an das Linux-Werkzeug " | ||
| + | # pkg install sysutils/ | ||
| + | | ||
| + | # freecolor | ||
| + | Physical | ||
| + | Swap : [################################### | ||
| + | | ||
| + | # freecolor -tom | ||
| + | | ||
| + | Mem: | ||
| + | Swap: 16384 0 16384 | ||
| + | Total: | ||
| + | |||
