← Back to team overview

sslug-teknik team mailing list archive

Re: disc cache, ramdisk, mm.

 

In <f4rrea$m7n$1@xxxxxxxxxxxx> =?ISO-8859-1?Q?Atte_Andr=E9_Jensen?= <atte@xxxxxxxxxxxxxx> writes:

>1) Hvordan kan jeg (uden at reboote) slette forekomsten af filen i ram, 
>således at anden gang performer ligeså dårligt som første (så jeg ikke 
>skal reboote efter hver test)

Det kræver et program der åbner filen, og bruger posix_fadvise() 
funktionen til at fortælle kernen at den ikke skal cache filen.
D.v.s. et program det gør

    fd = fopen(filename, "r");
    posix_fadvise(fileno(fd), 0, 0, POSIX_FADV_DONTNEED));


>2) Kan man på en pålidelig måde udnytte denne cache? Fx ved at loade 
>alle filer på forhånd i et andet program, således at når mit program 
>skal læse dem går det hurtigere?

Du skal bare begynde at læse filerne. Linux buffer-cache er lavet så
den laver read-ahead på filer, default 8*4 KB så vidt jeg husker.


>3) Jeg forestillede mig at en ramdisk ville kunne løse problemet for 

Det er almindeligvis bedre at lade kernen styre ram-tildeling, og
buffer-cachen er netop beregnet til den slags caching som du vil 
lave.


Mvh,
Henrik



References