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 atop

Grundlagen

atop starten

# Interaktiver Modus
atop

# Mit Intervall (5 Sekunden)
atop 5

# Mit Anzahl Samples
atop 5 10

Bildschirm-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%  mysql

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% mysql

Disk-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% nginx

Netzwerk-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% nginx

Historische 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 aufbewahren

Historische 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:00
# In der Historie:
t = nächstes Sample
T = vorheriges Sample
b = zu Zeitpunkt springen

Spezielle Optionen

Nur aktive Prozesse

# Nur Prozesse mit Aktivität
atop -a

# Minimale Werte für Anzeige
atop -f

Kumulative Statistiken

# Akkumulierte Werte seit Start
atop -A

Prozess-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 -n

Zeitraum 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_20260126

Beispiel-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     35

Container-Support

Docker-Container

# Container-Statistiken anzeigen
# Taste 'e' drückt für Container-Details

# cgroup-Informationen
atop -C

Konfiguration

/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  Aaf

Prozess-Accounting

Aktivieren

# Prozess-Accounting für beendete Prozesse
echo 1 > /proc/sys/kernel/sched_autogroup_enabled

# In atop
# 'p' zeigt auch beendete Prozesse

Vergleich

| 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' anzeigen

Tä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 < $REPORT

Peak-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 -10

Zusammenfassung

| 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.