atop ist ein erweitertes Performance-Monitor-Tool für Linux. Es zeigt detaillierte System-Ressourcen in Echtzeit und zeichnet historische Daten auf.
Installation
# Debian/Ubuntu
apt install atop
# RHEL/CentOS
dnf install atop
# Service aktivieren (für Historie)
systemctl enable atop
systemctl start atopGrundlagen
atop starten
# Interaktiver Modus
atop
# Mit Intervall (5 Sekunden)
atop 5
# Mit Anzahl Samples
atop 5 10Bildschirm-Bereiche
ATOP - hostname 2026/01/26 10:00:00
PRC | sys 0.85s | user 2.35s | #proc 234 | #trun 2 |
CPU | sys 4% | user 12% | irq 1% | idle 83% | wait 0% |
CPL | avg1 0.85 | avg5 0.62 | avg15 0.45 | csw 12345 | intr 23456 |
MEM | tot 15.6G | free 8.2G | cache 4.1G | buff 512M | slab 800M |
SWP | tot 4.0G | free 4.0G | | vmcom 8.2G | vmlim 11.8G |
DSK | sda | busy 5% | read 123 | write 456 | avio 2.3ms |
NET | transport | tcpi 1234 | tcpo 2345 | udpi 100 | udpo 200 |
NET | network | ipi 1234 | ipo 2345 | ipfrw 0 | deliv 1234 |
NET | eth0 | pcki 1234 | pcko 2345 | si 12 Mbps | so 24 Mbps |
PID SYSCPU USRCPU VGROW RGROW ST EXC THR S CPU CMD
1234 0.12s 0.45s 12M 8M -- - 4 S 5% nginx
2345 0.08s 0.32s 4M 2M -- - 2 S 3% mysqlNavigation
Tastaturbefehle
| Taste | Funktion | |-------|----------| | g | Generische Ansicht | | m | Memory-Details | | d | Disk-Details | | n | Netzwerk-Details | | c | Kommandozeile anzeigen | | p | Prozess-Sortierung | | 1 | Pro CPU-Statistiken | | t | Vorwärts in Zeit | | T | Rückwärts in Zeit | | b | Zum Zeitpunkt springen | | q | Beenden |
Sortierung
| Taste | Sortierung nach | |-------|-----------------| | C | CPU-Verbrauch | | M | Memory-Verbrauch | | D | Disk-Aktivität | | N | Netzwerk-Aktivität | | A | Automatisch (aktivste Ressource) |
Ansichten
Memory-Ansicht (m)
# Memory-Details pro Prozess
MEM | tot 15.6G | free 8.2G | cache 4.1G | buff 512M | slab 800M |
PID MINFLT MAJFLT VSTEXT VSLIBS VDATA VSTACK VSIZE RSIZE MEM CMD
1234 1234 0 500K 120M 80M 136K 250M 180M 1.1% nginx
2345 2345 5 200K 80M 800M 136K 1.2G 600M 3.8% mysqlDisk-Ansicht (d)
# Disk I/O pro Prozess
DSK | sda | busy 5% | read 123 | write 456 | avio 2.3ms |
PID RDDSK WRDSK WCANCL DSK CMD
1234 12M 45M 0 23% mysql
2345 800K 1.2M 0 5% nginxNetzwerk-Ansicht (n)
# Netzwerk pro Prozess
NET | eth0 | pcki 1234 | pcko 2345 | si 12 Mbps | so 24 Mbps |
PID TCPRCV TCPSND RAWRCV RAWSND NET CMD
1234 12M 45M 0 0 5% nginxHistorische Daten
Aufzeichnung
# atop zeichnet automatisch auf
# /var/log/atop/atop_YYYYMMDD
# Konfiguration
# /etc/default/atop (Debian)
# /etc/sysconfig/atop (RHEL)
LOGINTERVAL=600 # 10 Minuten
LOGGENERATIONS=28 # 28 Tage aufbewahrenHistorische Daten lesen
# Heutiges Log
atop -r
# Bestimmtes Datum
atop -r /var/log/atop/atop_20260126
# Mit Zeitbereich
atop -r /var/log/atop/atop_20260126 -b 10:00 -e 12:00Navigation in Historie
# In der Historie:
t = nächstes Sample
T = vorheriges Sample
b = zu Zeitpunkt springenSpezielle Optionen
Nur aktive Prozesse
# Nur Prozesse mit Aktivität
atop -a
# Minimale Werte für Anzeige
atop -fKumulative Statistiken
# Akkumulierte Werte seit Start
atop -AProzess-Filter
# Nur bestimmte Prozesse
atop -P CPU,MEM,DSK
# Mit Regex-Filter
atop -p "nginx|mysql"atopsar - Berichte
Systemweite Reports
# CPU-Bericht
atopsar -c
# Memory-Bericht
atopsar -m
# Disk-Bericht
atopsar -d
# Netzwerk-Bericht
atopsar -nZeitraum wählen
# Heutiger Bericht
atopsar -c -r /var/log/atop/atop_20260126
# Mit Zeitbereich
atopsar -c -b 08:00 -e 18:00 -r /var/log/atop/atop_20260126Beispiel-Ausgabe
$ atopsar -c -r /var/log/atop/atop_20260126
hostname 3.10.0-1160.el7.x86_64 #1 SMP 8 CPU
08:00:00 %usr %nice %sys %irq %softirq %steal %guest %wait %idle
08:10:00 12 0 4 0 1 0 0 0 83
08:20:00 15 0 5 0 1 0 0 1 78
08:30:00 45 0 12 1 2 0 0 5 35Container-Support
Docker-Container
# Container-Statistiken anzeigen
# Taste 'e' drückt für Container-Details
# cgroup-Informationen
atop -CKonfiguration
/etc/default/atop (Debian)
# Intervall in Sekunden
LOGINTERVAL=600
# Anzahl Generationen (Tage)
LOGGENERATIONS=28
# Prozess-Accounting
PRCSACCT=yes/etc/atoprc
# Globale Konfiguration
# ~/.atoprc für User
# Farben
colorinfo cyan
coloralmost yellow
colorcritical red
# Standardansicht
flags AafProzess-Accounting
Aktivieren
# Prozess-Accounting für beendete Prozesse
echo 1 > /proc/sys/kernel/sched_autogroup_enabled
# In atop
# 'p' zeigt auch beendete ProzesseVergleich
| Feature | atop | htop | top | |---------|------|------|-----| | Historische Daten | ✓ | - | - | | Disk I/O pro Prozess | ✓ | - | - | | Netzwerk pro Prozess | ✓ | - | - | | Beendete Prozesse | ✓ | - | - | | Ressourcen-Trends | ✓ | - | - |
Anwendungsbeispiele
Performance-Problem analysieren
# 1. Historische Daten des Zeitraums öffnen
atop -r /var/log/atop/atop_20260126 -b 10:00
# 2. Mit 't' durch Samples navigieren
# 3. Sortieren nach verdächtiger Ressource
# 'C' für CPU, 'M' für Memory, 'D' für Disk
# 4. Prozess-Details mit 'g' anzeigenTäglicher Health-Check
#!/bin/bash
# daily-atop-report.sh
DATE=$(date +%Y%m%d)
REPORT="/var/log/atop/report-$DATE.txt"
echo "=== CPU ===" > $REPORT
atopsar -c -r /var/log/atop/atop_$DATE >> $REPORT
echo -e "\n=== Memory ===" >> $REPORT
atopsar -m -r /var/log/atop/atop_$DATE >> $REPORT
echo -e "\n=== Disk ===" >> $REPORT
atopsar -d -r /var/log/atop/atop_$DATE >> $REPORT
mail -s "Daily atop Report $DATE" admin@example.de < $REPORTPeak-Zeiten finden
# CPU-Spitzen
atopsar -c -r /var/log/atop/atop_20260126 | sort -k2 -rn | head -10
# Memory-Spitzen
atopsar -m -r /var/log/atop/atop_20260126 | sort -k7 -rn | head -10Zusammenfassung
| Befehl | Funktion | |--------|----------| | atop | Interaktiver Modus | | atop -r | Historische Daten lesen | | atopsar -c | CPU-Bericht | | atopsar -m | Memory-Bericht | | atopsar -d | Disk-Bericht | | atopsar -n | Netzwerk-Bericht |
| Taste | Ansicht | |-------|---------| | g | Generisch | | m | Memory | | d | Disk | | n | Netzwerk | | 1 | Per-CPU | | c | Commandline |
| Sortierung | Taste | |------------|-------| | CPU | C | | Memory | M | | Disk | D | | Netzwerk | N | | Auto | A |
Fazit
atop ist unverzichtbar für detaillierte System-Analyse. Die automatische Aufzeichnung ermöglicht Post-Mortem-Analyse. Disk- und Netzwerk-Statistiken pro Prozess sind einzigartig. Die historischen Daten helfen bei der Ursachenforschung. Für produktive Server sollte atop standardmäßig installiert sein.