|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
[Script] windows scripting host o autoit + mydefrag
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) ![]() 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". Codice:
fsutil file createnew filler.$$$ <dimensione> Codice:
// 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 Ultima modifica di einstein1969 : 16-04-2012 alle 10:18. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
A me non sembra lavoro per uno scriptino, secondo me ti serve di pensare un programma vero e proprio in un linguaggio un po' piu' sofisticato.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Domanda banale: dato che a legger lì pare che Mydefrag già tenga conto di queste problematiche (gaps, velocità di accesso ai file in base alla posizione nel disco e file usati più spesso) negli script standard forntiti in bundle, non puoi usare quelli? Hai già fatto delle prove in tal senso? Perchè gli script di default mi sembrano ben bilanciati. Ad esempio tengono già conto (a legger il sito almeno) del fatto che è il caso di non riempire la zona iniziale del disco e lasciare dei gap per accogliere appunto nuovi file senza penalizzarli.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 16-04-2012 alle 13:04. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
*edit
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
Sul sito ci sono altri script che ho provato oltre quelli standard , ma quello che sto facendo io va oltre Sto facendo i test con il bootvis per intenderci, a livello molto approfondito... tipo dove va a finire la testina del disco... E da quello che ho visto e' nato questo layout che sto creando e che gia' ho testato e funziona. Questo e' il disco non ottimizzato, e' un esempio di un I/O di un file creato al momento dell'avvio che va a finire in un punto lontano del disco alla fine. Proprio per via dei GAPS che lasciano gli script di ottimizzazione di mydefrag e di tanti altri defragmenter.... Ma ho fatto anche altri test con la macchina sotto stress per capire come realizzare il layout ottimale.... ![]() In realtà gli script sono ottimizzati per far funzionare al meglio il mydefrag. Io invece voglio far funzionare al meglio il pc. Oltre che al mydefrag Ecco dove sta la differenza... Ultima modifica di einstein1969 : 16-04-2012 alle 15:18. |
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Questo e' un I/O sotto stress su un disco "quasi ottimizzato" (una versione intermedia a quella che sto finendo di realizzare)
![]() Notare il numero di I/O al secondo del primo grafico. E in basso nel terzo grafico il sector offsets sotto i 2 Milioni. Nel grafico precedente all'ottimizzazione arriva a 20 Milioni... (E' la distanza che percorre la testina) Ultima modifica di einstein1969 : 16-04-2012 alle 15:59. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
quanti punti di 3d mark ti dá sta roba?
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Penso di si, io userei python, ma e' questione di gusti personali
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:45.























