Hur man frigör Linux-buffertar och cachar



Prova Vårt Instrument För Att Eliminera Problem

Användare kanske vill frigöra Linux-buffert och cache-utrymme om de tycker att det tar för mycket utrymme i RAM-minnet. Detta beror vanligtvis på att de är vana vid Windows- eller Macintosh-miljöer som inte cachar lika aggressivt. Att göra detta kan faktiskt minska prestanda. Det är dock en bra idé att synkronisera RAM- och disklagring, vilket också ofta ses som att frigöra Linux-cachar även om det inte är mycket tekniskt.



Du måste arbeta från en terminal för den här tekniken. Sök efter terminal på Ubuntu Dash eller håll ner Ctrl, Alt och T samtidigt. LXDE-, Xfce4- och KDE-användare kanske vill klicka på menyn Applications eller Whisker, peka på Systemverktyg och öppna Terminal.



Metod 1: Använda synkroniseringskommandot

I många fall vill användare faktiskt synkronisera cachade skrivningar till den underliggande beständiga lagringsenheten som innehåller data. Detta innebär att alla ändringar som gjorts i filbuffertarna i minnet får en uppdatering på hårddisken, så om systemet gick ner då och där skulle du ha en god chans att ha allt nuvarande. Om detta koncept verkar lite avancerat, kom bara ihåg att detta gör informationen i ditt RAM samma som informationen på din disk eller SSD.



Att åberopa synkroniseringskommandot utan några andra argument gör just det. Den uppdaterar filer på disken med alla ändringar som väntar på att skrivas. Typ synkronisera vid kommandoraden och tryck enter. Du ser ingen utdata alls, och du kan göra det när något kommando kördes innan det.

Denna metod är otroligt enkel eftersom den bara kräver att du bara lär dig ett ord. Till skillnad från andra metoder är det helt säkert att göra hela tiden och kommer inte att sänka prestandan förutom några få ögonblick medan synkroniseringen till disken sker. Om du har flyttat en massa filer mellan externa enheter och vill se till att alla skrivningar är klara, frigör sedan Linux-buffertar genom att skriva synkronisering och trycka på enter. Alla andra metoder är strikt för att göra riktmärken. Om du någonsin har hört någon prata om smutsiga sektorer är det här en lösning på det problemet. Linux håller ibland filer i minnet men berättar för resten av operativsystemet att de finns på hårddisken, men kör synkronisering säkerställer att dessa ändringar också uppdateras på hårddisken. Det tar inte bort dem från RAM, så de kommer fortfarande att erbjudas till andra program som behöver komma åt dem utan att sakta ner saker.



Metod 2: Gratis Linux-buffertar helt

Tänk på innan du går vidare att metod 1 nästan alltid föredras eftersom Linux cachar aggressivt med avsikt för att få din enhet att röra sig snabbare. Du vill nästan alltid köra synkronisering för säkerhetsändamål för att säkerställa att alla diskskrivningar har slutförts. Om du försöker utföra ett hårdvaruindex eller något sådant finns det ett sätt att helt frigöra Linux-cachar.

Förutsatt att du förstår risken med att göra detta, spring free && sync && echo 3> / proc / sys / vm / drop_caches && free i terminalen. Eftersom det är så långt kommando kanske du vill markera det här och kopiera det. För att klistra in den i terminalen, använd antingen klistra in alternativet i Redigera-menyn eller till skillnad från synkronisering i sig själv, måste du köra detta från en rotprompt. Sätt sudo framför kommandot om du är inloggad som en vanlig användare. Den här raden säkerställer att du ser utdata som indikerar att minnescacherna faktiskt töms.

Återigen är det enda skälet till att du någonsin vill göra detta att ta riktmärken. Du kanske märker en riktig prestationshit när du har gjort det här eftersom du tömmer all data Linux arbetade hårt för att cache. Du kan också inaktivera byte genom att skriva sudo swapoff -a och aktivera den igen med sudo swapon -a , men igen behöver dessa root-åtkomst och den enda gången du någonsin skulle vilja göra det här är om du var en utvecklare som försökte ta riktiga hårdvaroriktmärken för ett verktygs- eller filsystemprocess. Alla andra vill helt enkelt köra synkronisering av sig själv som en vanlig användare utan root-åtkomst för att se till att alla smutsiga sektorer skrivs ut till disk.

3 minuter läst