View Full Version : 800 MB di ram per Windows Vista
Ok grazie, tutto chiarissimo.
Solo una cosa... per quanto riguarda le applicazioni che invece richiederebbero le Dx10, visto che sono tutta un'altra cosa rispetto alle API precedenti, su un sistema con sk video Dx9 il programma come verrebbe eseguito?
Grazie.
diabolik1981
12-03-2006, 10:29
Ok grazie, tutto chiarissimo.
Solo una cosa... per quanto riguarda le applicazioni che invece richiederebbero le Dx10, visto che sono tutta un'altra cosa rispetto alle API precedenti, su un sistema con sk video Dx9 il programma come verrebbe eseguito?
Grazie.
Il tutto viene emulato in DX9, senza che l'utente se ne accorga.
Ok grazie... non so perchè ma sta cosa non mi convince molto, speriamo!
Grazie a tutti per le info.Saluti!
Pandrin2006
12-03-2006, 10:53
1 simile a win2k o xp
2 aero
3 aero glass
il motore che muove le prime 2 è lo stesso (il motore classico GDI+ in 2d)
Sbagli. Le GDI+ non esistono più con Vista, tutte e 3 le modalità grafiche utilizzano le DirectX.
io avevo provato la beta di dicembre con sistema in firma pero' a default
questo e' la situazione in idle
http://img85.imageshack.us/my.php?image=vista2me5oh.gif
per i driver nessun problema non ho dovuto neanche installare i driver della sk video :)
Menion83
12-03-2006, 11:17
Ragazzi guardate che non è la memoria ad occupare 800 MB ma il file di page. Se ci fate caso all'immagine di Vista si vede chiaramente che occupa circa 400 MB di RAM...
P.s. Sono sempre tanti ma con 1 GB ce la caviamo egregiamente secondo me, tanto volente o nolente anche solo per le DX10 dovremmo passarci, altrimenti restiamo su XP e bon eh eh!
CIAO!
Ragazzi guardate che non è la memoria ad occupare 800 MB ma il file di page. Se ci fate caso all'immagine di Vista si vede chiaramente che occupa circa 400 MB di RAM...
P.s. Sono sempre tanti ma con 1 GB ce la caviamo egregiamente secondo me, tanto volente o nolente anche solo per le DX10 dovremmo passarci, altrimenti restiamo su XP e bon eh eh!
CIAO!
nel mio screen il file di paging e' disattivato :)
da notare anche l'utilizzo della cpu :doh:
Basta avere un scheda DX9 con Shader Model 2 e 64 mb di ram
Guarda, noi al lavoro la beta 1 l'abbiamo installata su una Riva TNT da 32 MB di Ram, che dubito molto sia DX9 compliant ...
Apepna ci arirverà la nuova beta vdremo se sono cambiate le richieste hw.
Scusatemi avevo letto un bel po' di discussione ma ora non riesco a rimettermi in pari, il discorso degli 800mb e' quindi un abbaglio?
diabolik1981
12-03-2006, 13:47
Scusatemi avevo letto un bel po' di discussione ma ora non riesco a rimettermi in pari, il discorso degli 800mb e' quindi un abbaglio?
Si, è al solita balla di The Inquirer, ripresa purtroppo da HWU.
Si, è al solita balla di The Inquirer, ripresa purtroppo da HWU.
perke' scusa
io penso che se non ottimizzeranno bene (ma e' impensabile :D :confused: )
per avviare tutti i servizi un antivirus e navigare (niente altro) siamo piu' o meno la'.
Non pensando a quello che succede con programmi ciuccioni di ram :muro:
diabolik1981
12-03-2006, 14:06
perke' scusa
io penso che se non ottimizzeranno bene (ma e' impensabile :D :confused: )
per avviare tutti i servizi un antivirus e navigare (niente altro) siamo piu' o meno la'.
Non pensando a quello che succede con programmi ciuccioni di ram :muro:
E cosa c'entra? Stiamo parlando del OS, è chiaro che poi gli applicativi vadano ad occupare RAM. Oltretutto è stato già dimostrato che per essere una BETA, occupare 400 Mb di Ram, e non 800 come scritto nel titolo, falsamente e con tendenziosità, sia un valore buono, in considerazione delle ottimizzazioni che ci saranno in fase di pre-release e release.
E cosa c'entra? Stiamo parlando del OS, è chiaro che poi gli applicativi vadano ad occupare RAM. Oltretutto è stato già dimostrato che per essere una BETA, occupare 400 Mb di Ram, e non 800 come scritto nel titolo, falsamente e con tendenziosità, sia un valore buono, in considerazione delle ottimizzazioni che ci saranno in fase di pre-release e release.
infatti ho detto che poi ottimizzeranno,ora come ora sono 500 e passa mb :)
una cosa e' certa ci sara' uno scarto prestazionale nei pc.
walter sampei
12-03-2006, 14:46
se arriveranno a 250 mb (sono comunque tantini) allora sara' gia' un risultato piu' che valido; in quel caso, probabilmente ci riflettero' su (intanto aspetto) :cool:
perke' scusa
io penso che se non ottimizzeranno bene (ma e' impensabile :D :confused: )
per avviare tutti i servizi un antivirus e navigare (niente altro) siamo piu' o meno la'.
Non pensando a quello che succede con programmi ciuccioni di ram :muro:
Vabbeh che c'entra? Per avere paragoni sensati si parla sempre di installazione base, altrimenti dovremmo anche considerare il tipo di programmi installati.....
Conan_81
12-03-2006, 15:54
strano... io con vista 5308 occupo siennò 400 mb
strano... io con vista 5308 occupo siennò 400 mb
E' quello che hanno detto TUTTI gli altri betatester nelle pagine precedenti. Ma la redazione a quanto pare non ha nessuna intenzione di cancellare l'articolo e chiedere scuse per la diffamazione.
Prepariamoci all'ondata di troll che gridano "Vista fa schifo perchè occupa 800Mb di Ram, W Linux/MacOS". Grazie HW...
desmacker
12-03-2006, 17:55
L'aggiornamento prima o poi lo faccio comunque quindi non mi pongo questi problemi,tanto i moduli di memoria sono sempre più capienti.
diabolik1981
12-03-2006, 18:34
E' quello che hanno detto TUTTI gli altri betatester nelle pagine precedenti. Ma la redazione a quanto pare non ha nessuna intenzione di cancellare l'articolo e chiedere scuse per la diffamazione.
Prepariamoci all'ondata di troll che gridano "Vista fa schifo perchè occupa 800Mb di Ram, W Linux/MacOS". Grazie HW...
La cosa più controversa è che affermano che non sono schierati da nessuna parte... :mc:
Ad ogni modo mi sembra che la redazione si sia giustamente astenuta dal dare un parere, ha solo riportato una news ;)
Ad ogni modo mi sembra che la redazione si sia giustamente astenuta dal dare un parere, ha solo riportato una news
Diciamo che la news se l'ha inventata. :\
MagnoGabri
12-03-2006, 20:01
E' quello che hanno detto TUTTI gli altri betatester nelle pagine precedenti. Ma la redazione a quanto pare non ha nessuna intenzione di cancellare l'articolo e chiedere scuse per la diffamazione.
Scusa ma lavori per MS? No te lo chiedo solo perchè penso che alla MS Italia leggano HWU che è un sito molto frequentato e se non sono loro a chiedere le scuse ufficialmente non capisco perchè lo debbano fare altri per conto loro. ;)
Non voglio prendere le parti di nessuno credo solo che le news siano tutte scritte in buona fede e come tali andrebbero prese. :)
Ciao Gabri
Scusa ma lavori per MS? No te lo chiedo solo perchè penso che alla MS Italia leggano HWU che è un sito molto frequentato e se non sono loro a chiedere le scuse ufficialmente non capisco perchè lo debbano fare altri per conto loro.
Non voglio prendere le parti di nessuno credo solo che le news siano tutte scritte in buona fede e come tali andrebbero prese.
MS dovrebbe chiedere scusa? E de che? :confused:
Questi articoli fuffa non fanno altro che allevare i nuovi troll (leggi i commenti della gente che ha letto la notizia senza approfondire, un disastro), cosa che un sito d'INFORMAZIONE NON dovrebbe fare.
diabolik1981
12-03-2006, 20:35
MS dovrebbe chiedere scusa? E de che? :confused:
Questi articoli fuffa non fanno altro che allevare i nuovi troll (leggi i commenti della gente che ha letto la notizia senza approfondire, un disastro), cosa che un sito d'INFORMAZIONE NON dovrebbe fare.
Hai detto bene, di informazione...
Lorenzo1
12-03-2006, 20:51
800 mb io l'avevo detto fin dall'inizio che erano troppi !!! E' di certo una bufalissima !! :rolleyes: :rolleyes:
E poi io mi terrò sempre Windows XP ( che è già tanto se uso windows :mad: e non più linux )
coschizza
12-03-2006, 21:05
Sbagli. Le GDI+ non esistono più con Vista, tutte e 3 le modalità grafiche utilizzano le DirectX.
solo aero glass usa le directx il resto è uguale come oggi, per motivi di compatibilità e per rendere scalabile la configurazione, come ho già scritto il motore gdi si disabilita solo nella terza modalità altrimenti utilizzando la interfaccia standard simil 2000 xp il pc andrebbe come una lumaca non utilizzando l'accelerazione 2d,
comunque è tutto documentato nei sdk della ms, se mi mandi un messi privato ti posso indirizzare su documenti specifici che ora non ho sotto mano ma che ritrovero domani al lavoro
psychok9
12-03-2006, 23:40
Con la mia configurazione (Xp 2,4GHz, 1,5Gb di ram e 2 RAID SATA) per qualche motivo andava lentissimo e spesso incontro a crash...
speriamo nelle release finale...
MagnoGabri
13-03-2006, 08:29
MS dovrebbe chiedere scusa? E de che?
Non hai letto bene o io mi sono spiegato male. Non è MS che deve chiedere scusa, ma dovrebbe essere lei a chiedere le scuse e la chiusura eventuale di questa discussione a HWU, ma visto che non lo fa non capisco perchè lo debbano fare altri per loro conto. Tutto qui.
Ciao Gabri
diabolik1981
13-03-2006, 08:36
Non hai letto bene o io mi sono spiegato male. Non è MS che deve chiedere scusa, ma dovrebbe essere lei a chiedere le scuse e la chiusura eventuale di questa discussione a HWU, ma visto che non lo fa non capisco perchè lo debbano fare altri per loro conto. Tutto qui.
Possibile anche che ignorino questo sito...
MagnoGabri
13-03-2006, 08:41
Possibile anche che ignorino questo sito...
Questo lo dubito, è risaputo che MS tiene molto in considerazione quello che si dice in rete di lei e HWU è un sito che conta moltissimi contatti al giorno, sarebbe, IMHO, controproducente da parte loro non leggere i commenti di un sito come questo.
Ciao Gabri
Già... e l'installazione di Win95 stava su 13 floppy (totale meno di 19MB) e già sembrava tantissimoooooo (il Win 3.11 stava su 6 floppy e il DOS 6.22 su 3 floppy...) :D:D
400 o 800MB a sistema fermo mi sembrano davvero eccessivi, ma ormai si sa che Microzozz e produttori di Hardware vanno a braccetto... In questo momento sul mio XP SP2 ho aperti Messenger, Firefox, Thunderbird, Freepops, l'antivirus, il task manager e forse pure qualcos'altro e l'occupazione è ferma a 234MB...
400 o 800MB a sistema fermo mi sembrano davvero eccessivi
800 di sicuro (ma a quanto pare è un numero non vero), ma 400 non mi sembra affatto eccessivo per un sistema del 2006 (pensato per durare qualche anno). Se l'utente non può permettersi tale quantitativo di RAM, semplicemente non lo installa, ma qui viene la mia crititica: per quanto tempo l'utente Win potrà usare con profitto la sua copia di XP senza essere costretto ad aggiornare a Vista (e conseguentemente ad aggiornare il suo hardware)? Come è risaputo, MS è molto brava nel fare queste operazioni... Ma per Vista in sè, 400 Mb mi sembrano adeguati (bisognaerà poi verificare con quanto profitto questi Mb vengono usati dal sistema).
tatomalano
13-03-2006, 10:21
Ragazzi ma perchè vi lamentate sempre??? E' ovvio. Questo è il progresso. Windows 3.11 voleva 8 MB, Windows 95 ne voleva 64, Windows 2000 128.... e così via.....
Ragazzi ma perchè vi lamentate sempre??? E' ovvio. Questo è il progresso. Windows 3.11 voleva 8 MB, Windows 95 ne voleva 64, Windows 2000 128.... e così via.....
:cincin:
Si però è scorretto da parte di MS obbligare a passare al S.O. successivo. Ho win 2k pro e non potrò mettere IE7 per motivi di funzionalità che il mio S.O. non ha (quando FF gira anche su Win 9x...) e pare che Halo 2 uscirà solo per windows Vista... Ma cavolo! Visto che le DX10 usciranno anche per XP (e chissà perchè... credo che su win 2k non le potrò installare) perchè non consentire ad Halo 2 di girare anche su XP? Per giocare ad Halo 2 su PC due alternative: comprare Vista Retail (perchè sarà difficile con le nuove regole comprarne una OEM) oppure comprare il PC nuovo (anche se ho un PC con A64 X2 e magari 2 7900 GTX in SLI...)...
diabolik1981
13-03-2006, 11:24
Si però è scorretto da parte di MS obbligare a passare al S.O. successivo. Ho win 2k pro e non potrò mettere IE7 per motivi di funzionalità che il mio S.O. non ha (quando FF gira anche su Win 9x...) e pare che Halo 2 uscirà solo per windows Vista... Ma cavolo! Visto che le DX10 usciranno anche per XP (e chissà perchè... credo che su win 2k non le potrò installare) perchè non consentire ad Halo 2 di girare anche su XP? Per giocare ad Halo 2 su PC due alternative: comprare Vista Retail (perchè sarà difficile con le nuove regole comprarne una OEM) oppure comprare il PC nuovo (anche se ho un PC con A64 X2 e magari 2 7900 GTX in SLI...)...
Io so che DX10 non usciranno per XP per una incompatibilità di fondo tra i due.
darkquasar
13-03-2006, 11:28
ma xkè secondo te windows XP e windows 200 cosa fanno???:muro:
la cache statica si usava ai tempi del dos con smartdrv, e lì difficilmente ki aveva un computer dei tempi metteva + di 1024KB di cache, ma solitamente si usavano 256KB...
eh, grazie tante.... LO SO, dicevo semplicemente che adesso, FORSE Windows Vista é capace di sfruttare lo spazio libero MEGLIO DI PRIMA, occupandolo in gran parte, e questo spiegherebbe l'occupazione di ram.
E comunque siccome Vista non é ancora uscito mi sembra presto per parlare...
Ma se siete tutti nati imparati, tanto di cappello...
;)
coschizza
13-03-2006, 11:44
Si però è scorretto da parte di MS obbligare a passare al S.O. successivo. Ho win 2k pro e non potrò mettere IE7 per motivi di funzionalità che il mio S.O. non ha (quando FF gira anche su Win 9x...) e pare che Halo 2 uscirà solo per windows Vista... Ma cavolo! Visto che le DX10 usciranno anche per XP (e chissà perchè... credo che su win 2k non le potrò installare) perchè non consentire ad Halo 2 di girare anche su XP? Per giocare ad Halo 2 su PC due alternative: comprare Vista Retail (perchè sarà difficile con le nuove regole comprarne una OEM) oppure comprare il PC nuovo (anche se ho un PC con A64 X2 e magari 2 7900 GTX in SLI...)...
le DX 10 sono fatte solo per vista, non è previsto nessun porting su sistemi xp o 2k per che sarebbe tecnicamente improponibile.
Io sapevo che le DX10 sarebbero uscite con il SP3 (assieme ad una versione "depotenziata" di IE7 e, mi pare, del nuovo WMP)
Si però è scorretto da parte di MS obbligare a passare al S.O. successivo. Ho win 2k pro e non potrò mettere IE7 per motivi di funzionalità che il mio S.O. non ha (quando FF gira anche su Win 9x...) e pare che Halo 2 uscirà solo per windows Vista... Ma cavolo! Visto che le DX10 usciranno anche per XP (e chissà perchè... credo che su win 2k non le potrò installare) perchè non consentire ad Halo 2 di girare anche su XP? Per giocare ad Halo 2 su PC due alternative: comprare Vista Retail (perchè sarà difficile con le nuove regole comprarne una OEM) oppure comprare il PC nuovo (anche se ho un PC con A64 X2 e magari 2 7900 GTX in SLI...)...
Mi quoto da solo:
400 non mi sembra affatto eccessivo per un sistema del 2006 (pensato per durare qualche anno). Se l'utente non può permettersi tale quantitativo di RAM, semplicemente non lo installa, ma qui viene la mia crititica: per quanto tempo l'utente Win potrà usare con profitto la sua copia di XP senza essere costretto ad aggiornare a Vista (e conseguentemente ad aggiornare il suo hardware)? Come è risaputo, MS è molto brava nel fare queste operazioni...
Per le DX10 non mi esprimo, non sono sufficientemente informato, si parla di un'incompatibilità di fondo, anche se onestamente mi sembra strano
sdjhgafkqwihaskldds
13-03-2006, 13:20
Io rimango con MS-DOS + WINDOWS 3.11...
...
...
...
ciao :)
benedetta quella volta che ho installato linux (kanotix!!) e mi sono tenuto un win 98 con wmware da linux per quelle poche applicazioni che ancora non posso sostituire :-)
ciao
benedetta quella volta che ho installato linux (kanotix!!) e mi sono tenuto un win 98 con wmware da linux per quelle poche applicazioni che ancora non posso sostituire :-)
ciao
benedetta quella volta che ho installato linux (kanotix!!) e mi sono tenuto un win 98 con wmware da linux per quelle poche applicazioni che ancora non posso sostituire :-)
ciao
E bravo compare trevigiano! :D
coschizza
13-03-2006, 16:56
Io sapevo che le DX10 sarebbero uscite con il SP3 (assieme ad una versione "depotenziata" di IE7 e, mi pare, del nuovo WMP)
fidati........non esiste una cosa simile (ufficiale MS), oltre a non essere prevista dalla roadmap della MS non è possibile tecnicamente se non portando il motore di vista in xp, cosa ovviamente impossibile a meno di non riprogettare l'infrastuttura del SO.
La versione "depotenziata" di IE7 non sarà compresa nella sp3 ma come download separato, la sp3 di xp per ora è prevista (essendo l'ultima) come semplice raccolta delle fix del sistemo operativo
in questi giorni sto provando l'ultimo SDK delle direct10 sul mio pc e anche sul manuale è indicato che per sviluppare bisogna avere vista installato oppure windows xp ma in questo caso si possono utilizzare solo dei programmi che emulano alcune funzioni delle dx10 in software, ovviamente l'emulazione è 100 volte piu lenta di una ipotetica gpu dx10, è possibuile usarla solo per testare il funzionamento delle nuove api ma nulla di piu.
come tutti sanno la principale novità delle directx 10 sara quella degli shader unificati, la cosa curiosa e che sul manuale ufficiale che ho tra le mani (che potete scaricarvia anche voi) questa novità non viene mai citata eppure ci sono un centinaio di pagine di presentazione elenco delle api tutorial ecc con ben alencate le novità trispetto le direcx 9 e come migrare i giochi tra le 2 piattaforme.
il motivo per questa ommisione esiste ma credo che andrei troppo OT comunque si puo "percepire" dall'annuncio della nvidia che ha messo le basi per la loro prima generazione di gpu directx 10 che non dovrebbe avere gli shader unificati a LIVELLO HARDWARE.
bella stronzata il sistema operativo serve solo per accendere il computer e dare uno schifo di interfaccia grafica all'utente a che servono finestre in trasparenza e effetti 3d del cavolo la ram serve per i programmi! ma se voglio fare editing o rippare un dvd e intanto scaricare qualcosa da internet o vedere la tv o un dvd o ascoltare musica mentre ritocco qualche immagine m servono almeno 8 GB di ram!!!!
BILL GATES culacchione!!!!!!!!!!!!!!!
giacomo1956
13-03-2006, 18:55
Io Ho 2 Gb di RAM.
come tutti sanno la principale novità delle directx 10 sara quella degli shader unificati, la cosa curiosa e che sul manuale ufficiale che ho tra le mani (che potete scaricarvia anche voi) questa novità non viene mai citata eppure ci sono un centinaio di pagine di presentazione elenco delle api tutorial ecc con ben alencate le novità trispetto le direcx 9 e come migrare i giochi tra le 2 piattaforme.
Per forza non c'è scritto sul manuale. Mica una scheda deve avere le ALU unificate per essere DX10. Stai facendo un po' di confusione.
bella stronzata il sistema operativo serve solo per accendere il computer e dare uno schifo di interfaccia grafica all'utente
Sì, nel 1992.
Si però è scorretto da parte di MS obbligare a passare al S.O. successivo. Ho win 2k pro e non potrò mettere IE7 per motivi di funzionalità che il mio S.O. non ha (quando FF gira anche su Win 9x...) e pare che Halo 2 uscirà solo per windows Vista... Ma cavolo! Visto che le DX10 usciranno anche per XP (e chissà perchè... credo che su win 2k non le potrò installare) perchè non consentire ad Halo 2 di girare anche su XP? Per giocare ad Halo 2 su PC due alternative: comprare Vista Retail (perchè sarà difficile con le nuove regole comprarne una OEM) oppure comprare il PC nuovo (anche se ho un PC con A64 X2 e magari 2 7900 GTX in SLI...)...
Halo 2 non girerà su XP perché ha bisogno delle DX10 che saranno solo per Vista.
Non poter installare IE7 non è una gran perdita, ci sono browser molto migliori e per tutti i sistemi operativi.
Farti passare al nuovo SO non è scorretto... è un'azienda, è normale che vogliano fare soldi. Sta a ognuno valutare se il prezzo è adeguato alle caratteristiche, ci si può anche tenere XP o Fedora o quello che vi pare.
bisogna anche precisare che potrebbe essere una scelta di microsoft. mi spiego meglio. fanno le beta volutamente avide di ram altrimenti nessuno aquista windows vista e usa le beta!!! poi nella versione finale tutto torna a posto
Con PC professionale di tanti anni fa uscì il CD con la Beta di Windows 2000, che conservo ancora, che scadeva nel Maggio 1999. Anche queste beta, credo, saranno a scadenza (qualcuno può confermare???)... Non si potrà usarlo in produzione... Il motivo del consumo di RAM è un altro... (Codice di debug, codice compilato senza ottimizzazioni, che velocizzano, ma rendono il debug più difficile, se non impossibile)
coschizza
14-03-2006, 14:59
bisogna anche precisare che potrebbe essere una scelta di microsoft. mi spiego meglio. fanno le beta volutamente avide di ram altrimenti nessuno aquista windows vista e usa le beta!!! poi nella versione finale tutto torna a posto
fidati sei in errore al 100%
ti spiego meglio
la versione finale rc1 o rc2 di tutti i prodotti ms sono distribuiti come questa beta di vista ma quelle versioni sono oramai al 99% simili al prodotto finale con ancora qualche piccolo affinamento per diventare RTM.
quindi vedi che non ha senso "appesantire" volutamente la build in questione quando la RC0/1 sarà ufficialmente diffusa a tutto il pubblico e non solo ai beta tester.
i soli limiti che la ms mette nelle beta è il tempo di utilizzo che normalmente è di 180 giorni, tutto il resto non cambia.
spero di essere stato chiaro :)
simone_b
14-03-2006, 22:53
fidati sei in errore al 100%
ti spiego meglio
la versione finale rc1 o rc2 di tutti i prodotti ms sono distribuiti come questa beta di vista ma quelle versioni sono oramai al 99% simili al prodotto finale con ancora qualche piccolo affinamento per diventare RTM.
quindi vedi che non ha senso "appesantire" volutamente la build in questione quando la RC0/1 sarà ufficialmente diffusa a tutto il pubblico e non solo ai beta tester.
i soli limiti che la ms mette nelle beta è il tempo di utilizzo che normalmente è di 180 giorni, tutto il resto non cambia.
spero di essere stato chiaro :)
Sono d'accordo con coschizza purtroppo. Le beta di MS sono uguali alle RTM, e non bastasse sono più delle alpha che non delle beta. Potrei scommettere che con la RTM non si otterrà né 1 clock in più di CPU né 1 byte in più di RAM.
marelv83
15-03-2006, 09:15
Signori, con un computer come quello che si prospetta (minimo 2Giga) e un sistema operativo che spero sia veramente preciso ed affidabbile, forse si potranno raggiungere traguardi che neanche immagginiamo, in tanti e diversi campi...
Ho installato ieri l'ultima beta, occupava 412mb liscia.
cia'
coschizza
15-03-2006, 09:43
Sono d'accordo con coschizza purtroppo. Le beta di MS sono uguali alle RTM, e non bastasse sono più delle alpha che non delle beta. Potrei scommettere che con la RTM non si otterrà né 1 clock in più di CPU né 1 byte in più di RAM.
io non ho detto che la beta è uguale alla RTM ma semplicemente che le build non sono "appesantite" volutamente per renderle inutilizzabili.
ad oggi non hanno ancora iniziato a fare del vero tuning per migliorare le prestazioni delle build, infatti è per questo che le build non vengono distribuite al pubblico , questo lavoro inizierà nella versione di aprile che non avrà nessuna nuova funzione da aggiungere ma punterà ad affinare quelle già incluse, non è possibile ottimizzare le prestazioni o il consumo di ram quando si cambia il codice piu volte al giorno.
La qualità dell'ultima build di vista è molto al di sotto di quello che varrà presentato come rtm, tanto per farti capire nelle ultime 3 settimane sono stati risolti circa 500 bug del sistema e sono in verifica altri 5000 segnalazioni di bug da aggiungere alle decine di migliaia di segnalazioni che sono arrivate dalla prima distribuzione ai betatester.
mediamente vengono risolti ( a seconda della difficolta) dai 500 ai 1000 bug a mese su questo nuovo SO, tra le ultime 2 build (dicembre- febbraio) ci sono state circa 1600 fix da parte della MS
Pandrin2006
15-03-2006, 15:11
C'è anche da tenere presente che è la versione Ultimate Edition che carica di default un sacco di servizi come:
IIS 7 (pesantissimo)
Microsoft Virtual Server 2005 R2 (pesantissimo)
Microsoft Search Service
Ragazzi,...
scusate la domanda (non mi sembra di avere letto interventi al riguardo) ma a parte la quantità di memoria che il S.O. andrà ad occupare per caso si hanno notizia sulla sua gestione.
Mi spiego: con XP e precedenti il file di page viene utilizzato anche in presenza di abbondanza di ram fisica (con ovvio decadimento delle prestazioni). E ciò accade anche impostando il file di page a zero.
Nessuno sa se questo modo penalizzante di gestione della ram virtuale è cambiato/cambierà con Vista?
Bye
Volevo dire che se ad abbondanti richieste di memoria Vista dovesse aggiungere una gestione della memoria virtuale "vecchia maniera" è bene mettere in preventivo non solo l'acquisto di un secondo GB di ram ma ..... anche due HD "raptor" 10000 rpm in modalità raid ( :D scherzo ma non troppo)
Conan_81
16-03-2006, 00:50
Volevo dire che se ad abbondanti richieste di memoria Vista dovesse aggiungere una gestione della memoria virtuale "vecchia maniera" è bene mettere in preventivo non solo l'acquisto di un secondo GB di ram ma ..... anche due HD "raptor" 10000 rpm in modalità raid ( :D scherzo ma non troppo)
la memoria virtuale c'è, e anche della stessa dimensione dell'xp dall'impostazione di default. Infondo... non credo che la microsoft da un giorno all'altro si metta ad eliminare il file di swap, visto che ancora le attuali MB non supportano più di 4GB (anche perchè non credo che un utente normale ce li vada a mettere :rolleyes: ). Ma infondo quale videogiocatore incallito al giorno d'oggi non prende 1,5-2 gb di ram? Per far girare UT2007 con qualche applicazione in background (che tutti bene conosciamo, e ciucciano risorse ben benino) sono più che consigliate..
Cmq, dalle mie esperienze di tester della microsoft, ho visto che il vista promette bene dal punto di vista videoludico (anche se, come ha ammesso la stessa casa madre, è stato elaborato più che altro per quello): dalle prime versioni beta (mi sembra era la 51xx), il pc non ne voleva proprio sapere di far girare qualche gioco, dato che dal dxdiag addirittura confermava che mancavano alcune librerie. Mentre già dalla 5270 il tutto sembra risolto, apparte qualche bug nel codice .net . Infatti facendo partire un gioco esigente come Dark Age Of Camelot (non so chi lo conosce, ma posso dirvi che solo lui si poccia 500-600 mb di ram, quindi gli swap sono all'ordine del secondo) il gioco gira fluidissimo senza rallentamenti, al contrario dell'xp che cacha in continuazione. Quindi, teoricamente, il file di swap sembra ottimizzato (e lo dico perchè sono stato costretto ad installare il vista su un ATA133, dato che i drivers del sataII della Silicon Images non ne vuol sapere di riconoscerli).
comunque, certo... a parer mio, prendersela con una versione BETA è come rubare un leccalecca ad un bambino :p
Con PC professionale di tanti anni fa uscì il CD con la Beta di Windows 2000, che conservo ancora, che scadeva nel Maggio 1999. Anche queste beta, credo, saranno a scadenza (qualcuno può confermare???)... Non si potrà usarlo in produzione... Il motivo del consumo di RAM è un altro... (Codice di debug, codice compilato senza ottimizzazioni, che velocizzano, ma rendono il debug più difficile, se non impossibile)
In genere durano 180 giorni oltre il quale il sistema non funziona piu'. Ma mica è già disponibile la beta per le masse da ordinare? Si sa qualcosa su un'eventuale data?
Ho installato ieri l'ultima beta, occupava 412mb liscia.
cia'
Sei l'ennesimo che conferma il reale occupamento di Windows Vista vergine appena installato. Tutto sommato lo considero ottimo. Penso a quanti danni (oltre che pubblicità) The Inquirer con queste notizie fasulle... Mi ci viene un po di rabbia sinceramente. Guarda caso non hanno pubblicato neanche mezzo shot dei processi che ci stavano sotto... :rolleyes:
la memoria virtuale c'è, e anche della stessa dimensione dell'xp dall'impostazione di default. Infondo... non credo che la microsoft da un giorno all'altro si metta ad eliminare il file di swap, visto che ancora le attuali MB non supportano più di 4GB (anche perchè non credo che un utente normale ce li vada a mettere :rolleyes: ).
:p
-
In tema di informatica c'è da dire che quello che sino al giorno prima sembrava appartenere ad una nicchia di utenti solo "il giorno dopo" è divenuto uno standard (abbattimento dei costi, ecc. ecc).
Non mi sorprenderebbe quindi che fra un po' risultasse usuale dotarsi di "almeno" 2 GB di ram.
Detto ciò io non parlavo di "eliminare" il file di swap ma semplicemente di consentire all'utente la possibilità di non utilizzarlo. Questa opzione (ora solo virtuale: a proposito che senso ha?) meglio risponderebbe al fututo che sta "dietro l'angolo".
:) ;)
coschizza
16-03-2006, 10:39
-
In tema di informatica c'è da dire che quello che sino al giorno prima sembrava appartenere ad una nicchia di utenti solo "il giorno dopo" è divenuto uno standard (abbattimento dei costi, ecc. ecc).
Non mi sorprenderebbe quindi che fra un po' risultasse usuale dotarsi di "almeno" 2 GB di ram.
Detto ciò io non parlavo di "eliminare" il file di swap ma semplicemente di consentire all'utente la possibilità di non utilizzarlo. Questa opzione (ora solo virtuale: a proposito che senso ha?) meglio risponderebbe al fututo che sta "dietro l'angolo".
:) ;)
disabilitare oggi il file di swap è possibile ma ci sono dei limiti e dei problemi che lo rendono sconsigliato dalla stessa ms, il fiel di swap in generale aumenta l'efficienza della gestione della memoria, in vari casi non avere il file di memoria attivo e riempire l'intera memoria del pc puo causare un blocco critico (schemata blu) del pc.
Questo perche alcuni parti del istema NON POSSONO mai essere messe nella memoria che non sia quella fisica quindi se il pc è saturo e il SO deve caricare un driver in memoria non avendo spazio va in crash, avendo il file di swap invece parte della memoria poco utilizzata viene scaricata su file per liberare piu spazio per la memoria utilizzata dal sistema.
disabilitare definitivamente il file di swap sarebbe un buona idea solo se la massima memoria utilizzata sul proprio pc (quella di picco) non arriva mai nemmeno vicino a quella realmente disponibile e inoltre bisogna preventivamente modificare un paio di chiavi del registro per meglio preparare il pc ad un utilizzo senza la memoria vistrale.
comunque ci sono decine di applicazioni che non possono funzionare senza file di swap attivo soprattutto quelle che devono allocare grandi quantità di memoria che senza questo meccanismo di paginazione non potrebbero funzionare correttamente (esempio photoshop ).
disabilitare oggi il file di swap è possibile ma ci sono dei limiti e dei problemi
[...]
Quello che dici è giustissimo, solo che il file di swap in Windows viene usato anche quando c'è molta RAM ancora disponibile, invece in Linux viene usato il meno possibile... questa di Win è una scelta che non mi è molto chiara.
vegetagt
16-03-2006, 10:50
onestamente faccio grafica web , gioco , comprimo film , e tante altre cose belle in contemporanea, file di swap disabilitato ho 2 GB di ram, mai un blocco e mai la ram ha superato 1,5 GB ... saranno dei casi rari o per chi usa manipolazioni video che superano i 2 gb :\
Sei l'ennesimo che conferma il reale occupamento di Windows Vista vergine appena installato. Tutto sommato lo considero ottimo. Penso a quanti danni (oltre che pubblicità) The Inquirer con queste notizie fasulle... Mi ci viene un po di rabbia sinceramente. Guarda caso non hanno pubblicato neanche mezzo shot dei processi che ci stavano sotto... :rolleyes:
lol e ti pare ottimo? 400 mega solo dell'OS? :muro: sono sicuro che la versione finale occuperà meno però temo sui 250/300 mega purtroppo
Pandrin2006
16-03-2006, 10:54
Sei l'ennesimo che conferma il reale occupamento di Windows Vista vergine appena installato. Tutto sommato lo considero ottimo.
E' ottimo si, se consideri che nella CTP di Vista (è la Ultimate Edition) sono avviati di default IIS 7 e Microsoft Virtual Server 2005 R2.
Ragazzi,...
Mi spiego: con XP e precedenti il file di page viene utilizzato anche in presenza di abbondanza di ram fisica (con ovvio decadimento delle prestazioni). E ciò accade anche impostando il file di page a zero.
Nessuno sa se questo modo penalizzante di gestione della ram virtuale è cambiato/cambierà con Vista?
Bye
ti posso confermare che anche disattivando il file di paging in vista,lo usa lo stesso :sofico: quindi mi sa che siamo alla vakkia maniera :muro:
edit:devo dire che hi provato con 1 gb
ti posso confermare che anche disattivando il file di paging in vista,lo usa lo stesso :sofico: quindi mi sa che siamo alla vakkia maniera :muro:
edit:devo dire che hi provato con 1 gb
-
X COSCHIZZA
Scusami ma, come vedi, attualmente il file di swap NON può essere disabilitato (o, per meglio dire, la disabilitazione, senz'altro possibile da pannello di controllo, NON produce l'effetto desiderato e ci si ritrova comunque con il file di swap "fra i piedi") ;)
Un piccolo suggerimento comunque, per quanto banale, lo si può dare: è preferibile impostare la dimensione del file di swap in misura fissa (minimo=massimo).
Questo non migliora le prestazioni di accesso alla ram ma riesce ad ovviare al problema della frammentazione del disco a seguito effetto "fisarmonica" del file di swap.
;)
-
X COSCHIZZA
Scusami ma, come vedi, attualmente il file di swap NON può essere disabilitato (o, per meglio dire, la disabilitazione, senz'altro possibile da pannello di controllo, NON produce l'effetto desiderato e ci si ritrova comunque con il file di swap "fra i piedi") ;)
Un piccolo suggerimento comunque, per quanto banale, lo si può dare: è preferibile impostare la dimensione del file di swap in misura fissa (minimo=massimo).
Questo non migliora le prestazioni di accesso alla ram ma riesce ad ovviare al problema della frammentazione del disco a seguito effetto "fisarmonica" del file di swap.
;)
Il file di swap normalmente dopo averlo disabilitato va cancellato a mano per recuperare spazio.
Non ho provato Vista, ma parlo per 2K e XP. Cmq provate a cancellarlo dopo aver riavviato il PC. Se ve lo lascia fare OK. Se ve lo impedisce allora è ancora attivo... ;)
diabolik1981
16-03-2006, 13:53
onestamente faccio grafica web , gioco , comprimo film , e tante altre cose belle in contemporanea, file di swap disabilitato ho 2 GB di ram, mai un blocco e mai la ram ha superato 1,5 GB ... saranno dei casi rari o per chi usa manipolazioni video che superano i 2 gb :\
A me capita di usare lo swap (è vero, con 1 GB di Ram, ma supero tranquillamente i 3 GB con swap annesso) ogni volta che devo montare il DVD delle vacanze.
Per gli esseri umani, escludendo il P2P, dov'è/dove sarà possibile trovare una beta recente di questo S.O.
Io provai 10 minuti la Beta1 di luglio 2005(mi sembra)
coschizza
16-03-2006, 14:03
-
X COSCHIZZA
Scusami ma, come vedi, attualmente il file di swap NON può essere disabilitato (o, per meglio dire, la disabilitazione, senz'altro possibile da pannello di controllo, NON produce l'effetto desiderato e ci si ritrova comunque con il file di swap "fra i piedi") ;)
Un piccolo suggerimento comunque, per quanto banale, lo si può dare: è preferibile impostare la dimensione del file di swap in misura fissa (minimo=massimo).
Questo non migliora le prestazioni di accesso alla ram ma riesce ad ovviare al problema della frammentazione del disco a seguito effetto "fisarmonica" del file di swap.
;)
se lo disabiliti allora risulta disabilitato, non ho mai visto un pc con il file di swap disabilitato che in realta lo usava
le impostazioni di default di xp o vista che sia sono già corrette infatti di base crea un file di swap della dimensione di 1,5 x la ram come dovrebbe essere. Quindi è meglio non toccare nientre altrimenti l'utente meno esperto pensa di fare chissa che miglioramento e magari fa solo danni
coschizza
16-03-2006, 14:05
Per gli esseri umani, escludendo il P2P, dov'è/dove sarà possibile trovare una beta recente di questo S.O.
Io provai 10 minuti la Beta1 di luglio 2005(mi sembra)
la beta 1 che hai provato non era nemmeno al 50% delle feature che sono incluse ora.
le beta pubbliche dovevano uscire ad aprile ma oggi alcune persone nel NG della ms pensano di slittarla al mese dopo
coschizza
16-03-2006, 14:08
onestamente faccio grafica web , gioco , comprimo film , e tante altre cose belle in contemporanea, file di swap disabilitato ho 2 GB di ram, mai un blocco e mai la ram ha superato 1,5 GB ... saranno dei casi rari o per chi usa manipolazioni video che superano i 2 gb :\
se mi dici che la ram non ha mai occupato più di 1,5GB allora ti credo ma che vantaggio hai sapendo che aprendo ancora qualche applicativo potevi avere blocchi improvvisi? preferisco perdere il 5% di velocità ma non minare minimamente la stabilità di un sistema.
la beta 1 che hai provato non era nemmeno al 50% delle feature che sono incluse ora.
le beta pubbliche dovevano uscire ad aprile ma oggi alcune persone nel NG della ms pensano di slittarla al mese dopo
Appunto per questo chidevo dovre trovare una Beta aggiornata.
Aspetterò! Uscirà anche con riviste? :confused:
Il file di swap normalmente dopo averlo disabilitato va cancellato a mano per recuperare spazio.
Non ho provato Vista, ma parlo per 2K e XP. Cmq provate a cancellarlo dopo aver riavviato il PC. Se ve lo lascia fare OK. Se ve lo impedisce allora è ancora attivo... ;)
-
Non vorrei insistere ma ricordo che dopo averlo disabilitato (cancellato e, di più, defframentato il disco al successivo riavvio del sistema) il task manager (così come altre utility) mi diceva che il file di page era presente ed utilizzato.
E, ad onor del vero, ho già letto altri interventi al riguardo che affermano che il file di swap (o di page) viene sempre utilizzato dal Sistema.
Tornerebbe davvero utile un autorevole chiarimento al riguardo
;)
Bye
-
Non vorrei insistere ma ricordo che dopo averlo disabilitato (cancellato e, di più, defframentato il disco al successivo riavvio del sistema) il task manager (così come altre utility) mi diceva che il file di page era presente ed utilizzato.
E, ad onor del vero, ho già letto altri interventi al riguardo che affermano che il file di swap (o di page) viene sempre utilizzato dal Sistema.
Tornerebbe davvero utile un autorevole chiarimento al riguardo
;)
Bye
Io con il sistema e XP ho tolto il file di swap e gira tutto meglio(tra l'altro non ho + clack del mio maxtor). Devo abilitare la memoria swap solo per Vampire Bloodlines e F.E.A.R. :muro:
Conan_81
16-03-2006, 17:27
il CTP sarebbe la BUILD 5308?
coschizza
17-03-2006, 09:22
il CTP sarebbe la BUILD 5308?
la CTP di febbraio (l'ultima) è la 5308
la CTP di dicembre è la 5270
oggi siamo arrivati circa alla 533x che è solo ad uso interno ovviamente
la CTP di febbraio (l'ultima) è la 5308
la CTP di dicembre è la 5270
L'ultima versione "desktop"(senza IIS, ecc...) qual'è? :confused:
oggi siamo arrivati circa alla 533x che è solo ad uso interno ovviamente
E' un Tampax? :mbe: :asd:
coschizza
17-03-2006, 09:54
L'ultima versione "desktop"(senza IIS, ecc...) qual'è? :confused:
E' un Tampax? :mbe: :asd:
non esistono altre build oltre quella di febbraio
i dvd del sistema è sempre lo stesso, mettendo un numero di attivazione diverso dallo stesso setup si installa la versione ultimate,home, server
tutto partendo dallo stesso supporto
Conan_81
17-03-2006, 12:51
L'ultima versione "desktop"(senza IIS, ecc...) qual'è? :confused:
E' un Tampax? :mbe: :asd:
:sbonk:
Cmq immettendo un codice diverso si attivano versioni diverse? azz questa non la sapevo.. cmq qualcuno c'ha provato ad installare una versione enterprise o server?
dragonheart81
17-03-2006, 13:14
Mha aspetteremo a vedere i primi utenti che lo monteranno certo che se ci vogliono 800MB di memoria :tie: passero a Vista tra una barca di tempo ho appena preso le corsair twinx 512*2 XLPT :D windows xp forever IMHO ora come ora é il sistema perfetto ormai é un mulo :D
Forse mi sono perso qualche info, ma se 800 Mb sono per la verisone "desktop"...
La ver. server, con IIS e magari A.D....
QUANTA C***O DI RAM OCCUPA!?!?!?!?!!?
Mi resterà un po' di posto per aprire Notepad???? :-) :-)
coschizza
18-03-2006, 00:01
Forse mi sono perso qualche info, ma se 800 Mb sono per la verisone "desktop"...
La ver. server, con IIS e magari A.D....
QUANTA C***O DI RAM OCCUPA!?!?!?!?!!?
Mi resterà un po' di posto per aprire Notepad???? :-) :-)
ci sono varie versioni del server quindi dipende
comuqnue alla fine la versione server con i servizi base occupera anche meno della versione desktop perche sul server molte funzioni non prettamente "server" vengono disabilitate per motivi di sicurezza e prestazioni, l'interfaccia 3d non la usi sul server
è la stessa cosa avvenuta con windows 2003 server, di base è molto snello perche vengono attivati solo i componenti strettamente necessari
comunque il server di vista avrà anche una versione senza interfaccia grafica con solo la riga di comando, diventando estremamente portabile e installabile su periferiche molto ridotte.
Quello che dici è giustissimo, solo che il file di swap in Windows viene usato anche quando c'è molta RAM ancora disponibile, invece in Linux viene usato il meno possibile... questa di Win è una scelta che non mi è molto chiara.
E' anche vero però che in Linux lo swap viene gestito in modo statico...
lol e ti pare ottimo? 400 mega solo dell'OS? :muro: sono sicuro che la versione finale occuperà meno però temo sui 250/300 mega purtroppo
Si mi pare ottimo, considerando che oggi vedo PC di marca di fascia bassa a 449€ che ne montano 512. Considerando che se tutto va bene esce a Novembre non lo trovo gran che come requisito. Continuo a ripetere che Vista è un sistema nuovo per PC nuovi. Chi lo volesse installare su dei ferri vecchi non ha capito il senso di cosa significa SO.
diabolik1981
19-03-2006, 09:03
Si mi pare ottimo, considerando che oggi vedo PC di marca di fascia bassa a 449€ che ne montano 512. Considerando che se tutto va bene esce a Novembre non lo trovo gran che come requisito. Continuo a ripetere che Vista è un sistema nuovo per PC nuovi. Chi lo volesse installare su dei ferri vecchi non ha capito il senso di cosa significa SO.
Parole sacrosante che gli utenti di questo Forum non hanno ancora ben compreso.
Parole sacrosante che gli utenti di questo Forum non hanno ancora ben compreso.
Sono d'accordo. Sono in attesa della beta pubblica, o della release, per testare soprattutto COME la memoria viene usata (come occupazione all'avvio ci siamo, considerando anche che i 400 mb si riferiscono alla versione compilata per il debug). Comunque, come già chiesto in un altro post su Vista, ero curioso di sapere da cosa viene occupata la memoria all'avvio, ma sto aspettando ancora la risposta. Dal momento che mi sembra pertinente, posto anche qui la mia domanda fatta nell'altro post:
per quelli che si lamentano della memoria occupata (prendiamo il caso dei 400mb di ram) vorrei farvi norare che se vista occupa 400mb diram fino a prova contraria un linux configurato con le stesse funzioni occoperebbe lo stesso e questo vale acnhe per osx, se ho 100 funzioni in un sistema non è che nell'altro ne posso avere 200 ma a metà della memoria.
Personalmente sono d'accordo, come ribadito in più occasioni. Però volevo farti una domanda. Considerando sempre che la beta attuale di Vista è ancora compilata in modalità debug, i 400 mega occupati (ne vedremo un po' meno nella release penso) da quali servizi sono giustificati?
Giusto per rendere l'idea, su una SuSE 10 con kde 3.5, dopo l'avvio ho 340 Mb occupati, ma ho caricato di tutto (Server NFS, server Samba, server di posta, a volte server HTTP apache 2, server LAN Lisa, effetti grafici vari, trasparenza e ombre, applet trasparenti stile MacOsX integrate sul desktop, Komposè (exposè per kde), antivirus per il server mail, ecc...). Ah, appena posso controllo quanti di quei mega sono occupati da cache del disco (se ce n'è subito dopo l'avvio, ma se non ricordo male circa 50 Mb).
E' anche vero però che in Linux lo swap viene gestito in modo statico...
Cioè?
Cioè?
Penso volesse intendere che, a differenza di Win, la dimensione massima dello swap è impostata all'atto della creazione della partizione swap, e per modificarla bisogna modificare la partizione. In windows invece, lo spazio di swap è un file che può essere modificato in qualsiasi momento (ridurlo/aumentarlo), mentre in linux se crei una partizione swap da 1 giga, quel giga sarà sempre presente come spazio fisico, anche se non è usato per niente.
EDIT: nel mio caso, ho una partizione swap da 1,5 giga, e se non ricordo male non è mai (o quasi) stata usata (avendo 1 giga di ram).
In Windows il file di swap cresce dinamicamente. Se Clicchi su risorse del computer ed impostazione prestazioni, puoi aumentare la dimensione minima dello swap senza che windows ti rompa le scatole per riavviare. Se invece vuoi diminuirlo, ti dice che devi riavviare. Finchè non lo fai, il file di swap resta li. Dirò di più. Una volta aumentato non lo diminuisce più come faceva windwos 98: ho impostato il file di scambio a minimo 64MB (perchè ho 2 giga). Poi ho usato vari programmi che me lo hanno fatto crescere ad 1,6GB. Per due settimane non ho riavviato e sono rimasto abbondantemente sotto i due giga allocati. Il file di swap non si è mosso di un mm... Invece Windows 98 (però c'è da dire che ho messo ConservativeSwapUsage=1 nel system.ini... Non so se senza si comporta allo stesso modo) dopo 30-40 secondi che non usi tutta la memoria, accorcia il file di swap, fino al minimo (se c'è memoria libera).
Per Linux:
E' vero che i files o le partizioni di swap devono essere a dimensione fissa, ma l'amministratore può montare e smontare SENZA DOVER RIAVVIARE (posto che c'è spazio nella memoria o gli altri files) tutti i files e le partizioni di swap che vuole. I files possono stare anche sullo stesso disco/partizione e credo che funz<ioni indipendentemente dal file system. Può dare una priorità (per esempio per usare un disco lento solo come ultima spiaggia). Quando smonta un file di swap, il suo contenuto è spostato in memoria o in un altro file di swap (se non c'è memoria libera). Invece in windows se ti serve spazio e vuoi eliminare o ridurre un file di swap, devi riavviare.
In Windows il file di swap cresce dinamicamente. Se Clicchi su risorse del computer ed impostazione prestazioni, puoi aumentare la dimensione minima dello swap senza che windows ti rompa le scatole per riavviare. Se invece vuoi diminuirlo, ti dice che devi riavviare. Finchè non lo fai, il file di swap resta li. Dirò di più. Una volta aumentato non lo diminuisce più come faceva windwos 98: ho impostato il file di scambio a minimo 64MB (perchè ho 2 giga). Poi ho usato vari programmi che me lo hanno fatto crescere ad 1,6GB. Per due settimane non ho riavviato e sono rimasto abbondantemente sotto i due giga allocati. Il file di swap non si è mosso di un mm... Invece Windows 98 (però c'è da dire che ho messo ConservativeSwapUsage=1 nel system.ini... Non so se senza si comporta allo stesso modo) dopo 30-40 secondi che non usi tutta la memoria, accorcia il file di swap, fino al minimo (se c'è memoria libera).
Non so se ho compreso bene. Ma mi sembra che quanto Tu dici sia una confermo di quello che io (e non solo io) sostenevo. Ovvero il file di swap "vive di vita propria" anche se lo impostiamo al minimo/lo disabilitiamo.
E' esatto?
Bye
Penso volesse intendere che, a differenza di Win, la dimensione massima dello swap è impostata all'atto della creazione della partizione swap, e per modificarla bisogna modificare la partizione. In windows invece, lo spazio di swap è un file che può essere modificato in qualsiasi momento (ridurlo/aumentarlo), mentre in linux se crei una partizione swap da 1 giga, quel giga sarà sempre presente come spazio fisico, anche se non è usato per niente.
EDIT: nel mio caso, ho una partizione swap da 1,5 giga, e se non ricordo male non è mai (o quasi) stata usata (avendo 1 giga di ram).
e quando è che linux usa swap :p
e quando è che linux usa swap :p
Vero, ma c'è da dire però che ho 1 Gb di ram. Sul P2 con 256 mega però di solito un 100 mega li usa :) Ma è già incredibile che gira decentemente una suse 9.1 su quel PC... L'ho recuperato dal dimenticatoio, ormai era lì fermo con Win 98 ;) Già con 512, swap non ne usa (ok non uso Gimp a palla).
x Chilea
Se lo disabiliti, Windows ti obbedisce, ma non è consigliabile farlo, perchè in caso di crash non si può fare il dump della memoria (non chiedere perchè... Non lo so :D ), perchè molte applicazioni lo richiedono attivato ed infine si possono rallentare le prestazioni in molti casi comuni: se un programma alloca dello spazio ed il file di swap è abilitato, verrà allocato li, senza sprecare RAM preziosa e comunque finchè non sarà usata non occuperà spazio da nessuna parte. Se e quando verrà usata, allora sarà allocata. Con il file di swap disabilitato, invece, lo spazio deve essere allocato in RAM (anche se credo e spero che occupi la RAM solo quando infine sarà accaduta, ma non ci giurerei).
Poi il file di swap, da win 2k in poi (e credo anche Win NT) può solo crescere: anche se la RAM occupata torna a valori minimi (ho provato anche a tornare a 60MB dopo averne allocati 3GB) ed anche se aspetti 2 settimane, il file di swap non viene più accorciato, a meno di riavviare... Può solo essere allungato.
se un programma alloca dello spazio ed il file di swap è abilitato, verrà allocato li, senza sprecare RAM preziosa
Questa non l'ho capita. Ma se c'è RAM disponibile, perché usare lo swap?? E ovviamente più conveniente usare la RAM (più veloce) che lo swap sul disco (più lenta).
Sei sicuro?? Lo swap si usa in tre casi (molto in generale):
1) In mancanza di RAM
2) Nella gestione della memoria vituale (il SO gestisce più memoria di quella presente onboard, come se fosse memoria fisica), ma questo punto è correlato al punto 1)
3) quando un processo è in idle da molto tempo/un processo è a bassa priorità: in questo caso la ram fisica viene preferibilmente dedicata ai processi con maggiore priorità/che richiedono esecuzione o dati in quel momento.
Tutto questo in un SO che può essere chiamato tale.
EDIT: Free memory is bad memory...
Penso volesse intendere che, a differenza di Win, la dimensione massima dello swap è impostata all'atto della creazione della partizione swap, e per modificarla bisogna modificare la partizione
Fin qui ci sono... ma perché questo dovrebbe influenzare l'uso del file di swap? In Linux viene usato il meno possibile, mentre in Windows viene usato anche quando c'è molta RAM disponibile. E anche settando pagefile.sys come statico (dim minima = dim massima).
bertoz85
19-03-2006, 23:33
Potra' sembrare scemo, pero' ho impostato il mio file di paging nel mio disco secondario che e' molto rumoroso e si sente chiaramente quando qualcuno lo smuove, e non lo sento mai, quindi vuol dire che almeno nel mio caso non utilizza lo swap (ho 1 gb di ram).
Nel pc al lavoro invece, anch+esso dotato di disco molto rumoroso :D, ogni tanto si instaura nel disco con lo swap una specie di ciclo, nel quale ogni secondo preciso il disco viene eacceduto per quale motivo non so....
chissa'........
Quando un processo chiede la memoria al S.O., questa la "alloca". L'ho messo tra virgolette, perchè l'allocazione "fisica" è ritardata il più possibile. Nel senso che quelle pagine sono marcate come residenti nello swap, senza mai accedere fisicamente al disco per inizializzarle. Solo se e quando un processo ci accede in lettura e scrittura sarà allocata in RAM. In questo modo se un processo alloca per "sbaglio" della RAM che non userà mai, questa non avrà mai occupato nè la RAM, nè lo swap. Questo succede più spesso di quanto si pensi: pensate ad un eseguibile, magari di 8MB, come quello di Word. Al suo avvio sono caricati in memoria solo le parti del file che servono. Il resto è "allocato" nello swap. Se e quando si clicca su una voce di menù che richiede una funzionalità che non è stata ancora caricata, allora quella memoria sarà allocata. Ancora: un programma con allocazione statica della memoria: alloca 1GB di dati, ma ne usa solo 100MB nel caso tipico (per esempio un sw che ho scritto io :D ). Solo quei 100MB useranno RAM fisica. GLi altri 900MB saranno allocati nel file di swap senza però aver mai scritto un byte sul disco! Se quella memoria che si è allocata sullo swap dovesse servire, non dovrà essere letta dallo swap, perchè non contiene nulla, ancora, di interessante: semplicemente sarà inizializzata a zero la pagina in RAM che serve e sarà data in uso al processo. Con il file di swap disabilitato, quel GB del mio programma dovrà essere allocato tutto in memoria, anche se non serviranno tutti...
Questo è un uso inteligente del file di swap che fanno i moderni SO (compreso windows, almeno dal 2k in poi, ma credo anche l'NT. Per il 9x non saprei...)
Per provare quanto ho detto, fate così:
- Attivate nel task manager (se non lo avete già fatto) le colonne "Utilizzo memoria" e "Dimensione memoria virtuale".
- Scrivete un programma, per esempio C (sotto windows potete compilarlo con il g++ del MinGW) che alloca 1GB di dati in uno o più vettori e scrivete un ciclo che per esempio inizializza a 0 qualche centinaio di K o un mega soltanto dei dati allocati e poi chiede da tastiera qualcosa (giusto per non farlo terminare)
- Mandatelo in esecuzione e quando vi chiede l'input da tastiera, andate nel task manager. Vedrete che "Dimensione memoria virtuale" supererà di poco il GB, ma "Utilizzo memoria" sarà solo poco sopra la quantità di dati che avete effettivamente "usato"... Anche se andate nella tab che dice la memoria fisica usata... Provare per credere!
- Alternativamente provate ad aprire qualche eseguibile grosso: vedrete che la "Dimensione memoria virtuale" sarà significativamente superiore a "Utilizzo memoria".
Quando un processo chiede la memoria al S.O., questa la "alloca". L'ho messo tra virgolette, perchè l'allocazione "fisica" è ritardata il più possibile. Nel senso che quelle pagine sono marcate come residenti nello swap, senza mai accedere fisicamente al disco per inizializzarle. Solo se e quando un processo ci accede in lettura e scrittura sarà allocata in RAM. In questo modo se un processo alloca per "sbaglio" della RAM che non userà mai, questa non avrà mai occupato nè la RAM, nè lo swap. Questo succede più spesso di quanto si pensi: pensate ad un eseguibile, magari di 8MB, come quello di Word. Al suo avvio sono caricati in memoria solo le parti del file che servono. Il resto è "allocato" nello swap. Se e quando si clicca su una voce di menù che richiede una funzionalità che non è stata ancora caricata, allora quella memoria sarà allocata. Ancora: un programma con allocazione statica della memoria: alloca 1GB di dati, ma ne usa solo 100MB nel caso tipico (per esempio un sw che ho scritto io :D ). Solo quei 100MB useranno RAM fisica. GLi altri 900MB saranno allocati nel file di swap senza però aver mai scritto un byte sul disco! Se quella memoria che si è allocata sullo swap dovesse servire, non dovrà essere letta dallo swap, perchè non contiene nulla, ancora, di interessante: semplicemente sarà inizializzata a zero la pagina in RAM che serve e sarà data in uso al processo. Con il file di swap disabilitato, quel GB del mio programma dovrà essere allocato tutto in memoria, anche se non serviranno tutti...
Questo è un uso inteligente del file di swap che fanno i moderni SO (compreso windows, almeno dal 2k in poi, ma credo anche l'NT. Per il 9x non saprei...)
Aaah così è ok. Sembrava volessi dire che il pool di memoria libera venisse prima preso dallo swap e poi dalla ram onboard... Certo è che la gestione virtuale della memoria fa sì che, alla richiesta di allocazione, il SO "fa credere" al programma di aver allocato, quando invece andrà ad allocare realmente quando tale memoria verrà richiesta. Cmq, più che allocare nello swap, il SO usa una sorta di tag per la memoria allocata dal processo; ad ogni proceso, viene destinato un heap prefissato per la memoria dinamica, che viene poi ampliato in base alle necessità: l'ampliamento dell'heap è un passaggio che il SO cerca di ritardare il più possibile, quindi se io alloco 400 Mb di ram che poi non uso, il SO non è tanto stupido da allocarli subito (allargando l'heap), ma lo farà solo quando troverà un'istruzione del mio programma che andrà ad usare quella memoria (se ne usa una parte ne allocherà solo una parte).
Però anche lo swap non viene toccato, per lo meno in linux: se io alloco 300 Mb di ram, semplicemente questa NON viene subito allocata, ma neanche lo swap cresce momentaneamente di 300 mb... lo swap viene appunto usato come "tag reference" (come mi pare dici anche tu ad un certo punto).
Però ora mi viene un dubbio. Se non sbaglio, parlando di linux perlomeno, se disabilito la partizione di swap ED alloco 500 Mb di ram, talre ram non viene comunque allocata subito, a prescindere dalfatto che la partizione di swap sia presente oppure no. Appena ho tempo faccio una prova.
Per windows (XP) qual è il comportamento? Hai la possibilità di fare una prova?
Microsoft... Con questo ho detto tutto :)
@bjt2 ed a chi è interessato
Ho fatto la prova di cui parlavo prima con linux (praticamente ho fatto un programmino del tipo suggerito da te) e confermo quello da noi spiegato, ma con una importante precisazione. Con linux (kernel 2.6.x) a prescindere dal fatto che lo swap sia presente oppure no, la memoria, appena viene usata, viene allocata in RAM.
Quando alloco 600 MB, la memoria non viene toccata, quando invece dei 600 MB ne uso esplicitamente 200, questi 200 vengono realmente allocati in RAM. Il comportamento è identico, sia che lo swap è presente sia quando lo swap è assente.
Potete provare il comportamento in Windows, soprattutto SENZA swap? Perchè se in assenza di swap la memoria viene allocata ugualmnte, a prescindere da quella usata, allora si ride... Questo per confermare che, almeno in linux, lo swap viene usato il meno possibile (sul mio pc con 1 gb di ram non homai visto nemmeno un Kb usato nello swap space). e comunque non viene usato come "tag reference" per la memoria usata: semplicemente è uno spazio aggiuntivo alla memoria onboard, che grazie al meccanismo della memoria virtuale viene visto come ram fisica, con l'accortezza di usare tale spazio DOPO aver riempito la RAM.
Posto il programmino fatto per testare questo comportamento:
#include <stdio.h>
#define MBYTE 1048576
int main(void)
{
char *mem, key;
int i;
mem = (char*)malloc((600*MBYTE)*sizeof(char));
printf("Allocati 600 Mb di RAM\n");
printf("Premere INVIO per continuare...");
key = getchar();
memset(mem, 1, (200*MBYTE));
printf("Usati 200 Mb di RAM\n");
printf("Premere INVIO per continuare...");
key = getchar();
return 0;
}
EDIT: non dealloco esplicitamente la memoria, dal momento che il SO, terminando il processo, dealloca automaticamente la memoria usata da quel processo. Provate sempre con win il comportamento (sicuramente la dealloca anche lui in automatico alla fine del processo), al peggio (come buona norma) potete aggiungere una "free(mem);" prima della return.
A completamento del mio post #345, aggiungo che, subito dopo l'avvio, la mia suse 10 (con tutti i servizi nominati attivi, ed anche qualcosa in più) La ram è così occupata:
210 Mb di dati
130 Mb di cache disco
Quindi la ram effettiva necessaria al sistema dopo l'avvio è 210 mega (la cache disco viene fatta per velocizzare il SO, quando la RAM è disponibile).
EDIT: detto questo, mi aspetto dalla release di Vista non più di 300 mb effettivi usati. Se saranno di più, penso potremo parlare di eccessivo quantitativo di ram minima necessaria.
Hai detto bene: il file di swap non incrementa neanche sotto windows, ma solo se non usi la memoria, ovviamente... Test effettuato con due Matlab in esecuzione che filtravano un file wave ed usavano 500 MB ciascuno e poi 2 istanze di quel famoso programma da 1GB... Non ho provato con lo swap disabilitato, ma credo che, anche se non usa la memoria, dia errore di Out of memory... Il che è anche sensato... Mi spiego: io ho 2 GB di RAM. Se disabilito il file di swap e carico due istanze di quel programma da 1GB cosa succede??? Anche se non alloca effettivamente la RAM, mi darà comunque out of memory... Perchè? Perchè l'equivalente del malloc deve dare una risposta subito, non può differirla a se e quando il programma userà la memoria...
Programma: mi dai 1GB???
S.O.: aspe'... No 1GB non ce l'ho!
Non ho la possibilità di rebootare (il PC sta macinando! :D )...
DOvrebbe essere lo stesso anche in Linux (a meno che malloc non usi una trategia aggressiva ed il sistema dia un segmentation fault se il programma prova ad accedere alla memoria e non ce n'è libera... ciò spegerebbe dei segmentation fault random che ottenevo quando avevo meno memoria...)
Però se hai Linux e il MinGW puoi fare la prova che dicevo prima:
Un programma che alloca 1GB e ne usa che so, 1MB e poi si mette in attesa.
Lo provi su Windows e Linux con e senza memoria virtuale abilitata... (con Linux fai prima... non devi riavviare! ;) ) Se hai 2GB devi avviare almeno due istanze...
Se hai tempo prova e facci sapere!
Ah, vedo che hai provato... Bene... Il comportamento è lo stesso di Windows, fino ache la RAM fisica basta (immagino che tu abbia almeno un giga... ;) ) . Prova a modificare il programma per superare la memoria disponibile od in alternativa lancia più istanze... Sono curioso di vedere se Linux da out of memory con lo swap disabilitato... Per provare sotto windows puoi usare il MinGW che contiente anche g++...
Se hai tempo prova e facci sapere!
Riprendo il lavoro alle 12 :) Ho fatto la prova, per il momento solo su linux (win non ce l'ho disponibile al momento).
Premettendo che ho 1Gb di ram fisica ed 1 Gb di swap, il comportamento è questo:
1) Con swap attivato:
alloco 1300 Mb di ram: tutto ok e nemmeno un Kb viene realmente allocato, né su RAM né nello swap.
Uso 200 Mb di ram sui 1300 allocati: tutto ok e vengono allocati 200 Mb su RAM: lo swap non viene toccato.
2) con swap disattivato:
alloco 1300 Mb di ram: tutto ok e nemmeno un Kb viene realmente allocato in RAM.
Uso 200 Mb di ram sui 1300 allocati: segmentation fault del programino.
Per la prova 2), come da te detto il segmentetion fault (out of memory in Win) è logico. Sono curioso però di vedere il comportamento di Win in presenza di swap attivo: se alloco 1300 Mb e ne uso 200, lo swap space che fa? Viene toccato oppure no (prima durante e dopo)? Qualcuno ha 5 min per fare una prova?
EDIT: ho usato il programmino postato in precedenza (quindi uso una semplice malloc). Non saprei se il comportamento è diverso usando un altro tipo di allocazione memoria.
Il segmentation fault è strano, visto che usi solo 200MB su 1300... me lo sarei aspettato solo se avessi tentato di accedere a più di 1GB meno quella usata dal resto del sistema (visto che hai 1GB)... Pazienza... Allora è meglio anche sotto Linux tenere lo swap attivo... ;)
La prova sotto windows l'ho fatta:
4 Matlab attivi che macinano e consumano 300-400MB l'uno.
Ho avviato quel famoso programma che usa 1GB. Istantaneamente il file di swap è aumentato dai 64MB a circa 850MB (giusto giusto quello che mancava), senza scrivere praticamente nulla sul disco (è partito istantaneamente). Ora il rpogramma ha allocato il GB, ma è in attesa di input e non ha ancora usato nulla: infatti segna memoria usata 772 KB (KB!!!) e memoria virtuale 1.146.680 KB (circa 1GB).
Quindi il file di swap viene istantaneamente allungato acnhe se non scrive nulla sul disco.
Urka!!! Aggiornamento...
Dopo aver chiuso il processo da 1GB, il file di swap è stato accorciato, dai 850MB ai 250 circa... Finalmente! Questo da quando ho seguito il consiglio di lucusta è ho settato il ConservativeSwapUsage=1 nel system.ini (o era nel registro???)... Comunque sono contento... Finalmente!
Il segmentation fault è strano, visto che usi solo 200MB su 1300... me lo sarei aspettato solo se avessi tentato di accedere a più di 1GB meno quella usata dal resto del sistema (visto che hai 1GB)
Senza la/le partizione/i di swap attiva/e, linux vede come memoria fisica solo quella onboard, con lo swap attivo vede come memoria fisica la memoria onboard + lo swap. Ti dirò, mi aspettavo di vedere un out of memory all'atto della malloc, anche se mi sarebbe piaciuto che effettivamente il programma proseguisse anche dopo aver usato effettivamnte i 200 mega su 1300. Mi spiego meglio: Alloco più memoria di quella che il SO vede e non da errore (bene): uso, sulla memoria allocata, uno spazio che nella memoria fisica ci sta e mi da lo stesso segmentation fault, mentre poteva comunque usarla (i 300 mega c'erano, i 1300 no, sarebbe stato un meccanismo di deferring ancora migliore).
Quindi il file di swap viene istantaneamente allungato anche se non scrive nulla sul disco.
Quindi è qui che sta la differenza. Anche se non viene usato, il file di swap (quando impostato in modo dinamico dalle impostazioni di Win) si allarga lo stesso. Il peggiormaneto che si ha rispetto a linux è quello di succhiare spazio su hd inutilmente mi pare. Questo su XP vero? Bisognerà vedere come si comporta Vista sulla questione.
EDIT: Faccio una precisazione: il segmentation fault si ha quando alloco memoria in quantità maggiore di quella fisica, a prescindere di quanta effettivamente ne uso.
Faccio un esempio: ho un 1gb di memoria, e di questo 400 sono liberi.
Lancio il mio programma: alloco 900 mb di ram e tutto e ok, poi ne uso 200 e funziona correttamente. Se ne allocassi sempre 900 ma ne usassi 500 allora ovviamente avrei un segfault. Nella porva precedente, il segfault avveniva perchè, a prescindere se la memoria che volevo effettivamente usare era presente oppure no fisicamente, provavo ad allocare (in modo deferred) più memoria di quella presente.
Urka!!! Aggiornamento...
Dopo aver chiuso il processo da 1GB, il file di swap è stato accorciato, dai 850MB ai 250 circa... Finalmente! Questo da quando ho seguito il consiglio di lucusta è ho settato il ConservativeSwapUsage=1 nel system.ini (o era nel registro???)... Comunque sono contento... Finalmente!
Beh sì, è il minimo che lo swap file venga accorciato quando non più usato ;) Anche se penso che l'opzione che tu hai settato non sia impostata di default dal momento che, essendo in win lo swap file allargato/accorciato in modo dinamico, i porgrammatori hanno pensato bene di sprecare un po' di spazio su hd invece che peggiorare le prestazioni aumentando/diminuendo in continuazione lo swap file (per le prestazioni, meglio minimizzare gli accessi al disco, tra i due mali hanno scelto il minore).
EDIT: secondo me non ti conviene attivare quell'opzione, a meno che hai problemi di spazio su disco. Far fare a Win lo strech continuo del file di swap lo rende più lento (a causa del continuo accesso all'hd): meglio avere qualche mega occupato in più che un peggioramento visibile delle prestazioni.
@bjt2
Se puoi fai questa prova su win:
ipotizzando che hai 1 gb di ram: disattiva il file di swap, alloca 900 mb di ram ed utilizzane 100 (supponendo che 900 non ci stanno in memoria libera, ma 100 sì): che succede? in linux tutto ok.
Ho 2GB ed inoltre non posso riavviare per eliminare lo swap (sto facendo lunge elaborazioni, non interrompibili, questo sarà possibile con Vista ;) Nè Linux nè Mac OS X hanno qualcosa del genere, che io sappia...), comunque credo che dia out of memory, perchè comunque cerca di allocare tutta la RAM anche se è ancora usata, ma non essendoci lo swap deve per forza farlo in RAM...
Ho capito perchè ti da il segmentation fault!!! Che genii che siamo! Non hai controllato il valore del puntatore restituito da malloc! Se non c'è memoria, malloc restituisce NULL come valore. Andando a dereferenziare un puntatore NULL, ovviamente da segmentation fault! Non è che i 1300 MB li ha allocati eh!
Per verificare questo, dopo il malloc, fai:
if (mem==NULL)
{
printf("Out of memory error!");
exit(1);
}
Ho capito perchè ti da il segmentation fault!!! Che genii che siamo! Non hai controllato il valore del puntatore restituito da malloc! Se non c'è memoria, malloc restituisce NULL come valore. Andando a dereferenziare un puntatore NULL, ovviamente da segmentation fault! Non è che i 1300 MB li ha allocati eh!
Per verificare questo, dopo il malloc, fai:
if (mem==NULL)
{
printf("Out of memory error!");
exit(1);
}
Sì infatti, ho scritto il programmino in 30 secondi e non ho pensato a fare il controllo puntatori :D Infatti (con lo swap disattivato) se allochi 900 mega su 1 giga te li alloca tranquillamente, anche se hai solo 200 mega liberi. poi, sempre con 200 mega liberi, se ne usi 100 il tutto va liscio. Ok, allora su linux la gestione memoria è ottima, sia con che senza swap. Alla fine lo swap per linux è vista come altra memoria fisica, con la differenza che viene usata SOLO quando la RAM è completamente occupata.
Se non puoi fare le prove al momento, le faccio io in serata e posto qui i risultati: faccio le stesse prove fatte su linux, con lo stesso programma.
Ho 2GB ed inoltre non posso riavviare per eliminare lo swap (sto facendo lunge elaborazioni, non interrompibili, questo sarà possibile con Vista ;) Nè Linux nè Mac OS X hanno qualcosa del genere, che io sappia...)
?? Lo swap per linux lo disattivi quando vuoi senza riavviare, con swapon/swapoff (del resto lo avevi detto anche tu prima che con linux lo swap lo si può gestire "a caldo", ora non capisco quello che dici :))
Anzi, mi sembra il minimo che con Vista verrà posto il rimedio al fatto che, fin'ora, con win per gestire lo swap devi riavviare (del resto Win chiede il riavvio ad ogni piè sospinto, perfino quando cambi il nome di rete del pc, o il dominio di appartenenza...)
Ragazzi non ho resistito ed ho provato subito quello che ho fatto anche su linux.
Con Win XP SP1 non ci siamo proprio!! La gestione della memoria va molto male.
Ricordo di avere 1 Gb di ram.
Prova 1)
Ho disattivato il file di swap (paging) e riavviato.
Eseguo il mio programmino e sorpresa! L'allocazione della memoria NON viene deferita, ma viene subito allocata, a prescindre da quanta ne verrà usata. Quindi (con 220 Mb occupati all'avvio), ne alloco 600 e mi rimangono circa 120 mega liberi! Oltre al fatto che win mi avvisa che la memoria è quasi piena del tutto, l'allocazione risulta 4 volte più lenta rispetto a linux senza swap, e conseguentemente i programmi già lanciati si inchiodano. Poi quando vado ad usare effettivamente solo 100 mega (con la memset), l'operazione risulta almeno 6 volte più lenta di quella vista in Linux.
Prova 2)
Ho attivato il file di swap, e lo faccio gestire dinamicamente dal sistema.
La situazione è la stessa, la memoria viene allocata subito (conseguentemente il file di swap inizia a crescere, e di molto: con mia sorpresa, il file di swap cresce a dismisura (diventa subito di 300/400 mb) anche se ho 700 mega di mmoria ram libera! Provo ad allocare 1 giga ed il file di swap mi arriva a 500 mega circa. Il tutto è molto lento: l'allocazione di 1 giga (dal momento che viene allocata tutta e subito) viene effettuata in circa 10 secondi (contro i 0,3 secondi di linux), quando poi vado ad usare i 100 mega (che su linux venivano allocati solo al reale utilizzo, e solo 100 mega), questo uso è parecchio lento: il memset su 100 mega è costato tra i 3 e i 4 secondi.
Quando il programma viene chiuso, il file di swap decresce solo di 100 mega (ma questo è logico, considerando il discorso da me fatto nel post #368, con un file swap dinamico questa è la scelta più intelligente).
Con lo swap attivo, il file di swap viene usato anche quando non ce ne sarebbe bisogno, il tutto a scapito delle prestazioni.
Proprio non ci siamo, spero caldamente che con Vista la situazione migliori radicalmente, non credevo che la gestione memoria di Win XP fosse così deficitaria. Ecco perchè sul mio pc con 256 mega di ram Xp andava malissimo (per un sistema del 2001 è pazzesco IMHO): per forza, se viene gestita in questo modo sommario...
Non voglio alimentare alcun flame, ma questo è quanto sulla memoria (dai test fatti).
X Fidel e bjt2
tanto di cappello ragazzi ;)
In conclusione mi pare di capire che la mia precedente battuta non era poi del tutto fuori luogo:
... dotiamoci tutti di due "raptor" 10000 rpm da mettere in raid per il file di page!!
;)
Giuro che scherzo :) (o no:confused: )
Intendevo che Vista ha la possibilità di "congelare" le applicazioni prima di un riavvio e ritrovarle com'erano al nuovo boot. Questa è una bellissima feature che nessun sistema, mi pare, abbia.
Per quanto riguarda la prova che hai fatto su XP: io ho win 2k pro e ci ho fatto le ottimizzazioni di Optimizer XP, che anche sul 2k funzionano bene, perciò non so come si comporta un sistema liscio, anche se non credo che cambi molto, comunque: per partire, quell'esebuibile che alloca 1GB, parte istantaneamente ed alloca subito la RAM, 1GB, non ci mette 10 secondi. Forse non 0,3, ma comunque, a parte una scrittura sul disco per allungare lo swap, non fa nulla. Poi per eseguire il programma non è che ci metta molto, ossia nessun ritardo per riempire la RAM... Ma hai usato Cygwin o MinGW? Che versione? Hai fatto un programma terminale? Non capisco le misure che hai fatto... Hai l'interfaccia "Luna"?
bertoz85
20-03-2006, 14:33
Ragazzi non ho resistito ed ho provato subito quello che ho fatto anche su linux.
...
tieni conto se hai utilizzato malloc e le altre funzioni del CRT, che windows ha altre parecchie funzioni specifiche di allocazione memoria che potrebbero risultare molto piu ottimizzate, lo dice anche sull'msdn...
comunque io vado ANCHE a sensazione e il mio xp mi pare molto piu scattante del gentoo linux di un mio amico nonostante abbiamo dei pc simili, anche solo per eseguire operazioni ripetitive....
Intendevo che Vista ha la possibilità di "congelare" le applicazioni prima di un riavvio e ritrovarle com'erano al nuovo boot. Questa è una bellissima feature che nessun sistema, mi pare, abbia.
KDE liscio lo fa da tempo, ma sarò preciso: non è un vero e proprio congelamento, ma un ripristino delle applicazioni aperte (in pratica salva la sessione di default, e quando riapri, ti riapre le apps lasciate alla chiusura, anche se non in tutti i casi viene esattamente ripristinato il comportamento che la app aveva alla chiusura, tipo il browser può non puntare alla pagina che era aperta alla chiusura della sessione, ma dipende dalle apps), quindi non si può precisamente paragonare alla feature offerta da Vista. Per congelare letteralmente però, si può sempre sfruttare la funzione di sospensione usata dai portatili (basta chiamare il programma di freeze che fa una copia su hd dell'immagine del sistema in quel momento, per poi ripristanarla al riavvio). Ho provato e funziona benissimo, quindi non mi pare sia granchè innovativa.
Per quanto riguarda la prova che hai fatto su XP: io ho win 2k pro e ci ho fatto le ottimizzazioni di Optimizer XP, che anche sul 2k funzionano bene, perciò non so come si comporta un sistema liscio, anche se non credo che cambi molto, comunque: per partire, quell'esebuibile che alloca 1GB, parte istantaneamente ed alloca subito la RAM, 1GB, non ci mette 10 secondi. Forse non 0,3, ma comunque, a parte una scrittura sul disco per allungare lo swap, non fa nulla. Poi per eseguire il programma non è che ci metta molto, ossia nessun ritardo per riempire la RAM... Ma hai usato Cygwin o MinGW? Che versione? Hai fatto un programma terminale? Non capisco le misure che hai fatto... Hai l'interfaccia "Luna"?
Ho provato su WinXP Pro SP1 liscio (non ho neanche cambiato lo sfondo di default :)), non ho alcun tool di ottimizzazione particolare, il sistema è "as is", come del resto il suse linux 10 che ho usato per testare l'uso della memoria per linux. Che dire, magari usando tools di terze parti per ottimizzare il sistema, si può guadagnare qualcosa, ma il comportamento che ho rilevato è quello descritto. Sia con lo swap attivato che disattivato, la memoria viene allocata immediatamente, a prescindere da quella poi usata, quindi niente deferimento che mi aspettavo da un SO moderno: a dire il vero Win XP è il primo SO che vedo comportarsi in questo modo. Non so dirti su Win 2k...
Il grosso rallentamento del sistema (e delle app già avviate), è conseguente al fatto che, giacché il sistema alloca subito la memoria, anche se non viene realmente utilizzata, ci si ritrova con la ram occupata inutilmente.
Ti dirò di più, in questo caso specifico con lo swap attivato il mio programma, durante il memset, risulta ancora più lento che con lo swap disattivato. Questo perchè Win XP, anche se c'è memoria, va ad usare ugualmente lo swap per non occupare tutta la memoria, e fa male secondo me giacché, se da un lato lascia un po' di memoria per le altre apps in esecuzione ma in background, dall'altro fa usare inutilmente al programma attualmente in eseuzione della memoria che in realtà è sul disco, andando a far "macinare" l'hd e rallentare il tutto. Non a caso, ho sempre notato che Win XP utilizza molto di più la letture/scrittura su HD rispetto a linux (a prescindere da considerazioni sul filsystem che si possono fare).
La cosa più grave è l'allocazione immediata, ma in più sembra anche che l'uso della memoria non sia gestita adeguatamente a seconda della priorità che un processo ha sul sistema. Se il programma attualmente in esecusione, a parità di priorità, richiede memoria, allocala in memoria, non nello swap no?
Ma ripeto, il problema sta nell'allocazione immediata, una cosa che nel 2006 (ma anche nel 2001, anno di uscita di XP) non deve esistere.
EDIT: spero bene per Vista, se la situazione rimane questa non la vedo bene per i requisiti ottimali per il SO (a prescindere dalla ram occupata subito dopo l'avvio, che è un parametro che secondo me conta poco, dal momento che poi ci devo far girare le apps e quindi è importante la gestione complessiva).
EDIT 2: Cygwin? Nono, ho preso il programma e l'ho compilato con il compilatore di Visual studio (quindi exe nativo), con linux ho usato gcc.
Apena allocava memoria, a prescindere dal fatto che la utilizzasse, la allocava subito fisicamente, intasandomi immediatamente la memoria inutilmente...
tieni conto se hai utilizzato malloc e le altre funzioni del CRT, che windows ha altre parecchie funzioni specifiche di allocazione memoria che potrebbero risultare molto piu ottimizzate, lo dice anche sull'msdn...
Ho fatto un confronto a parità di codice, la malloc (almeno su linux) chiama due system calls del kernel, quindi come viene allocata la memoria è indipendente (o quasi) dall'implementazione della funzione di allocazione.
Comunque provo su win usando funzioni ad hoc (anche se la malloc doveva comportarsi già bene, mi sembra strano avere la necessità di usare funzioni "speciali" per far andare bene il SO). Quindi a parità di funzioni CRT: ed aggiungo, la malloc (quando non si usa il Garbage collector di un qualche framework), è largamente utilizzata.
Cmq dò un occhiata ad altre funzioni di allocazione e faccio altre prove.
comunque io vado ANCHE a sensazione e il mio xp mi pare molto piu scattante del gentoo linux di un mio amico nonostante abbiamo dei pc simili, anche solo per eseguire operazioni ripetitive....
occhio a paragonare un SO del 2001 con uno del 2006... Konqueror ad esempio è più pesante di Esplora risorse, ma ha almeno una cinquantina di features in più, senza considerare il fatto che è un browser Web e che ti fa fare di tutto, anche il rip di cd audio in mp3/ogg! E si avvia in meno di un secondo comunque. Per non parlare della copia files ad esempio...
Si, il "congelamento" di KDE lo conosco... Già nella RedHat 7.3 che ho qui funziona... Ma l'applicazione deve essere predisposta (non funziona su utte)... Pensa che KWrite si ricorda persino dove era il cursore!!! Quello che intendo io è un freeze di tutte le applicazioni prima di un riavvio forzato, in modo da non perdere il lavoro. E' chiaro che se devo spegnere il PC farò l'ibernazione, ma a differenza di questa, al riavvio avrò un sistema fresco come una rosa, con eventualmente le patch e/o i nuovi drivers installati (le poche cose che credo richiedano un avvio).
Il compilatore del Visual Studio... Che dio ce ne scampi!!! :D
Tempo fa scaricai la libreria jpeg, mi pare versione 6. Sorgente e dll, compilata con visual studio. La dll era 480KB. Compilo con il Borland C++ Builder la libreria... 64KB... Ho detto tutto...
Io uso MinGW e quindi Gcc... Quell'eseguibile è compilato con il gcc. Con tutti i flag di ottimizzazione attivati. Credo che sia merito anche di questo...
Il compilatore del Visual Studio... Che dio ce ne scampi!!! :D
Tempo fa scaricai la libreria jpeg, mi pare versione 6. Sorgente e dll, compilata con visual studio. La dll era 480KB. Compilo con il Borland C++ Builder la libreria... 64KB... Ho detto tutto...
Beh dai, VisualStudio ha un buon compilatore. Sei sicuro di aver abilitato la compilazione "Release"? Mi sa che hai lasciato "Debug" (che è quella di default).
bertoz85
20-03-2006, 16:12
Tempo fa scaricai la libreria jpeg, mi pare versione 6. Sorgente e dll, compilata con visual studio. La dll era 480KB. Compilo con il Borland C++ Builder la libreria... 64KB... Ho detto tutto...si hai detto che era compilata coi simboli di debug perchè da 480 a 64kb la differenza è solo quella.... vedrai che se la ricompilavi in release nn era cosi grossa!
Novità sul fronte gestione memoria in Win XP.
Per far avere un comportamento decente a Win, sono andato ad usare le funzione proprietarie di Win: ho provato con LocalAlloc(...).
Finalmente il comportamento è decente, anche se con qualche difetto.
Si comporta più o meno come linux, ma con qualche dfferenza:
- Senza swap attivo, al momento dell'allocazione stabilisce il massimo spazio allocabile la memoria effettivamente libera in quel momento, ma almeno ne deferisce l'uso. Un comportamento conservativo, ma va bene lo stesso. Ad esempio, se su 1 Gb ho 600 Mega liberi, fare una LocalAlloc su 700 Mb restituisce un puntatore NULL anche se poi ne uso effettivamente 100 (su linux senza swap invece il limite massimo è comunque la dimensione della memoria onboard)
- Con lo swap attivo, il limite massimo è definito dalla memoria libera in quel momento + la massima dimensione dello swap: anche qui la memoria viene effettivamente allocata solo quando usata. Però l'uso dello swap è quantomeno strano: anche se la memoria non viene subito allocata, il file di swap viene accresciuto come se la memoria fosse realmente allocata. Ad esempio, con 650 mega liberi ed un file di swap inizialmente a 20 mega, faccio una LocalAlloc di 1 Gb, la RAM non viene inizialmente toccata ma il file di swap passa immediatamente a 500 Mb... In linux invece, lo swap non viene comunque toccato, ma sarà usato solo se, quando andrò effetivamente ad usare quella memoria, supererò la memoria onboard libera.
Quando ho tempo provo anche con VirtualAlloc e GlobalAlloc, ma penso che il comportamento da questo punto di vista sia analogo.
A mio parere si può fare un bel po' di ottimizzazione, che mi aspetto con Vista, e comunque mi scoccia dover necessariamente usare funzioni di allocazione della API di win (non portabili) per fargli assumere un comportamento decente. Con la malloc il risultato è stato disastroso.
EDIT: almeno con XP, meglio tenere a mente questi problemi, e la necessità di usare le funzioni proprietarie invece delle CRT (quando ovviamente non si usa un GC) se si vogliono evitare disastri con programmi che necessitano di tanta ram. Oppure, se si vuole usare la malloc, stare lì ad utilizzare spesso la realloc ;)
EDIT 2: usando la LocalAlloc(...), le prestazioni sono diventate tranquillamente comparabili a quelle ottenute con Linux.
bertoz85
20-03-2006, 17:39
Per far avere un comportamento decente a Win, sono andato ad usare le funzione proprietarie di Win: ho provato con LocalAlloc(...).
Dall'MSDN:
"These functions [local e global, ndr] are slower than other memory management functions and do not provide as many features. Therefore, new applications should use the heap functions. However, the global functions are still used with DDE and the clipboard functions."
A mio parere si può fare un bel po' di ottimizzazione, che mi aspetto con Vista, e comunque mi scoccia dover necessariamente usare funzioni di allocazione della API di win (non portabili) per fargli assumere un comportamento decente. Con la malloc il risultato è stato disastroso.
Non ho capito se il tuo programma di esempio l'hai ricompilato col compilatore della microsoft e facendo uso del crt microsoft, oppure l'hai compilato ed eseguito sotto cygwin o simili con gcc.
Potrebbe essere che cygwin, data la lentezza con cui vengono eseguiti i programmi al suo interno, non sia correttamente ottimizzato per win.
ciao :)
davvero una discussione interessante come poche... devo ancora leggere gli ultimi commenti, però volevo commentare il fatto del compilatore di MS. io l'ho comparato con minigw un annetto fa (avevo VS6 però... sorry) e ho notato che effettivamente gli eseguibili prodotti sono abbastanza più grossi in media (parlo sempre di release), ma le prestazioni mi sono sembrate simili, anche se quello di MS riusciva a rosicchiare qualcosa in più. quello di borland invece per mia esperienza riesce a produrre eseguibili piccolissimi.. ma con prestazioni disastrose :stordita:
un aspetto interessante però è che i programmi compilati con VS hanno la caratteristica di generare page fault moOolto più frequentemente di quelli compilati con minigw! al tempo la cosa mi aveva incuriosito e attivando la colonna page fault nel monitor di sistema avevo osservato che ie6 causava page fault anche quando era fermo :D adesso però non posso provare perchè ho messo la beta 7 (che comunque si comporta così anche lei) e ha sovrascritto ie6.. EDIT: explorer.exe comunque mi genera i suoi bravi 7-8 page fault al secondo :muro:
ps. penso che quando si utilizza il file di paging il fatto di avere molti page fault possa essere dannoso che ne dite? potrebbe essere addirittura il motivo delle scritture ogni secondo di cui qualcuno aveva parlato prima...
pps. se qualcuno di voi può verificare quanto ho detto con l'ultima versione di VS mi farebbe un piacere.. al momento non l'ho installato :)
Dall'MSDN:
"These functions [local e global, ndr] are slower than other memory management functions and do not provide as many features. Therefore, new applications should use the heap functions. However, the global functions are still used with DDE and the clipboard functions."
Provato anche HeapCreate-HeapAlloc: per le prestazioni non ho potuto verificare differenze (del resto il programmino di test è molto semplice, bisognerebbe fare qualcosa di più sostanzioso, ma il comportamento è identico a LocalAlloc/GlobalAlloc/VirtualAlloc per il deferimento dell'allocazione e l'uso dello swap). Sono consigliate dal momento che permettono un uso più approfondito della memoria (ad esempio usando le estensioni AWE in combinazione alla HeapAlloc è possibile superare il limite dei 4 Gb di memoria su sistemi a 32 bit), ma credo che questo esuli dallo scopo che ci siamo prefissati all'inizio.
Non ho capito se il tuo programma di esempio l'hai ricompilato col compilatore della microsoft e facendo uso del crt microsoft, oppure l'hai compilato ed eseguito sotto cygwin o simili con gcc.
Potrebbe essere che cygwin, data la lentezza con cui vengono eseguiti i programmi al suo interno, non sia correttamente ottimizzato per win.
ciao :)
L'ho ricompilato con Visual Studio (quindi il compilatore usa automaticamente le CRT fornite da Microsoft): Cygwin neanche l'ho installato, dal momento che sullo stesso PC ho direttamente Linux, che uso nel 90% del tempo (il restante 10% di uso di Win è per i giochi e appunto per VisualStudio :)) Da quando ho Matlab anche su Linux ormai Win lo uso molto raramente.
EDIT: L'ultima prova che farò sarà usare VirtualAlloc, prima con il parametro MEM_RESERVE e poi chimandola con MEM_COMMIT per l'allocazione fisica, ma il tutto diventa leggermente più macchinoso di una semplice malloc...
ma c'è un motivo per cui malloc si comporta così male? mi sembra abbastanza stupido, anche perchè mi renderebbe più difficile fare software multipiattaforma... e dire che io ho sempre allocato con malloc pensando che al resto ci pensasse il SO! ecco perchè il giochino 3D che avevo fatto con OpenGL era lentino a caricarsi :stordita: eppure avevo una mappa abbastanza limitata come potrete immaginare :fagiano:
Beh, tutti i programmi ANSI C che compilo con MinGW (non ho visual studio: quella dll di 480KB non so come era compilata: era nel pacchetto) sono velocissimi, può essere che MS rallenti apposta i programmi POSIX per spingere a creare programmi che girano solo sotto win! (scherzo... ma non mi stupirei se fosse così :D )
ma c'è un motivo per cui malloc si comporta così male? mi sembra abbastanza stupido, anche perchè mi renderebbe più difficile fare software multipiattaforma... e dire che io ho sempre allocato con malloc pensando che al resto ci pensasse il SO!
Infatti dovrebbe essere così. Normalmente l'implementazione di una malloc chiama delle system calls del kernel: se tali system calls sono efficienti la malloc va bene: ma le system calls del resto sono implementate nel kernel, quindi il tutto dipende dalla bontà della gestione memoria del SO.
Evidentemente in Win non funziona così: cosa darei per vedere i sorgenti della malloc implementata da MS :) Con le funzioni proprietarie la gestione è differente, valli a capire. Sembra non ci sia uniformità nella gestione memoria di Win, si passa dal disastro della malloc all'accettabilità di GlobalAlloc/LocalAlloc/VirtualAlloc/HeapAlloc. Non ho ancora approfondito le estensioni AWE, sono molto interessanti ma per usi di nicchia, riguardo alle prestazioni non saprei. Ma è roba particolare, ci vogliono privilegi particolari che dà l'amministratore sulla memoria, ed un SO WIndows "modificato" per poter utilizzare le estesnsioni Intel PAE per superare i 4 Gb su sistemi a 32.
Anche il kernel linux supporta il PAE Intel, ma non so (anche perchè non ho mai provato ;)) come superare il limite dei 3 GB di user address space su linux. Con win si fa appunto con le estensioni AWE (per Win XP mi pare il limite di user address space è maggiore, 2 Gb).
pps. se qualcuno di voi può verificare quanto ho detto con l'ultima versione di VS mi farebbe un piacere.. al momento non l'ho installato :)
Appena ho altro tempo libero rpovo ;)
La grande quantità di memoria richiesta da win vista è dovuta all'attivazione del prefetch. Senza di esso si ha un degrado della velocità avantaggio della memoria usata complessivamente... è una deduzione sperimentale e non sono del tutto convinto pure io.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.