Home
» LINUX
»
Hoe vergroot ik de /tmp-map op Linux?
Hoe vergroot ik de /tmp-map op Linux?
Als Linux meldt dat de /tmpmap vol is, moet je deze niet zomaar vergroten. Controleer eerst welk bestandssysteem de map daadwerkelijk ondersteunt. Als /tmphet een tmpfs- mount is, kun je de groottelimiet direct verhogen door de map opnieuw te mounten en deze limiet permanent in te stellen /etc/fstab. Als het onderdeel is van een ext4-, XFS-, Btrfs- of ander schijfgebaseerd bestandssysteem, size=is de tmpfs-optie niet van toepassing.
Controleer hoe /tmp is gekoppeld.
Open een terminal en voer het volgende commando uit:
Het findmntcommando identificeert het bestandssysteem dat het bestand bevat /tmp, terwijl het dfde grootte en het huidige gebruik ervan weergeeft. De documentatie van findmnt raadt aan de optie target te gebruiken om het bestandssysteem voor een pad op te lossen.
Als FSTYPEhet om een waarde gaat tmpfs, ga dan verder met de onderstaande stappen. Als het bijvoorbeeld om een waarde zoals ext4, xfs, of btrfsgaat, sla dan het gedeelte over dat betrekking heeft op opslag op de schijf.
Controleer eerst of het /tmpdaadwerkelijk een tmpfs-mount is voordat u de limiet voor de tmpfs-grootte wijzigt.
Verhoog tijdelijk de grootte van een tmpfs /tmp-partitie.
Je hoeft de schijf niet te ontkoppelen /tmp. Linux tmpfs ondersteunt het wijzigen van de maximale grootte tijdens het herkoppelen zonder de reeds opgeslagen bestanden te verwijderen. Om de limiet bijvoorbeeld te verhogen naar 5 GiB, voer je het volgende commando uit:
sudo mount -o remount,size=5G /tmp
Controleer vervolgens het resultaat:
df -h /tmp
De documentatie van de Linux-kernel over tmpfs vermeldt dat de size=limiet kan worden gewijzigd bij het opnieuw mounten. Een waarde zoals 5G5 GiB RAM is een capaciteitslimiet, geen direct gereserveerde 5 GiB RAM. tmpfs verbruikt geheugen naarmate bestanden worden opgeslagen en kan swapgeheugen gebruiken wanneer dit beschikbaar is.
Stel geen onnodig hoge limiet in. Een werkbelasting die een groot tmpfs-bestandssysteem vult, kan ernstige geheugenproblemen veroorzaken. Bovendien is een dergelijke herkoppeling tijdelijk: de oorspronkelijke opstartconfiguratie wordt na een herstart hersteld, tenzij u de permanente koppelingsinstellingen wijzigt.
Door het opnieuw aankoppelen wordt de maximale grootte van het actieve tmpfs-bestandssysteem gewijzigd zonder dat het systeem wordt ontkoppeld /tmp.
Maak de grotere /tmp-grootte permanent
Gebruik deze methode alleen nadat u hebt bevestigd dat /tmphet om tmpfs gaat. Maak /etc/fstabeerst een back-up:
sudo cp /etc/fstab /etc/fstab.backup
Open het bestand met je favoriete editor die root-toegang heeft, bijvoorbeeld:
sudoedit /etc/fstab
Als er al een /tmptmpfs-regel aanwezig is, behoud dan de huidige beveiligings- en compatibiliteitsopties en wijzig alleen de size=waarde ervan. Als uw systeem de standaard tmpfs-backed van systemd gebruikt /tmpen geen /tmpvermelding in het bestand heeft fstab, documenteert systemd dat een /etc/fstabvermelding kan worden gebruikt om de tmpfs-mountopties te wijzigen. Een typisch voorbeeld is:
Deze mode=1777instelling behoudt de normale schrijfrechten voor tijdelijke mappen, inclusief de sticky bit. Voeg geen opties toe die noexecalleen bedoeld zijn voor het wijzigen van de grootte; het wijzigen van niet-gerelateerd mountgedrag kan software die de bestaande configuratie verwacht, onbruikbaar maken. Raadpleeg de richtlijnen voor bestandssystemen in de systemd API en de upstream fstab-documentatie .
Voor een permanente limiet kunt u deze instellen size=in de bestaande of beoogde tmpfs-configuratie /tmp.
Bij een op systemd gebaseerde distributie moet je de gegenereerde eenheden opnieuw laden na het bewerken van het bestand fstab:
sudo systemctl daemon-reload
Als /tmphet bestand al als tmpfs is aangekoppeld, kunt u de nieuwe fstabopties direct toepassen met:
sudo mount -o remount /tmp
Anders kunt u de computer op een geschikt moment opnieuw opstarten. Controleer daarna zowel de mount-opties als de capaciteit:
Controleer na de wijziging het bestandssysteemtype, de koppelingsopties en de gerapporteerde capaciteit.
Wat als /tmp niet tmpfs is?
Als findmntblijkt dat het /tmpbestand zich op uw root-bestandssysteem of een ander schijfgebaseerd bestandssysteem bevindt, is er geen onafhankelijke tmpfs-limiet die u kunt vergroten. U moet ruimte vrijmaken of het onderliggende bestandssysteem, de partitie of het logische volume uitbreiden. Een andere optie is om een specifiek programma naar een grotere tijdelijke map te laten verwijzen, mits dit programma de volgende instelling ondersteunt TMPDIR:
De richtlijnen van systemd voor tijdelijke mappen vermelden dat software deze map moet gebruiken $TMPDIRwanneer deze is ingesteld en dat deze /var/tmpover het algemeen beter geschikt is voor grotere tijdelijke gegevensbestanden die een herstart moeten overleven.
Als je nog steeds de melding "Geen ruimte meer op het apparaat" krijgt,
Controleer zowel het inode- als het bytegebruik:
df -h /tmp
df -i /tmp
Een bestandssysteem kan zonder inodes komen te zitten, zelfs als er nog vrije bytes beschikbaar zijn. Onderzoek ook welke applicatie de tijdelijke data genereert in plaats van deze herhaaldelijk te vergroten /tmp. Het vergroten van de bestandsgrootte is gepast wanneer de normale werkbelasting daadwerkelijk meer tijdelijke capaciteit vereist, maar ongecontroleerde groei kan meestal beter bij de bron worden aangepakt.