Si j'utilise une application intensive en IO (comme Virtualbox, la vérification des données Steam ou même dd
), mon système ne répond presque plus. Bien que tous soient démarrés avec une priorité normale, ils rendent le bureau très lent et retardent beaucoup le démarrage d'autres applications.
Je sais que je peux utiliser quelque chose comme ionice
changer la priorité à l'inactivité par exemple, mais dans le cas de Virtualbox qui engendre de nombreux processus, cela devient difficile.
Puis-je donner un certain type d'indices au système, donc lors du lancement de certaines applications spécifiques, ils sont démarrés avec la priorité IO la plus faible?
disk
process-priority
Salem
la source
la source
Réponses:
Remarque: Cette solution ne fonctionne qu'avec le planificateur cfq, comme expliqué ici . Vous devez vérifier lequel est utilisé en émettant
et changez- le si nécessaire.
Si j'ai bien compris, vous souhaitez qu'un
ionice
paramètre soit appliqué à chaque démarrage d'une commande. Vous pouvez le faire de cette façon:La première commande crée un fichier
VirtualBox
avec le texte entre guillemets comme contenu. Cela devrait avoir le chemin complet vers le programme, car si on ne le spécifie queVirtualBox
cela peut l'interpréter comme le fichier que nous venons de créer et créer une "boucle".La deuxième commande le rend exécutable, et la troisième déplace ce nouveau fichier dans un dossier qui se trouve devant le dossier bin "système"
/usr/bin
, afin que notre nouveau fichier soit exécuté à la place de l'original. La partie "$ @" contient tous les arguments avec lesquels la commande a été invoquée, ils sont donc transmis à la vraie commande VirtualBox.Selon la réponse ("oui") à cette question de super utilisateur Les processus des enfants héritent-ils des priorités ioniques de leurs parents? Comment vérifiez-vous la priorité d'E / S d'un processus en cours? , cela devrait suffire au
ionice
processus parent, comme ceci:À partir de la
ionice
page de manuel , les valeurs de classe de planification d'E / S suivantes sont disponibles:Un numéro ou un nom de classe peut être utilisé.
En outre, l'
-n level
option s'applique aux classes en temps réel et au meilleur effort, avec 0 à 7 comme données valides (niveaux de priorité).la source
ionice
processus parent" n'est-il pas une partie essentielle?ionice
peut travailler avec lecfq
planificateur uniquement! Pour plus de détails: unix.stackexchange.com/questions/136226/…Vous pouvez utiliser la commande «renice» pour hiérarchiser les processus:
Il se peut également que votre disque tourne trop bas, donc lorsque vous voulez démarrer une application comme Virtualbox, il doit tourner avant de pouvoir commencer à travailler (cela peut prendre un certain temps).
la source