Pagina 1 di 1

forzare un processo in ram: come fare?

Inviato: ven 21 apr 2006, 12:48
da first
ciaa, volevo sapere se e' possibile forzare un processo a stare in ram e mai in swap

Inviato: ven 21 apr 2006, 13:54
da Paoletta
finchè c'è spazio in ram linux mantiene lì tutti i processi e non li sposta; quando la ram è insufficiente inizia a swappare e non glilo puoi impedire...al massimo puoi usare lo sticky bit;
Se esso è attivo l'area di swap del programma non viene rilasciata anche se nessun utente sta usando il programma.

Inviato: ven 21 apr 2006, 16:12
da alessiodf
Paoletta ha scritto:finchè c'è spazio in ram linux mantiene lì tutti i processi e non li sposta; quando la ram è insufficiente inizia a swappare e non glilo puoi impedire...al massimo puoi usare lo sticky bit;
Se esso è attivo l'area di swap del programma non viene rilasciata anche se nessun utente sta usando il programma.
In teoria il kernel può mandare in swap i processi anche se la ram è libera... il pratica non succede mai, ma se c'è un processo che aspetta una risorsa occupata, dopo un po' di tempo viene marcato come blocked e viene messo in mem virtuale... La gestione della mem da parte del kernel (parlo del 2.6) è molto complessa...la sto studiando per un progetto per l'uni, e ti assicuro che il kernel gestisce molto bene i processi e la memoria! ;)

Inviato: ven 21 apr 2006, 17:39
da first
ok vi spiego da dove nasce la mia esigenza:

mi capita certe volte dopo che ho avviato diversi programmi che le finestre mi appaiona con strane righe azzurre verticali. Dopo diverse configurazioni mi sono convinto sempre piu che il problema sia la sheda video che usa ram condivisa ( ho a bordo 128 ram totali).


Io volevo sapere se esiste la possibilita di imporre al server grafico di risiedere solo in ram, cioe' avere la precedenza a stare in ram rispetto a tutti gli altri programmi e quindi di non ricorrere mai alla swap.