CPU-Spitzen in der Nextcloud-Vorschau durch eine geplante Warteschlange zähmen

Wenn die CPU Ihres Nextcloud-Servers während der Vorschauerstellung stark ausgelastet ist, liegt das oft an einer plötzlichen Arbeitsspitze: Nutzer öffnen Ordner mit vielen Bildern, eine große Bibliothek wird indiziert oder ein Vorschauprozess versucht, mehr Größen zu generieren als benötigt werden. Installieren Sie die Nextcloud-App „Preview Generator“, lassen Sie sie neue und geänderte Dateien nach einem festgelegten Zeitplan verarbeiten und reduzieren Sie unnötige Vorschaugrößen. Dadurch wird die Arbeit aus intensiven Browsersitzungen verlagert; die Bildkonvertierung wird dadurch jedoch nicht kostenlos und die anfängliche Nachbearbeitungslast nicht beseitigt.

Diese Schritte folgen der README-Datei des Preview Generators und der Nextcloud-35-Dokumentation (Stand: 10. Oktober 2026). Bitte prüfen Sie die Kompatibilität Ihrer Version im Nextcloud App Store. Die README-Datei führt verschlüsselte Dateien als nicht unterstützt auf.

Warum treibt die Vorschau-Generation die CPU-Auslastung in die Höhe?

Nextcloud erstellt Miniaturansichten auf Anfrage, sofern keine Vorschau vorhanden ist. Bilddekodierung, Größenänderung und Konvertierung – insbesondere bei großen Originalen oder mehreren Zielformaten – können CPU und Arbeitsspeicher stark beanspruchen. Bei einer Häufung von Anfragen ist dieser Prozess während der interaktiven Nutzung sichtbar.

Der Vorschaugenerator reiht neue oder geänderte Dateien zur Hintergrundverarbeitung in eine Warteschlange ein. Vorhandene Vorschauen sind kostengünstiger zu verarbeiten, fehlende Vorschauen nutzen jedoch weiterhin den On-Demand-Pfad von Nextcloud. Die App verlagert einen Teil der Arbeit in weniger frequentierte Zeiten; sie kann die Gesamtverarbeitungskapazität jedoch nicht reduzieren oder andere Engpässe wie Videokonvertierung oder langsamen Speicher beheben.

Richten Sie eine kontrollierte Vorschau-Warteschlange ein.

1. Überprüfen Sie den Hintergrundprozessmodus und die App-Kompatibilität.

Überprüfen Sie in den Administrationseinstellungen die Hintergrundprozesse. Der integrierte Prozess des Vorschaugenerators erfordert den Cron-Modus; laut README werden AJAX und Webcron für diese langlaufende Aufgabe nicht unterstützt. Nextcloud empfiehlt den System-Cron-Modus. Stellen Sie sicher, dass auf der Administrationsseite Cron angezeigt wird.

Installieren Sie den Preview Generator über den Bildschirm „Apps“ oder, falls Ihre Bereitstellung OCC verwendet und die Installation von Apps zulässt, führen Sie diese Befehle im Nextcloud-Installationsverzeichnis aus. Unter Debian oder Ubuntu lautet das Webserver-Konto üblicherweise „/webserver.conf“. www-dataVerwenden Sie den tatsächlichen HTTP-Benutzer und die PHP-CLI-Version Ihres Hosts.

sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator

Falls es bereits installiert ist, überspringen Sie den ersten Befehl. Überprüfen Sie den Status und die verfügbaren Befehle:

sudo -u www-data php /var/www/nextcloud/occ app:list
sudo -u www-data php /var/www/nextcloud/occ list preview

Führen Sie OCC als HTTP-Benutzer aus, damit die Dateibesitzverhältnisse konsistent bleiben. Pfade und Benutzer variieren je nach Bereitstellung. Weitere Informationen finden Sie in der OCC-Dokumentation von Nextcloud .

2. Reduzieren Sie die Anzahl der Vorschauvarianten, bevor Sie einen großen Generierungslauf starten.

Der Vorschaugenerator kann quadratische Miniaturansichten und Vorschaubilder im konfigurierten Seitenverhältnis erstellen. Laut README müssen die Größen Viererpotenzen sein; ein leerer Wert überspringt die entsprechende Vorschaukategorie. Ein reduziertes Startprofil für einen Server mit hoher Auslastung ist unten dargestellt. Es verwendet kleine quadratische Kacheln und zwei Seitenverhältnisse, verzichtet aber auf separate Varianten, die nur die Breite oder nur die Höhe anzeigen.

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="64 256" previewgenerator squareSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="256 1024" previewgenerator fillWidthHeightSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator widthSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator heightSizes

Dieses Profil mit geringerer Last ist nicht universell: Apps benötigen möglicherweise größere Vorschaubilder oder andere Formate. Falls Miniaturansichten fehlen oder unscharf dargestellt werden, ermitteln Sie die benötigte Ansicht und fügen Sie nur deren Größe hinzu. Größere Abmessungen erhöhen die Rechenleistung und den Cache-Verbrauch. Die in der README-Datei empfohlene Mindestgröße für Dateien, Fotos und Aktivitäten verwendet eine größere Auflösung von 4096 Pixeln; prüfen Sie die Auswirkungen auf Ihre Hardware. Lesen Sie die offizielle README-Datei des Vorschaugenerators ; dieser verwendet ein größeres Seitenverhältnis von 4096 Pixeln; prüfen Sie daher auch hier die Auswirkungen auf Ihre Hardware.

Die Einstellungen legen eine maximale Pixelanzahl fest. Sichern Sie die Datei vor der Bearbeitung und stellen Sie sicher, dass sie mit den gewählten App-Größen kompatibel ist. Durch Deaktivieren der Vorschau werden Miniaturansichten appübergreifend entfernt preview_max_x.preview_max_yconfig/config.php

3. Planen Sie den Vorgenerierungsbefehl der App, ohne den zugehörigen Worker zu duplizieren.

Für einen kleinen Server kann der integrierte Warteschlangen-Worker ausreichen, sobald der Cron-Modus aktiviert ist. Dessen Standardausführung ist auf maximal fünf Minuten begrenzt, und die Anwendung stellt Warteschlangenstatistiken zur Überwachung bereit. Benötigen Sie ein planbares Zeitfenster außerhalb der Spitzenzeiten, verwenden Sie stattdessen den dedizierten OCC-Befehl im System-Cron. Deaktivieren Sie bei Verwendung dieses benutzerdefinierten Zeitplans den Standard-Warteschlangen-Job der Anwendung, damit sich die beiden Mechanismen nicht gegenseitig beeinträchtigen.

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value=true --type=boolean previewgenerator job_disabled

Bearbeiten Sie anschließend die Crontab für den Webserver-Benutzer ( sudo crontab -u www-data -e) und fügen Sie einen Beispielzeitplan hinzu, wie zum Beispiel:

*/10 * * * * php -f /var/www/nextcloud/occ preview:pre-generate

Zehn Minuten sind nur ein Beispiel. Wählen Sie ein Ausführungsintervall und ein Zeitfenster, das zu Ihrem Datenverkehr und Ihrer Kapazität passt; überprüfen Sie Ihre PHP- und OCC-Pfade. Planen Sie den Befehl nicht zusätzlich an anderer Stelle. Behalten Sie cron.phpden regulären Nextcloud-Job bei, der andere Hintergrundaufgaben ausführt. Die Einrichtung des Cronjobs im Nextcloud-Leitfaden ist dokumentiert.

4. Vermeiden Sie einen unkontrollierten ersten Aufholversuch.

Die README-Datei empfiehlt, preview:generate-allnach der Installation vorhandene Dateien zu überschreiben. Bei großen Bibliotheken kann dieser Nachholvorgang die CPU-Auslastung stark erhöhen. Vermeiden Sie daher zu viele Worker auf einem stark ausgelasteten Server. Beginnen Sie mit einem Benutzer oder Pfad in einem ruhigen Zeitfenster und überwachen Sie CPU-Auslastung, Arbeitsspeicher, Festplattendurchsatz und freien Speicherplatz. Der Befehl unterstützt Benutzer-IDs, Pfade und die Anzahl der Worker; beginnen Sie mit einem Worker. Verteilen Sie den Scan bei Bedarf auf mehrere Fenster.

Überprüfen Sie, ob die Last vorhersehbar wird.

Nachdem der Befehl ausgeführt wurde, überprüfen Sie die Warteschlange:

sudo -u www-data php /var/www/nextcloud/occ preview:queue-stats

Die Warteschlangenstatistik enthält auch veraltete Vorschauen. Ein sinkender Rückstand und CPU-Spitzen, die mit geplanten Aufgaben enden, deuten darauf hin, dass die Warteschlange bearbeitet wird. Öffnen Sie einen repräsentativen Ordner, um die Miniaturansichten zu überprüfen, und beobachten Sie anschließend das normale Surfen. Vergleichen Sie die CPU-Auslastung bei ähnlichem Datenverkehr; sie wird nicht auf null sinken.

Wenn die Warteschlange nicht kleiner wird, überprüfen Sie die Cron-Logs und führen Sie die Anwendung preview:pre-generate -vvin einem kontrollierten Zeitfenster aus, um die verarbeiteten Dateien zu sehen. Bleibt die CPU-Auslastung nach dem Leeren der Warteschlange hoch, untersuchen Sie andere PHP-Worker, Jobs oder Mediendienste. Falls Vorschauen zu viel Speicherplatz belegen, entfernen Sie nicht benötigte Größen oder reduzieren Sie die Dimensionen. Stellen Sie sicher, dass die verbleibenden Vorschauen die benötigten Ansichten unterstützen.

Offizielle Referenzen

Einen Kommentar hinterlassen

CPU-Spitzen in der Nextcloud-Vorschau durch eine geplante Warteschlange zähmen

Verlagern Sie die Bearbeitung von Miniaturansichten auf einen kontrollierten Hintergrundzeitplan, reduzieren Sie ungenutzte Vorschaubildgrößen und überprüfen Sie die Warteschlange, ohne Ihren Nextcloud-Server zu überlasten.

Nextcloud Desktop Sync: Schritte nach dem Vorgang „Dateien werden verarbeitet“

Ermitteln Sie die Datei, die Ausschlussregel, das Verbindungsproblem oder den Clientdatenbankstatus, der die Nextcloud-Synchronisierung blockiert, und überprüfen Sie anschließend, ob Uploads und Downloads sicher durchgeführt werden können.

Beheben Sie die Nextcloud OPcache-Warnung, indem Sie den richtigen Grenzwert anpassen.

Ermitteln Sie das PHP OPcache-Limit, das die Nextcloud-Warnung auslöst, aktualisieren Sie die entsprechende Web-PHP-Konfiguration, starten Sie Nextcloud sicher neu und überprüfen Sie das Ergebnis.

Nextcloud mit CODE Docker verbinden: Einrichtung und Abwägungen

Nextcloud mit CODE Docker verbinden: Einrichtung und Abwägungen

Vergleichen Sie integrierten und Docker-basierten CODE und verbinden Sie dann Collabora Online über einen sicheren HTTPS-Reverse-Proxy mit Nextcloud.

Erstellen Sie einen ausfallsicheren Nextcloud-Cluster mit Galera

Planen Sie eine zuverlässige Nextcloud HA-Bereitstellung mit gemeinsam genutztem Speicher, Redis-Sperren, Quorum-fähigem MariaDB-Routing und praktischen Failover-Prüfungen.

Nextcloud Talk-Anrufe auch bei Ausfall von Direct Media möglich

Nextcloud Talk-Anrufe auch bei Ausfall von Direct Media möglich

Konfigurieren und überprüfen Sie ein erreichbares TURN-Relay für Nextcloud Talk, wenn Firewalls oder restriktive NAT-Regeln direkte Anrufmedien blockieren.

Nextcloud-Integritätswarnungen durch Wiederherstellung der richtigen Dateien beseitigen

Mithilfe des Berichts über ungültige Dateien können Sie geänderten, fehlenden oder zusätzlichen Nextcloud-Code identifizieren, vertrauenswürdige Dateien sicher wiederherstellen und das Ergebnis überprüfen.

Verbinden Sie Gmail oder Microsoft 365 mit Nextcloud Mail mithilfe von OAuth2

Richten Sie OAuth2 für Nextcloud Mail mit Gmail oder Microsoft 365 ein, überprüfen Sie den Empfang und Versand und beheben Sie häufige Zustimmungs- und SMTP-Fehler.

Sicheres Beheben des Nextcloud-Wartungsmodus mit OCC

Sicheres Beheben des Nextcloud-Wartungsmodus mit OCC

Verwenden Sie OCC, um den Nextcloud-Zugriff wiederherzustellen, den Status der Datenbankmigration zu überprüfen und den richtigen Befehl für Archiv-, Docker- oder Snap-Installationen auszuwählen.

Nextcloud LDAP- und Active Directory-Anmeldung einrichten

Verbinden Sie Nextcloud mit LDAP oder Active Directory, beschränken Sie den Zugriff mit Benutzer- und Gruppenfiltern und überprüfen Sie die sichere Authentifizierung vor der Einführung.