[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 896 MB Ram + Gimp



Mox ha scritto:

> Adesso non ricordo esattamente quanto sia una foto a 4Mp, ma da un
> veloce calcolo: ogni pixel con profondità 3 byte + 1 di alpha non
> compresso richiede in tot: 16Mbyte, e qui mi sono già perso.
Il canale alpha non lo uso e non credo che venga aggiunto in automatico
all'apertura dell'immagine (formato jpeg che non ha canale alpha). Comunque
anche con l'alpha siamo a 320Mb.

> Poi ho gimp2.x ma se non erro mi chiede la dimensione cache per l'undo,
> mica per le immaggini!
Questo non mi era chiaro. Rifarò la prova dandogli 64M.

> E se non dico una stupidaggine ti riserva quella  
> memoria x ogni immaggine aperta (ma questo verificalo)
Questo è un dubbio che ha sfiorato anche me, ma dato che l'impostazione di
default mi sembra che fosse 128Mb ho pensato che Gimp non potesse essere
tanto ottimista!

> la grafica viene caricata in ram, ma quando la 
> devi visualizzare la trasferisce dalla ram normale a quella video, 

Non credo che faccia differenza se l'immagine è visualizzata oppure no. Non
mi risulta che la memoria della scheda video sia usata per tenere dati che
normalmente starebbero in RAM, ovvero sulla scheda video ci finisce una
copia di una parte di quei dati, ovvero quelli da visualizzare ad ogni
istante. Comunque sulla scheda video ho altri 256Mb e se potessi usare
anche quelli non mi farebbe certo schifo. C'è un modo per farlo?

> e la ram è divisa in pagine (quindi occupa di +)
Una pagina di RAM sono 4k, una entry della pagetable ad occhio, se occupa 40
bytes (meno dell'1%) occupa già molto (non conosco la struttura della
pagetable del kernel linux, ma faccio i conti della serva in base alle
informazioni che il kernel penso debba tenere nella pagetable). Direi che
l'overhead della pagetable è trascurabile rispetto al problema che mi trovo
ad affrontare.

Roberto Premoli ha scritto, privatamente:
> mappare lo swap su tmpfs?

Dunque, vediamo se ho capito cosa intendi: creo un file /tmp/swapfile di
700Mb (per non riempire del tutto la RAM). Poi mkswap /tmp/swapfile ed
infine metto la riga in /etc/fstab. Giusto? Se sì, mi viene un dubbio: in
questo modo sto illudendo il kernel che ci sia uno swap, quando invece è
semplicemente una partizione della RAM, e mi troverei con la CPU occupata a
fare delle move avanti ed indietro fra la RAM e lo swap (che è di nuovo la
RAM). Non esiste nulla di più efficiente, come per esempio dire: la RAM
c'è, usala fin che puoi e inizia a swappare su disco solo quando non ce n'è
più? Il problema di fondo è che free mi riporta un sacco di RAM libera, non
vedo perché debba intervenire lo swap.



Reply to: