Esegui il processo con priorità più alta


14

Voglio correre mplayercon priorità più alta rispetto a qualsiasi altro processo, inclusi i processi IO. Come posso fare ciò?


Non esiste una risposta cross-unix a questa domanda. In generale è meglio descrivere quale sistema operativo stai usando (inclusa la distribuzione per Linux, ma qui non importa molto se non del tutto). Ho aggiunto un linuxtag, per favore cambialo se non è quello che stai usando.
Gilles 'SO- smetti di essere malvagio' il

Ti dispiace se ti chiedo perché stai cercando di aumentare la priorità di mplayer? Chiedo perché prima ho avuto problemi in cui aumentando la priorità di mplayer, l'effetto era opposto a quello che stavo cercando di ottenere perché mplayer si sarebbe impegnato con il tempo della CPU a fare le pulizie post-produzione, quindi si sarebbe fermato mentre la rete finalmente ebbe un sussulto d'aria per andare a prendere più contenuti, quindi il mplayer sarebbe tornato in vita, solo per fermarsi di nuovo in attesa della rete.
assassino

Ho chiesto questa causa, sto giocando un film attraverso mplayer. Ogni volta che provo a scaricare alcuni file GB in rete. Mplayer osserva affettare e un coglione mentre gioca.
SHW,

Risposte:


16

Per impostare la gentilezza (associato alla CPU) utilizzare nice. Per impostare la gentilezza IO (IObound) utilizzare ionice. Fare riferimento alle rispettive pagine man per ulteriori informazioni. Puoi usarli insieme come segue:

ionice -c 2 -n 0 nice -n -20 mplayer

Nota: il livello più basso di gentilezza (inferiore significa più favorevole) che è possibile definire è determinato da limits.conf. Sul mio computer il file si trova in /etc/security/limits.conf.


1
Citare le classi io scheduler è buono, perché probabilmente è un fattore importante. Non vale la pena che per la -c2classe di pianificazione intermedia , i processi sono ordinati per impostazione predefinita in base al buon livello, quindi il comando di esempio che hai dato non è davvero necessario. Si potrebbe provare a mettere mplayer nella -c1classe in tempo reale. (Con accesso root.)
mattdm,

7

In generale, come utente non root, è possibile solo ridurre la priorità delle attività, non aumentarle. Quindi, un approccio sarebbe quello di abbassare la priorità di tutto il resto. Oppure, puoi impostare qualcosa a livello di sistema che gestisca le tue priorità.

Se stai usando una distribuzione Linux relativamente moderna, il modo più potente sarebbe con i gruppi di controllo . Questo è nella sua infanzia, quindi in pratica dovresti configurare tutto a mano, ma in breve quello che vuoi è configurare il classificatore per inserire processi diversi in diversi gruppi di controllo della CPU e quindi dare al processo mplayer più condivisioni CPU.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.