cachestat, en af ​​nyhederne, der vil blive præsenteret i Linux 6.5

Tux, Linux-kernens maskot

Linux-kernen er rygraden i Linux-operativsystemer (OS), og er den grundlæggende grænseflade mellem en computers hardware og dens processer.

Sidste uge begyndte arbejdet på hvad bliver den næste version af kernen af Linux 6.5 og siden da nogle af de mest relevante ændringer er allerede begyndt at blive annonceret som vil blive introduceret i denne næste kerneudgivelse.

Og det er, at der for eksempel allerede er integreret en lang række forbedringer og ændringer, som f.eks parallel CPU-startstøtte Med det formål at reducere kernestarttider markant, ændrer AMD flittigt at løse problemer med systemsuspendering/genoptagelse sammen med forbedringer af filsystemer, virtualisering og mere.

Af de annoncerede ændringer vil vi tale om en af ​​dem i denne artikel, som er nævnt som allerede inkluderet i kodebasen, der bygger Linux 6.5 kernen og er blevet integreret med implementeringen af et nyt systemkald "cachestat".

Denne serie af patches introducerer et nyt systemkald, cachestat, som opsummerer sidecache-statistik (antal sider i cache sider markeret til omskrivning, smidte sider osv.) af en fil, i en specificeret byteområde. Det inkluderer også en selvtestpakke, der tester nogle typisk brug.

Om cachestat

cachestat er et nyt syscall, der giver brugerlandprogrammer mulighed for at forespørge på mere detaljeret sidecache-statistik på kernesiden. Som sådan er det hensigten at udvide det allerede eksisterende mincore-systemkald, der bruges til at bestemme, om sider er til stede i hukommelsen, cachestat-kaldet giver mulighed for mere detaljeret sidecache-statistik og peger på større skalerbarhed.

Det nævnes det i øjeblikket er hukommelsen i sidecachen normalt den største forbruger af hukommelse og derfor har kernemetoderne, der håndterer det, en stor ydeevnepåvirkning. Som sådan er der en rig grænseflade til at udvide disse metoder med fadvise og synkroniseringsfamilien.

Systemkaldet cachestat() sender information om antallet af gemte sider cachelagrede, beskidte sider, smidte sider, nyligt smidte sider og sider markeret til omskrivning.

Statistikken tilvejebragt for filer giver dig mulighed for at træffe mere præcise beslutninger om at arbejde med I/O der går gennem VFS, ikke kun baseret på en abstrakt algoritme, men også under hensyntagen til et bestemt systems egenskaber på et bestemt tidspunkt.

Der er i øjeblikket ingen god måde at forespørge om tilstanden for den store cache-side filsæt og mappetræer. Der er mincore(), men den skalerer dårligt:
kernen skriver en stor mængde bitmapdata, som brugerområdet skal tilføje det, når brugeren er ligeglad med oplysningerne pr. side
derefter. Brugeren skal også mmmap og deallokere hver fil, mens den går hele vejen igennem, hvilket også kan være ret langsomt.

Om pMulige anvendelsestilfælde af cachestat() af applikationerog nævne følgende:

  • Forespørgselsplanlæggeren i DBMS vil kunne beslutte, om du vil udføre en indeksscanning eller direkte læse dataene fra tabellen baseret på status for tabellens indeks i sidecachen.
  • Granulær og belastningsafhængig håndtering af sidecachefyld og I/O (f.eks. snavsede sider/sider markeret til omskrivning), ændring af synkroniseringsfrekvensen fra meget hyppig under let belastning til sprængfyldt under belastningsbyger.
  • Mulighed for en mere visuel præsentation og praktisk visning af oplysninger om hukommelsesforbrug på store filer/mapper, svarende til hvordan "du"-værktøjet giver dig mulighed for at vise forbrug af diskplads.
  • Nemmere fejlfinding og fejlfinding af dovne skrivninger for ydeevneproblemer.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.