Problemen met /tmp-montage oplossen: vol voor Adobe Commerce
Dit artikel verstrekt een oplossing voor wanneer de /tmp steun volledig is, kan de plaats neer zijn, en u kunt niet SSH in een knoop kunnen zijn.
Beschrijving description
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 maken/schrijven naar bestand '/tmp/* *
-
SQL Fout: 3, SQLState: HY000
-
Algemene fout: 1021 volledige Schijf (https://experienceleague.adobe.com/tmp?lang=nl)
-
*Geen toegang tot knooppunt via SSH:
bash: kan geen tijdelijk bestand maken voor dit document: geen ruimte meer over op apparaat*
-
fout: 28 "Geen ruimte verlaten op apparaat"
-
mysqld: De schijf is volledig schrijvend '/tmp'
-
[FOUT]mysqld: Schijf vol (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
/tmpschrijven. - Back-ups/dumps van databases blijven beschikbaar in de map
/tmp.
Resolutie resolution
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 opslagruimte in onze steun kennisbasis.
Elasticsearch-heapdumps opvragen
WAARSCHUWING
Heapdumps bevatten logboekinformatie die nuttig zou kunnen zijn voor het onderzoeken van kwesties. U kunt overwegen ze ten minste 10 dagen op een aparte locatie op te slaan.
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 steunkaartje om hen te behandelen.
Database-dumps/back-ups controleren
WAARSCHUWING
De steunen van het gegevensbestand worden gewoonlijk gecreeerd voor een doel. Als u niet zeker weet of het bestand nog steeds nodig is, kunt u het naar een andere locatie verplaatsen in plaats van het te verwijderen.
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 .
Best practices
Volg de onderstaande aanbevelingen om problemen met /tmp als vol te voorkomen:
- Gebruik MySQL niet voor zoekopdrachten. Elasticsearch for search elimineert meestal de noodzaak van de meeste 'temp table'-ontwerpen. Zie Adobe Commerce vormen om Elasticsearch in onze ontwikkelaarsdocumentatie te gebruiken.
- Vermijd het uitvoeren van de query
SELECTop kolommen zonder indexen aangezien dit een grote hoeveelheid tijdelijke schijfruimte gebruikt. U kunt ook de indexen toevoegen. - Maak een uitsnede om op te schonen
/tmpdoor de volgende opdracht in de CLI uit te voeren:sudo find /tmp -type f -atime +10 -delete