Problemen met /tmp-montage oplossen: vol voor Adobe Commerce
Dit artikel biedt een oplossing voor het geval dat de /tmp
-montage vol is, de site mogelijk is ingedrukt en u geen SSH in een knooppunt kunt plaatsen.
Betrokken producten en versies
- Adobe Commerce 2.3.0 - 2.3.6-p1, 2.4.0 - 2.4.2
Probleem
Als de /tmp
-hoeveelheid vol is, kan dit leiden tot een reeks mogelijke symptomen, waaronder de volgende fouten:
- SQLSTATE [ HY000 ]: Algemene fout: 3 Fout die dossier schrijft
- code van de Fout: 28
- Geen ruimte verlaten op apparaat (28)
- fout session_start (): ontbroken: Geen ruimte verlaten op apparaat
- FOUT 1 (HY000): Kan niet tot stand brengen/schrijven aan dossier '/tmp/
- SQL Fout: 3, SQLState: HY000
- Algemene fout: 1021 volledige Schijf (https://experienceleague.adobe.com/tmp?lang=nl)
- Onbekwaam om tot knoop via SSH toegang te hebben:
bash: kan geen tijdelijk dossier voor hier-document creëren: Geen ruimte verlaten op apparaat - fout: 28 "Geen ruimte verlaten op apparaat"
- mysqld: De schijf is volledig schrijvend '/tmp'
- [FOUT ] mysqld: Volledige schijf (https://experienceleague.adobe.com/tmp?lang=nl)
- SQLSTATE [ HY000 ]: Algemene fout: 1 kan niet tot stand brengen/schrijven aan dossier "/tmp/"
- SQLSTATE [ HY000 ]: Algemene fout: 23 uit middelen wanneer het openen van dossier '/tmp/'
- Erkenning: 24 "Te veel open dossiers"
- Kreeg fout: 23: Uit middelen wanneer het openen van dossier
Stappen om te reproduceren:
Als u wilt controleren hoe vol de /tmp
-hoeveelheid is, schakelt u in de CLI over naar /tmp
en voert u de volgende opdracht uit:
df -h
Verwacht resultaat :
Minder dan 80%.
Werkelijk resultaat :
Ongeveer 100%.
Oorzaak
Het /tmp
-aantal heeft te veel bestanden, die kunnen worden veroorzaakt door:
- Onjuiste SQL-query's die grote en/of te veel tijdelijke tabellen genereren.
- Services die naar de map
/tmp
schrijven. - Back-ups/dumps van databases blijven beschikbaar in de map
/tmp
.
Oplossing
Er zijn dingen die u kunt doen om enige ruimte één keer vrij te maken, en er zijn beste praktijken die \tmp
zouden verhinderen volledig te worden.
Inodes controleren en vrijmaken
Zorg ervoor dat er voldoende inodes beschikbaar zijn. Voer hiertoe de volgende opdracht uit:
df -i
De uitvoer ziet er ongeveer als volgt uit:
Filesystem Inodes Used Free Use% Mounted on
/dev/nvme2n1 655360 1695 653665 1% /data/mysql
Controleer of Use% <70% is. De knooppunten zijn gecorreleerd met bestanden. Als u bestanden uit de partitie verwijdert, worden de inodes vrijgemaakt.
Opslagruimte controleren en vrijmaken
Er zijn verschillende services die bestanden kunnen opslaan in /tmp
.
MySQL-ruimte inchecken en vrijmaken
Volg de instructies in MySQL schijfruimte is laag op Adobe Commerce op de infrastructuur van de wolk > Controle en bevrijd opslagruimtein onze basis van de steunkennis.
Hapdumpen van Elasticsearch controleren
Verwijder heapdumps (*.hprof
) met behulp van systeemshell:
find /tmp/*.hprof -type f -delete
Als u geen toestemmingen hebt om dossiers te schrappen die door een andere gebruiker (in dit geval, Elasticsearch) worden gecreeerd, maar u ziet dat de dossiers groot zijn, te creëren gelieve een steunkaartjeom hen te behandelen.
Database-dumps/back-ups controleren
Controleer /tmp
op .sql
- of .sql.gz
-bestanden en pas deze op. Deze zijn mogelijk gemaakt met behulp van de versnellingsprogramma's tijdens een back-up of tijdens het handmatig maken van databasedumps met het gereedschap mysqldump
.
Aanbevolen procedures
Volg de onderstaande aanbevelingen om problemen met /tmp
als vol te voorkomen:
-
Gebruik MySQL niet voor zoekopdrachten. Elasticsearch voor onderzoek elimineert gewoonlijk de behoefte aan de meeste zware tijdlijstverwezenlijking. Zie Adobe Commerce vormen om Elasticsearchin onze ontwikkelaarsdocumentatie te gebruiken.
-
Vermijd het uitvoeren van de query
SELECT
op kolommen zonder indexen aangezien dit een grote hoeveelheid tijdelijke schijfruimte gebruikt. U kunt ook de indexen toevoegen. -
Maak een uitsnede om op te schonen
/tmp
door de volgende opdracht in de CLI uit te voeren:code language-bash sudo find /tmp -type f -atime +10 -delete
Gerelateerde lezing
MySQL schijfruimte is laag op Adobe Commerce op wolkeninfrastructuurin onze basis van steunkennis.