Den 01 May 2011 11:07:11 GMT skrev Thomas Jensen:
> Hvis fx. et billedbehandlingsprogram tilføjer et filter til et billede,
> og der derfor skal oprettes en midlertidig kopi af billedet, er det så
> programmet eller Linux der afgør om kopien skal oprettes i hukommelsen
> (ram) eller i tmp (hd)?
>
> Min opfattelse er, at det er programmet der afgør det. Og, at hvis det
> vælger at oprette kopien i hukommelsen, og der ikke er tilstrækkelig ram,
> så sørger Linux for at tage swap i brug.
>
> Men mange programmer ser ud til at bruge tmp til midlertidige filer -
> altså som arbejdshukommelse - i stedet for at lade Linux styre det - er
> det ikke dumt?
>
> Jeg kan se fornuften i at bruge tmp til midlertidige filer som ikke
> tilgås ret ofte - systemindstillinger, m.m. Men hvorfor bruge tmp som
> arbejdshukommelse? For at kunne genskaber data i tilfælde af nedbrud?
> Eller...?
På en 32-bit maskine, er programmets tilgængelige memory (RAM + swap)
begrænset til i alt 2 GB. Filer derimod kan være meget større.
Det kunne være grunden til at mange downloads ender i en temp
mappe (/tmp eller browserens cache mappe). Plus hvis det alligevel skal
ned i en fil, så er det nemmere at skrive direkte til en fil og så
omdøbe den når download'en er færdig.
Andre programmer er i virkeligheden shell-scripts, som blot kalder
andre programmer. I shell-scripts er det nemt at arbejde med filer,
hvorimod at smide noget op i RAM ikke er så simpelt.
> Man kan selvfølgelig mounte tmp til tmpfs, og på den måde bruge ram før
> harddisken (swap) tages i brug, men... hvorfor vælger nogen programmer at
> bruge tmp som arbejdshukommelse, i stedet for at overlade det til
> styresystemet hvad der skal bruges? Er der gode grunde til IKKE at mounte
> tmp til tmpfs?
At du ikke har RAM nok?
Mvh
Kent
--
"The Brothers are History"
http://www.gianas-return.de/