Swap Linux e Memoria Virtuale Windows

2 risposte [Ultimo messaggio]
Ritratto di hamelin
hamelin
(Junior)
Offline
Junior
Iscritto: 02/08/2010
Messaggi: 16

Salve a tutti!... ho questo problema legato all'utilizzo intensivo dello swap....
ho riscontrato sensibile differenza tra lo swap di Linux e la Virtual-Memory di Windows...in dual-boot Windows 8.1 e Linux.Leap.sul mio notebooK ASUS .facendo girare sui due sistemi operativi uno stesso programma C che legge da un file un numero molto grande 5 Miliardi di interi per separarli in intervalli , e quindi ristamparli su un secondo file..è necessario un uso intensivo (circa 8.5 GB) dello swap su LINUX e della Memoria Virtuale su Windows.
Ho questo strano problema...quando il programma ha gia' separato tutti e 5 i miliardi negli intervalli prefissati inizia la stampa sequenziale su file del vettore di circa 1000000 di interi che contiene l'intervallo da stampare, e che si ripete 5000 volte, perche' ho 5000 intervalli da stampare. per rendermi conto da subito della velocità con cui procede la stampa ogni 50 vettori stampati mando su schermo un messaggio di notifica ..allora:

SU WINDOWS 8.1 : OGNI 5 secondi sono stampati 50 vettori - in 500 secondi il programma termina
SU LINUX :in 1minuto e 30 secondi sono stampati 50 vettori ->INACCETTABILE..TROPPA DIFFERENZA NELLA VELOCITA' DI STAMPA!

da tenere presente che il problema è intrinsecamente legato all'uso intensivo dello swap...perche se faccio stampare prima che la RAM si riempie e si procede sullo swap-Linux o Memoria Virtuale-WINDOWS i tempi di stampa sono gli stessi!.....il codice dove Linux rallenta è un banale ciclo for che riporto di seguito

        for(k=0;k<5000;k++){fwrite(V[k], sizeof(int), N[k], ind_file);free(V[k]);}

i V[k] sono indirizzi di vettori di tipo int..allocati dinamicamente e successivamente riempiti con gli interi (5 Miliardi) letti da un file di input...dopo il caricamento dei primi 2.5 Miliardi sui suddetti vettori, la RAM è piena e inizia a crescere lo swap utilizzato ...precisamente 8.5 GB di swap....quando inizia quel ciclo for di stampa e rilascio della memoria su V[k]...la differenza tra Windows e Linux mi pare importante......se trovate anche voi del FORUM lo stesso risultato sui vostri PC....non sarebbe opportuno contattare il Kernel-Team ..per notificare il problema?

ham

Ritratto di SilverHawk
SilverHawk
(Geek)
Offline
Geek
Iscritto: 31/05/2014
Messaggi: 180

Hai già provato cambiando il parametro swappiness?

Ritratto di hamelin
hamelin
(Junior)
Offline
Junior
Iscritto: 02/08/2010
Messaggi: 16

si ho provato Silver....non è quello. ho pubblicato questo stesso post su diversi forum Linux...e dalle risposte che ho avuto, sembra che il problema esista oggettivamente anche su altre distribuzioni....ma nessuno finora è riuscito a capirci qualcosa sulle possibili cause del problema; tu conosci qualcuno del Forum che si occupa dello sviluppo Kernel?

ham