![Sådan opsættes failover og belastningsbalancering i PFSense](/f/ed8787c671a2927f33d79edd88b506ce.png?width=100&height=100)
Ligesom ethvert andet operativsystem har GNU/Linux implementeret en hukommelsesstyring effektivt og endda mere end det. Men hvis en proces spiser din hukommelse væk, og du vil rydde den, giver Linux en måde at skylle eller slette ramcache.
Hvert Linux -system har tre muligheder for at rydde cache uden at afbryde processer eller tjenester.
1. Ryd kun PageCache.
# synkronisere; echo 1>/proc/sys/vm/drop_caches.
2. Ryd tandte og inoder.
# synkronisere; echo 2>/proc/sys/vm/drop_caches.
3. Ryd PageCache, tandplejer og inoder.
# synkronisere; echo 3>/proc/sys/vm/drop_caches
Forklaring af ovenstående kommando.
synkronisere vil skylle filsystembufferen. Kommando Adskilt af “;”
køre sekventielt. Skallen venter på, at hver kommando afsluttes, før den næste kommando udføres i sekvensen. Som nævnt i kernedokumentation, skriver til drop_cache renser cachen uden at dræbe nogen applikationer/tjenester, kommando ekko gør jobbet med at skrive til fil.
Hvis du skal rydde diskcachen, er den første kommando den sikreste i virksomhed og produktion som
“... ekko 1>….”
vil rydde PageCache kun. Det anbefales ikke at bruge den tredje mulighed ovenfor “... ekko 3>”
i produktion, indtil du ved, hvad du laver, da det vil klare sig PageCache, tandplejer og inoder.
Når du anvender forskellige indstillinger og vil kontrollere, om det faktisk er implementeret specielt på I/O-omfattende benchmark, skal du muligvis rydde buffercache. Du kan droppe cache som forklaret ovenfor uden at genstarte systemet, dvs. ingen nedetid kræves.
Linux er designet på en sådan måde, at det ser ind i diskens cache, før det kigger på disken. Hvis den finder ressourcen i cachen, når anmodningen ikke disken. Hvis vi renser cachen, vil diskens cache være mindre nyttig, da operativsystemet leder efter ressourcen på disken.
Desuden vil det også bremse systemet i et par sekunder, mens cachen renses, og hver ressource, der kræves af OS, indlæses igen i disk-cachen.
Nu opretter vi et shell -script til automatisk at rydde RAM -cache dagligt kl 02.00 via en cron -planlæggeropgave. Opret et shell -script clearcache.sh og tilføj følgende linjer.
#!/bin/bash. # Bemærk, vi bruger "echo 3", men det anbefales ikke i produktionen i stedet for at bruge "echo 1" echo "echo 3>/proc/sys/vm/drop_caches"
Indstil udfør tilladelse til clearcache.sh fil.
# chmod 755 clearcache.sh.
Nu kan du ringe til scriptet, når du har brug for at rydde ramcache.
Indstil nu en cron til at rydde RAM -cache hver dag klokken 2. Åben crontab til redigering.
# crontab -e.
Tilføj linjen herunder, gem og afslut for at køre den på 02.00 daglige.
0 2 * * * /sti/til/clearcache.sh.
For flere detaljer om, hvordan du udfører et job, kan du se vores artikel om 11 Cron Planlægning af job.
Ingen! det er ikke. Tænk på en situation, hvor du har planlagt scriptet til at rydde ramcache hver dag kl 02.00. Hver dag kl. 2 udføres scriptet, og det skyller din RAM -cache. En dag af en eller anden grund kan være mere end forventet, at brugere er online på dit websted og søger ressourcer fra din server.
På samme tid planlagt script kører og rydder alt i cachen. Nu henter alle brugerne data fra disken. Det vil resultere i servernedbrud og ødelægge databasen. Så ryd kun ram-cache, når det er påkrævet, og kendte dine fodtrin, ellers er du Cargo Cult System Administrator.
Hvis du vil rydde Swap -plads, kan du måske køre nedenstående kommando.
# swapoff -a && swapon -a.
Du kan også tilføje ovenstående kommando til et cron -script ovenfor, efter at du har forstået al den tilknyttede risiko.
Nu vil vi kombinere begge ovenstående kommandoer til en enkelt kommando for at lave et ordentligt script til at rydde RAM -cache og bytte plads.
# echo 3>/proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\ n%s \ n' 'Ram -cache and Swap Cleared' OR $ su -c "echo 3> '/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\ n%s \ n' 'Ram -cache og Swap ryddet'" rod.
Efter at have testet både ovenstående kommando, kører vi kommandoen "fri -h”Før og efter kørsel af scriptet og kontrollerer cachen.
Det er alt for nu, hvis du kunne lide artiklen, glem ikke at give os din værdifulde feedback i kommentarer for at lade os vide, hvad du synes er det en god idé at rydde ramcache og buffer i produktion og Virksomhed?