Använd ncdu i CasaOS när du behöver hitta vilka mappar som faktiskt tar upp diskutrymme, men skanna rätt sökväg på värden – inte bara ett litet containerfilsystem. För aktuella Linux-system tillhandahåller uppströmsprojektet statiska binärfiler, och ncdu 2.x är den snabbaste vägen till interaktiv analys av diskanvändningen.
BigBears handledning från 2024 är användbar som introduktion, men du behöver inte en särskild container från appbutiken för att använda ncdu. För felsökning av lagring är en terminal på värden eller en container med ett uttryckligen monterat, skrivskyddat mål mer transparent.
Vad ncdu passar bra för
ncdu är en interaktiv analysator för diskanvändning. Den skannar kataloger, sorterar dem efter storlek och låter dig gå vidare in i stora mappar utan att manuellt kedja du kommandon.
Den aktuella projektsidan för ncdu listar statiska ncdu 2.x-binärfiler för x86_64, ARM och AArch64.
Börja med filsystemet som faktiskt är fullt
Kör:
df -h
Identifiera monteringen med lite ledigt utrymme. Skanna sedan den monteringen i stället för att köra ncdu blint från /.
Skanna en CasaOS-datasökväg
Typiska exempel:
ncdu /DATA
ncdu /media
ncdu /var/lib/docker
Den exakta sökvägen beror på din installation. Om Docker eller AppData misstänks vara källan bör du inspektera den platsen direkt.
Var försiktig när du skannar Docker-interna filer
/var/lib/docker innehåller avbildningslager, skrivbara lager, loggar och metadata. ncdu kan visa vilka kataloger som är stora, men om du manuellt raderar slumpmässiga overlay-filer kan Docker-tillståndet skadas.
Använd Docker-anpassade rensningskommandon för avbildningar, containrar och cachefiler i stället för att radera interna lagerkataloger från ncdu.
ncdu i containrar har en synlighetsbegränsning
Om du kör ncdu i en container ser den bara de sökvägar du monterar in i containern. En skanning av containerns rot säger nästan ingenting om den totala diskanvändningen i CasaOS.
Om du föredrar Docker kan du montera målsökvägen på värden som skrivskyddad och skanna den monteringen. Låt radering vara inaktiverad medan du felsöker.
Hitta stora AppData-mappar först
Självhostade appar kan samla på sig miniatyrbilder, loggar, cachefiler, databaser och nedladdade metadata. lagringsguiden för Docker förklarar varför AppData på värden kan växa även när containeravbildningarna är små.
Vanliga källor till stor platsförbrukning
- cache för medietranskodning;
- JSON-loggar från containrar;
- databasfiler;
- miniatyrbilder för foton och index för maskininlärning;
- ofullständiga mappar från nedladdningsklienter;
- gamla säkerhetskopior;
- Docker-avbildningar och byggcache.
Radera inte förrän du vet vem som äger mappen
Använd ncdu för att identifiera den stora sökvägen och ta sedan reda på vilken app som äger den. Stoppa den relevanta appen innan du raderar data som kan skrivas till aktivt.
Använd undantag för att göra stora skanningar mer användbara
På en server med monterade nätverksdelningar, säkerhetskopior eller externa diskar kan en skanning av fel träd ta lång tid och blanda orelaterad lagring i ett enda resultat. Börja vid den exakta monteringspunkt som visas av df -h och undvik att gå över till fjärrmonteringar om de inte är problemet.
Vid upprepad felsökning kan ncdu exportera skanningsdata så att du kan jämföra tillväxt över tid i stället för att skanna om ett enormt filsystem varje gång.
Förstå raderade men öppna filer
Ibland df rapporterar ett fullt filsystem medan ncdu inte kan hitta tillräckligt många synliga filer för att förklara det. En orsak kan vara att en process håller en redan raderad fil öppen. Katalogposten är borta, men blocken förblir allokerade tills processen stänger filen.
När ncdu-totalen och df skiljer sig betydligt åt, undersök öppna raderade filer med ett verktyg som lsof +L1 om det är tillgängligt på värden. Om du startar om den ansvariga tjänsten kan utrymmet frigöras efter att du har förstått vad det är.
Använd ncdu som mätverktyg, inte som rensningspolicy
En stor cache kan vara säker att rensa, medan en lika stor databaskatalog kan vara kritisk. Värdet med ncdu är att visa vart utrymmet tog vägen; den ansvariga appen bör avgöra hur utrymmet ska frigöras.
Vanliga frågor
Kan ncdu radera filer?
Ja, men radera försiktigt. För Docker-interna data, databaser och data som hanteras av appar bör du föredra appens eget rensningsflöde.
Varför visar ncdu mindre utrymme än df?
Möjliga orsaker är bland annat raderade men öppna filer, otillgängliga kataloger, filsystemmetadata, ögonblicksbilder eller data utanför den skannade monteringspunkten.
Behöver jag BigBearCasaOS för att installera ncdu?
Nej. Det är ett paketeringsalternativ. Den aktuella upstream-versionen tillhandahåller även fristående statiska binärfiler.
Var bör jag börja skanna?
Använd df -h för att identifiera hela monteringspunkten och sedan skanna den exakta sökvägen med ncdu.
