einstein1969
16-04-2012, 09:13
Salve,
sto cercando di scrivere uno script automatico per poter riempire tutti i gaps del disco di sistema di windows XP.
Il linguaggio che vorrei usare e' windows hosting script o autoIT (ancora non so decidere non conoscendoli) + lo scripting di Mydefrag
Il problema che sta alla base e' l'ottimizzazione di un vecchio portatile con poca ram.
Ho gia' ottimizzato il sistema a mano ora vorrei fare degli script per automatizzare questo processo.
Uno dei problemi che ho dovuto affrontare e' l'algoritmo "BEST FIT" di ntfs.
Mi spiego meglio.
L'XP su NTFS quando scrive un nuovo file lo alloca nel primo posto piu piccolo che ben si adatta a riceverlo.
Se questo posto e' molto lontano da dove generamelmente si trova la testina del disco si ha un notevole rallentamento, nel caso in cui venga acceduto frequentemente.
Quindi una soluzione che ho trovato e' quella di riempire tutti i gaps (spazi liberi) lontani da dove avvengono gli I/O.
A meno che non esista gia' una utility che fa questo (e devo dire che non l'ho cercata) vorrei creare uno script automatico che fa questo.
Visto che mydefrag permette di riempire i gaps in vari modi ho scelto di usarlo per realizzare questa cosa.
Questa era la premessa.
Ho realizzato questo schema e sembra funzionare abbastanza bene. Con un aumento delle performance da tenere in considerazione. Specialmente per sistemi con poca ram e dischi non troppo veloci (come il mio vecchio portatile)
http://i40.tinypic.com/2aaax43.jpg
Il mydefrag permette di ottimizzare il layout del disco a nostro piacimento (non del tutto , ma una gran parte)
Ho trovato questa soluzione per riempire i gaps , ma e' da integrare con uno script di ottimizzazione.
1) Creo un file "vuoto" tramite l'utility "fsutil".
fsutil file createnew filler.$$$ <dimensione>
2) utilizzo uno script mydefrag per riempire i gaps di una zona del disco con questo file.
// questo script e' da finire
VolumeSelect
CommandlineVolumes()
VolumeActions
FileSelect
Not ( FileName("filler.$$$") )
FileActions
FileEnd
makegap(VolumeSize*0.2)
FileSelect
All
FileActions
sortbysize(ascending)
FileEnd
VolumeEnd
Ora debbo risolvere due problemi:
1) calcolo della dimensione del file Filler.$$$
2) La posizione del file nel disco
3) Uno script che unisca il tutto
Chi mi dà una mano?
Grazie
sto cercando di scrivere uno script automatico per poter riempire tutti i gaps del disco di sistema di windows XP.
Il linguaggio che vorrei usare e' windows hosting script o autoIT (ancora non so decidere non conoscendoli) + lo scripting di Mydefrag
Il problema che sta alla base e' l'ottimizzazione di un vecchio portatile con poca ram.
Ho gia' ottimizzato il sistema a mano ora vorrei fare degli script per automatizzare questo processo.
Uno dei problemi che ho dovuto affrontare e' l'algoritmo "BEST FIT" di ntfs.
Mi spiego meglio.
L'XP su NTFS quando scrive un nuovo file lo alloca nel primo posto piu piccolo che ben si adatta a riceverlo.
Se questo posto e' molto lontano da dove generamelmente si trova la testina del disco si ha un notevole rallentamento, nel caso in cui venga acceduto frequentemente.
Quindi una soluzione che ho trovato e' quella di riempire tutti i gaps (spazi liberi) lontani da dove avvengono gli I/O.
A meno che non esista gia' una utility che fa questo (e devo dire che non l'ho cercata) vorrei creare uno script automatico che fa questo.
Visto che mydefrag permette di riempire i gaps in vari modi ho scelto di usarlo per realizzare questa cosa.
Questa era la premessa.
Ho realizzato questo schema e sembra funzionare abbastanza bene. Con un aumento delle performance da tenere in considerazione. Specialmente per sistemi con poca ram e dischi non troppo veloci (come il mio vecchio portatile)
http://i40.tinypic.com/2aaax43.jpg
Il mydefrag permette di ottimizzare il layout del disco a nostro piacimento (non del tutto , ma una gran parte)
Ho trovato questa soluzione per riempire i gaps , ma e' da integrare con uno script di ottimizzazione.
1) Creo un file "vuoto" tramite l'utility "fsutil".
fsutil file createnew filler.$$$ <dimensione>
2) utilizzo uno script mydefrag per riempire i gaps di una zona del disco con questo file.
// questo script e' da finire
VolumeSelect
CommandlineVolumes()
VolumeActions
FileSelect
Not ( FileName("filler.$$$") )
FileActions
FileEnd
makegap(VolumeSize*0.2)
FileSelect
All
FileActions
sortbysize(ascending)
FileEnd
VolumeEnd
Ora debbo risolvere due problemi:
1) calcolo della dimensione del file Filler.$$$
2) La posizione del file nel disco
3) Uno script che unisca il tutto
Chi mi dà una mano?
Grazie