CachyOS
Snapper oder Timeshift:[Bearbeiten | Quelltext bearbeiten]
https://discuss.cachyos.org/t/snapper-or-timeshift/3652/7
Super Video auf Youtube
Virtuelle Maschinen unter CachyOS:[Bearbeiten | Quelltext bearbeiten]
In der Datei /etc/libvirt/network.conf muss folgende Änderung vorgenommen werden:
firewall_backend = "iptables"
danach
sudo systemctl restart libvirtd.service
Globales Menü entfernen:[Bearbeiten | Quelltext bearbeiten]
Um das globale Menü wieder zu aktivieren, kannst du die folgenden Schritte ausführen:
1. Öffne die Datei `~/.config/plasma-org.kde.plasma.desktop-appletsrc` mit einem Texteditor wie `nano` oder `vim`.
2. Füge den folgenden Code am Ende der Datei ein:
[Containments]
Containments=org.kde.plasma.taskmanager
Containments[org.kde.plasma.taskmanager]/Settings=PanelSettings
Containments[org.kde.plasma.taskmanager]/Containments=org.kde.plasma.appmenu
Containments[org.kde.plasma.appmenu]/Settings=PanelSettings
Anschließend
killall plasmashell && kstart5 plasmashell
Auslastung der Festplatten:
sudo iotop -aoP
oder
sudo pacman -S iotop
iotop zeigt nur Prozesse, nicht Dateien
→ dafür nutzt du lsof oder inotify:
a) Offene Dateien aller Prozesse mit Disk-I/O:[Bearbeiten | Quelltext bearbeiten]
sudo lsof +D /pfad/zum/laufwerk
b) Live-Überwachung:[Bearbeiten | Quelltext bearbeiten]
sudo inotifywait -m -r /pfad/zum/laufwerk
→ zeigt jede Dateioperation (open, write, delete …) in Echtzeit.
c) Noch präziser (für Experten):[Bearbeiten | Quelltext bearbeiten]
oder
sudo dstat -dny 1
sudo iostat -dx 1
→ I/O pro Gerät, getrennt nach Lesen/Schreiben.
Skript zum Prüfen der Platten[Bearbeiten | Quelltext bearbeiten]
Pakete (CachyOS/Arch)
sudo pacman -S iotop sysstat lsof inotify-tools
Installation
nano ~/iowatch.sh
# Code einfügen, speichern
chmod +x ~/iowatch.sh
# (optional) nach /usr/local/bin verschieben:
sudo mv ~/iowatch.sh /usr/local/bin/iowatch
Skript:
#!/usr/bin/env bash
#iowatch.sh – Live-Überblick über Disk-I/O (Prozesse, Geräte, Dateien)
#Für Arch/CachyOS: sudo pacman -S iotop sysstat lsof inotify-tools
set -Eeuo pipefail
bold(){ printf "\e[1m%s\e[0m\n" "$*"; }
need() { command -v "$1" >/dev/null 2>&1 || { echo "FEHLT: $1"; MISSING=1; }; }
usage() {
cat <<'EOF'
Nutzung:
iowatch.sh top # Live Top-Schreiber/Leser (Prozesssicht)
iowatch.sh dev # Per-Gerät I/O (iostat)
iowatch.sh pid <PID> # I/O einer PID + geöffnete Dateien
iowatch.sh trace <PFAD> # Dateiaktivität unter Pfad (inotify)
Tipps:
- 'top' + zweites Terminal mit 'dev' parallel ergibt das volle Bild.
- Für 'pid' siehst Du /proc/<pid>/io Zähler + lsof-Dateiliste.
EOF
exit 1
}
$# -lt 1 && usage
# Abhängigkeiten prüfen (nur was der jeweilige Modus braucht)
MISSING=0
case "${1:-}" in
top) need iotop ;;
dev) need iostat ;;
pid) need lsof; $# -ge 2 || usage ;;
trace) need inotifywait; $# -ge 2 || usage ;;
*) usage ;;
esac [[ "${MISSING:-0}" == 1 ]] && { echo "Bitte fehlende Tools installieren (z. B.: sudo pacman -S iotop sysstat lsof inotify-tools)"; exit 2; }
MODE="$1"; shift || true
case "$MODE" in
top) # kumulierte + aktuelle Sicht, nur aktive Prozesse, übersichtlich bold "🔎 Prozesse mit I/O (ESC/Strg+C zum Beenden)…" # -a kumuliert seit Start, -o nur aktive, -P Prozesse (keine Threads), -t Zeitstempel sudo iotop -aoP -t ;;
dev) bold "💽 Geräte-I/O (iostat -x – %util, r/s, w/s, await). Strg+C beendet." # 1-Sekunden-Takt mit erweiterten Metriken iostat -x 1 ;;
pid)
PID="$1"
-d "/proc/$PID" || { echo "PID $PID existiert nicht."; exit 3; }
bold "🧩 I/O-Zähler für PID $PID – $(ps -p "$PID" -o comm=)"
echo "Links: /proc/$PID/io (Bytes), Rechts: geöffnete REG-Dateien (lsof)"
echo "Strg+C beendet."
# Live-Loop: zeige /proc/<pid>/io alle 1s und daneben lsof-Auszug (einmal pro 3s)
last_lsof=0
while :; do
now=$(date +%s)
tput clear || true
bold "Zeit: $(date)"
echo "----- /proc/$PID/io -----"
# zeigt u. a. read_bytes / write_bytes, rchar/wchar (von OS gezählt)
cat "/proc/$PID/io" || { echo "PID beendet."; exit 0; }
echo
echo "----- lsof (REG-Dateien, kürzlich geöffnet) -----"
# lsof ist teuer – nur alle 3s neu ziehen
if (( now - last_lsof >= 3 )); then
# Nur Regular Files, kein mmap/anon, kürzen auf sinnvolle Spalten
sudo lsof -p "$PID" -FnPt0 2>/dev/null | tr '\0' '\n' | sed -n 's/^n//p' | \
awk 'length($0)<200' | head -n 50 > /tmp/iowatch_lsof_$PID.txt || true
last_lsof=$now
fi
nl -ba /tmp/iowatch_lsof_$PID.txt 2>/dev/null || echo "(keine REG-Dateien gefunden)"
echo
echo "Hinweis: 'read_bytes'/'write_bytes' steigen, wenn der Prozess tatsächlich von/auf Blockgeräte liest/schreibt."
sleep 1
done
;;
trace)
PATHROOT="$1"
-e "$PATHROOT" || { echo "Pfad nicht gefunden: $PATHROOT"; exit 4; }
bold "📡 Dateiaktivität unter: $PATHROOT (inotifywait, rekursiv)"
echo "Ereignisse: OPEN, CLOSE_WRITE, MODIFY, MOVED_TO, CREATE, DELETE …"
echo "Strg+C beendet."
sudo inotifywait -m -r -e open,close_write,modify,move,create,delete --format '%T %w%f %e' --timefmt '%F %T' "$PATHROOT"
;;
esac