Newsgroup: it.comp.os.linux.ubuntu
Titolo: modificare la velocità dei processi su Ubuntu

Ciao a tutti, esiste una applicazione per Ubuntu che riesca a modificare 
la velocitï¿œ dei processi sulla falsa riga di Xelerator o Cheat Engine 
per Windows?


nice per la prioritï¿œ dei processi
ionice per la prioritï¿œ dell IO
 
 
Qualcosa tipo:
 
nice -n19 ionice -c3 dc3dd of=/dev/sdd if=~/fileimmaginechiavetta.dd
 
 
se l'aplicazione ï¿œ attiva: renice
 
ps aux | grep nomeapplicazione ne trovi il PID
 
renice prioritï¿œ PID
 
tipo:
ps aux |grep wineserver
renice 19 3456
 
mentre ionice ha l'opzione -p PID
 
man nice
man renice
man ionice
 
 
 

per Windows?
 
Alla risposta che ti hanno dato aggiungo che non si modificala
"velocità" dei processi: ogni processo va più veloce che può,
compatibilmente con gli altri processi che girano sulla stessa
macchina.  Quello che si modifica è la priorità con cui le risorse
vengono associate ai processi, cioè il criterio con cui il sistema
sceglie a chi tocca.
 
Ma se un processo a bassissima priorità trova la macchina libera va
comunque al massimo.  E se un processo ad alta priorità viene eseguito
assieme ad altri a pari priorità andrà comunque lento.

 nice per la priorità dei processi
 
Bene in sostanza, ma - la butto lì per chi volesse approfondire - i 
concetti di niceness e di priorità non sono equivalenti (e nemmeno 
opposti). 
 
Sinteticamente, ai processi sono associate:
1) una priorità STATICA (sempre pari a 0 con policy normali, mentre varia 
da 1 a 99 con quelle real time);
2) una scheduling policy (selezionabile fra tre normali, di cui una idle, 
e due real-time);
3) una niceness (diciamo "gentilezza" nei confronti di alcuni degli altri 
processi).
 
La niceness è rilevante *solo* per i processi con scheduling policy 
normale (ma non idle!), dei quali determina, o in altri casi concorre a 
determinare, la "priorità DINAMICA".
 
Chi fosse incuriosito, potrebbe leggere in merito:
 
$ man 2 sched_setscheduler
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
_________________________________________________________________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
 
http://www.worldcommunitygrid.org/index.jsp
 
http://www.rnaworld.de/rnaworld/
 
http://home.edges-grid.eu/home/
 
 
http://www.gpugrid.net/
 


Infatti, basta alzare o abbassare il clock del processore per avere piu 
o meno velocità nel complesso
 

 man ionice
 
grazie degli spunti, stasera faccio delle prove

 assieme ad altri a pari priorità andrà comunque lento.
 
Premetto che sono abbastanza nuovo con Ubuntu :-)
Che modificando la priorità si riesca a far andare più lentamente un 
processo mi è abbastanza chiaro. Più veloce non riesco a capire, eppure 
ti garantisco che con Cheat Engine il processo va più veloce del suo 
massimo, i secondi di una applicazione flash li vedi scorrere come 
decimi di secondo.
Sempre agendo con le priorità si riesce a fare ciò, e potrei riuscirci 
anche con nice e ionice?


Non ho capito, per curiosità ho cercato questo 'Cheat Engine' e ho 
trovato questo:
http://www.cheatengine.org
 
 
Ma sembra un tool per disassemblare e modificare codici macchina più che 
un velocizzatore di processi
 
infatti dice
Cheat Engine is an open source tool designed to help you with modifying 
single player games running under window
 
 
Forse mi sono perso qualcosa
 
 
 

 Forse mi sono perso qualcosa
 
Diciamo che fa soprattutto questo :-)
Se però guardi la figura
 
http://www.mohawk.it/images/articoli/cheat%20engine.png
 
 
vedi che sulla destra al centro c'è la possibilità di settare 
"Speedhack", che velocizza i processi anche fino a 500 volte (poi 
naturalmente già a 5 volte c'è il rischio di crash)
 
un altro è questo
http://xelerator.en.softonic.com/
 

anche con nice e ionice?
 
Non ci puoi riuscire.  Spiega cosa vuoi ottenere esattamente e viediamo
se si può fare.


OK, ma occorrerebbe trovare un paper su come funzionano
Forse non fanno altro che impostare una priorità la piu alta possibile 
(in linux è di solito -19) oppure impostare il realtime ai processi voluti
 
 

 naturalmente già a 5 volte c'è il rischio di crash)
 
No allora nice o renice non fa questo. La prima risposta che ti ho dato 
era basata sul titolo. Non avevo cercato il prog.
 
La tua domanda forse non era chiarissima (salvo per i riferimenti ai 
programmi che non ho seguito) e io l'ho fraintesa dandoti una risposta 
non pertinente.
 
così, tirando ad indovinare, direi che quel coso NON modifica la 
velocità del processo, ma modifica il programma (o l'interprete flash) 
cambiando al volo le temporizzazioni. Probabilmente un animazione flash 
o un giochino è pieno di temporizzazione, per cui riducendo le 
temporizzazioni riscontri l'effetto desiderato. Per esempio dove trova 
"attendi un secondo" fra una cosa mette "attendi un decimo"
Immagino che faccia una cosa simile all'avanzamento veloce su un film.
 
Se il processo è temporizzato gli puoi offrire tutta la potenza di 
calcolo che vuoi, ma andrà alla stessa velocità (a meno di non barare 
come mi sembra faccia quel programma)
 
Se tentassi di interagire con un ipotetico programma in flash che non si 
preoccupa di mostrarti qualcosa, ma che utilizza la CPU al massimo per 
esempio per ricodificare un video da mpeg ad h264 (Tipo handbrake) non 
noteresti nessuna miglioramento. (spero comunque che nessuno decida che 
flash è un ottimo strumento per scrivere un encoder video)
 
Non so se c'è un equivalente linux, io non me ne ero mai preoccupato e 
non lo conoscevo nemmeno per windows. Provato a far girare quell'oggetto 
sotto wine?
 
comunque l'utilizzo più probabile che si fa di " nice " e sui processi 
lunghi per esempio codifica video, che affaticano molto il PC ed in 
genere gli vuoi dare bassa priorità perche non rompano le scatole mentre 
utilizzi il computer.
 
 
Oppure se hai un programma di cattura video (o altro) da un dispositivo
puoi aumentarne la priorità, in maniera che gli altri programmi che 
utilizzi nel frattempo abbiano meno possibilità di disturbarlo e fargli 
perdere dei frame.
 
 
 
 
 
 
 
 

 perdere dei frame.
 
queste cose potrebbero effettivamente tornarmi utili

 se si può fare.
 
In realtà nulla di utile :-)
mi interessava velocizzare un gioco in flash (sims social) che a 
velocità normale è parecchio noioso e non posso mollare perchè sai le 
amiche... :-)

 molto che sia la stessa cosa.
 
Sotto windows la priorita dei processi la imposti anche con gli 
strumenti di sistema. ctrl+alt+canc entri nel taskmanager scegli il 
processo interessato poi click col destro e gli cambi la priorità (sto 
andando a memoria non ho un windows sottomano, ma al massimo ho saltato 
qualche passaggio nella descrizione). Quello che ottieni e simile al 
funzionamento di nice o renice. Non è proprio la stessa cosa, perchè il 
meccanismo di scheduling è diverso, però è abbastanza simile.
 
Non è l'effetto che hai descritto per quel programma. Anche sotto 
windows quello deve essere ottenuto per forza utilizzando un "trucco" e 
ovviamente può funzionare solo se il programma contiene dei meccanismi 
di sincronizzazione ad una temporizzazione prestabilita.
 
Cosa che i giochi sicuramente utilizzano altrimenti un gioco che 
funziona adeguatamente su un "lento" atom330 quando lo lanci su un I7 
diventerebbe impossibile da giocare quindi va rallentato e sincronizzato 
ad una velocità predefinita.
 
Sicuramente un gioco che va più lento del "previsto" perchè il pc non è 
abbastanza potente non potrebbe beneficire da quel programma.
In un caso del genere l'unica soluzione è ridurre la qualità degli 
effetti grafici o la risoluzione video (salvo overclock).
 
Generalmente se il gioco è lento perche il pc non ha sufficiente potenza 
di calcolo, non serve a nulla aumentarne la priorità perchè quando 
giochi probabilmente non hai un processo concorrente che sta mangiando 
CPU (si spera che l'antivirus sia in riposo), quindi probabilmente il 
Processore/scheda video stanno comunque dedicando il 99% delle risorse 
al gioco e solo il restante 1% al resto.
 
 
Cambiare la priorità ha senso solo se hai dei processi concorrenti che 
impiegano molte risorse Se vuoi codificare un video mentre utilizzi un 
gioco che sfrutta pesantemente la macchina (e già questa forse non è una 
buona idea), allora può aver senso diminuire la priorita della codifica 
e aumentare quella del gioco, ma se il gioco è l'unica cosa attiva che 
sia impegnativa per il processore prende già tutto il possibile.
 
 
 
 
 
 
 
 
 
 


 
Già, per me non è proprio banale, però viste le poche righe forse trovo 
qualcuno che me lo converte in Python e forse riesco a provarlo.
Grazie ancora!

leo99 <l...@nospam.invalid>:

Non credo che sia una buona idea.  Meglio se trovi qualcuno che ti aiuta
a compilarla e poi a utilizzarla.