Sto scrivendo un algoritmo per eseguire alcuni calcoli di memoria esterna, vale a dire dove i dati di input non si adattano alla memoria principale e si deve considerare la complessità dell'I/O.Limitare la memoria fisica per processo
Poiché per i miei test non sempre voglio utilizzare gli ingressi reali Voglio limitare la quantità di memoria disponibile al mio processo. Quello che ho trovato è, che io possa impostare il parametro mem
kernel per limitare la memoria fisica utilizzata di tutti i processi (è corretto?)
C'è un modo di fare lo stesso, ma con un per limite di processo . Ho visto ulimit
, ma limita solo la memoria virtuale per processo. Qualche idea (forse posso anche programmarla dal mio codice C++)?
Stai facendo affidamento sulla memoria virtuale e sul paging del linux per caricare i dati rilevanti in memoria, o hai intenzione di caricare manualmente i dati da soli nei buffer? –
Io uso la memoria virtuale + il paging di linux (più una libreria chiamata stxxl per alcune strutture di dati di memoria esterna, ma posso già controllare l'utilizzo di memoria di quelli) – dcn
Aggiunto il tag linux-kernel perché probabilmente devi parlare direttamente con il kernel per questo e i ragazzi del kernel sono i più propensi a saperlo. –