Sto creando un programma che implementa un qualche tipo di cache. Ho bisogno di usare il più memoria possibile e per farlo ho bisogno di fare due cose:Controllare l'utilizzo della memoria in haskell
- Controlla la quantità di memoria è ancora disponibile in di sistema (RAM solo, non swap)
- controllare la quantità di memoria mia l'app sta già utilizzando.
Ho bisogno di una soluzione indipendente dalla piattaforma (Linux, Windows, ecc.).
Utilizzando queste due informazioni ridurrò la dimensione della cache o la ingrandirò. Come posso ottenere queste informazioni in Haskell? Ci sono pacchetti che possono fornire tali informazioni?
"Controlla quanta memoria è ancora disponibile nel sistema". Questa domanda non ha molto senso. Hai un file di scambio che può crescere fino a 2 TB. Tutta quella memoria è "disponibile"? Se occupi tutto, il tuo sistema si fermerà. Forse vuoi controllare la memoria fisica. Ma cosa succede se hai 300 schede aperte in un browser che sono tutte intatte per una settimana? Sono pronti per essere scambiati con una goccia di cappello, ma al momento occupano il 99,5% della memoria fisica, quindi non hai niente "disponibile". –
@ n.m. Penso che sia ovvio che per implementare la cache ho bisogno di una quantità di spazio libero che è nella RAM, non in SWAP. Costruire una cache che renderà lo scambio di sistema non è una buona idea. ; p – remdezx
Perché non consentire all'utente di specificare la dimensione della cache? Potrebbero non volere un programma che usi automaticamente tutta la RAM comunque. –