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 /tmp schrijven.
  • 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 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: sudo find /tmp -type f -atime +10 -delete
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f