Quote:
Originariamente inviato da ilsensine
Come vedi, non è facile stabilire "quando la memoria sta per finire" solamente guardando la mappatura virtuale dei processi. E' frequente il caso in cui un processo utilizza una libreria, che viene mappata come un file, ma della quale utilizza solo poche pagine: il "grosso" della libreria risulterebbe comunque mappato (e disponibile all'applicazione in caso di necessità), ma le pagine virtuali non corrisponderebbero a nessuna pagina fisica e così rimarranno probabilmente fino al termine dell'applicazione.
|
Grazie per la spiegazione.
Purtroppo il problema è che a me va in errore un tentativo di riallocazione di un'area di memoria [realloc()] di 2Mb con un messaggio di errore "Not enought memory..."!
Stavo pensando di mettere le mani su uno dei parametri del kernel (credo che sia uno di quelli che vengono gestiti anche dalla setrlimit()) ma non saprei proprio se sia la strada giusta... e quale sia la strada giusta...