Depuis quelques temps (et un exemple bien particulier), je me demande si
il existe un équivalent de nice pour les accès disque et pour la bande
passante. C'est plus de la curiosité qu'un besoin réel, donc je m'en fiche
si ça n'existe pas.
J'explique, sur un exemple : j'ai un processus qui accède assez
intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un
coup, je voudrais, le plus rapidement possible, écrire plein de choses sur
le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce
second processus pour qu'il ait la priorité d'écriture sur le disque ?
Comme ce sont des processus qui ne consomment presque pas de CPU, un coup
de "nice" ne changera bien sûr rien à la vitesse des accès disque (ou
alors j'ai rien compris au fonctionnement de "nice"...).
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie
plein de données sur ma carte réseau (ou disons sur mon modem, histoire
que la bande passante soit plus faible :-) ), et j'en ai un deuxième que
je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment
faire ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas George
Remi Moyen wrote in message :
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Remi Moyen wrote in message
<Pine.LNX.4.61.0410261139440.1463@pbeanf.raft.vacy-anapl.se>:
J'explique, sur un exemple : j'ai un processus qui accède assez
intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un
coup, je voudrais, le plus rapidement possible, écrire plein de choses sur
le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce
second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros
points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie
plein de données sur ma carte réseau (ou disons sur mon modem, histoire
que la bande passante soit plus faible :-) ), et j'en ai un deuxième que
je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment
faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination,
taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la
documentation est assez... hum... Tu peux essayer de regarder le script
wondershaper (disponible sur le Google le plus proche), qui donne quelques
exemples commentés en situation.
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Patrik Billon
Nicolas George wrote:
Remi Moyen wrote in message :
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Nicolas George wrote:
Remi Moyen wrote in message
<Pine.LNX.4.61.0410261139440.1463@pbeanf.raft.vacy-anapl.se>:
J'explique, sur un exemple : j'ai un processus qui accède assez
intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un
coup, je voudrais, le plus rapidement possible, écrire plein de choses
sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce
second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros
points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie
plein de données sur ma carte réseau (ou disons sur mon modem, histoire
que la bande passante soit plus faible :-) ), et j'en ai un deuxième que
je voudrais qu'il passe en priorité. Là encore, est-ce possible et
comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination,
taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la
documentation est assez... hum... Tu peux essayer de regarder le script
wondershaper (disponible sur le Google le plus proche), qui donne quelques
exemples commentés en situation.
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le
processus exact lancé, modifier à la volée les valeurs de nice ... donc,
dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton
'cp' à augmenter) et augmenter pour le deuxième 'cp'...
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Remi Moyen
On Tue, 26 Oct 2004, Patrik Billon wrote:
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ? [...]
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Justement, jouer sur nice ne va à priori rien changer à l'affaire. Je donnerais certes la priorité dans l'utilisation du processeur, mais dans le cas d'un cp, la consommation CPU n'est pas le point faible, c'est les accès disque qui contrôlent la rapidité de la tâche.
D'où ma question à propos d'un équivalent de nice pour contrôler les entrées disque (et la bande passante), et non pas seulement le CPU. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."
On Tue, 26 Oct 2004, Patrik Billon wrote:
J'explique, sur un exemple : j'ai un processus qui accède assez
intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un
coup, je voudrais, le plus rapidement possible, écrire plein de choses
sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce
second processus pour qu'il ait la priorité d'écriture sur le disque ?
[...]
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le
processus exact lancé, modifier à la volée les valeurs de nice ... donc,
dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton
'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Justement, jouer sur nice ne va à priori rien changer à l'affaire. Je
donnerais certes la priorité dans l'utilisation du processeur, mais dans
le cas d'un cp, la consommation CPU n'est pas le point faible, c'est les
accès disque qui contrôlent la rapidité de la tâche.
D'où ma question à propos d'un équivalent de nice pour contrôler les
entrées disque (et la bande passante), et non pas seulement le CPU.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ? [...]
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Justement, jouer sur nice ne va à priori rien changer à l'affaire. Je donnerais certes la priorité dans l'utilisation du processeur, mais dans le cas d'un cp, la consommation CPU n'est pas le point faible, c'est les accès disque qui contrôlent la rapidité de la tâche.
D'où ma question à propos d'un équivalent de nice pour contrôler les entrées disque (et la bande passante), et non pas seulement le CPU. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."
Remi Moyen
On Tue, 26 Oct 2004, Nicolas George wrote:
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Dommage.
Si j'avais eu une réponse positive, j'aurais étendu ensuite ma question en demandant si ça pouvait aussi contrôler un disque sur une autre machine (par exemple le premier cp est lancé en local, le deuxième est lancé sur une autre machine qui monte le disque en NFS), mais je soupçonne aussi que ce soit justement ce genre de problèmes qui fasse que ça n'existe pas sous Linux, non ?
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Ah bon, merci. J'irais jeter un coup d'½il quand j'aurais rien à faire. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."
On Tue, 26 Oct 2004, Nicolas George wrote:
J'explique, sur un exemple : j'ai un processus qui accède assez
intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un
coup, je voudrais, le plus rapidement possible, écrire plein de choses sur
le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce
second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros
points faibles de Linux.
Dommage.
Si j'avais eu une réponse positive, j'aurais étendu ensuite ma question en
demandant si ça pouvait aussi contrôler un disque sur une autre machine
(par exemple le premier cp est lancé en local, le deuxième est lancé sur
une autre machine qui monte le disque en NFS), mais je soupçonne aussi que
ce soit justement ce genre de problèmes qui fasse que ça n'existe pas sous
Linux, non ?
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie
plein de données sur ma carte réseau (ou disons sur mon modem, histoire
que la bande passante soit plus faible :-) ), et j'en ai un deuxième que
je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment
faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination,
taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la
documentation est assez... hum... Tu peux essayer de regarder le script
wondershaper (disponible sur le Google le plus proche), qui donne quelques
exemples commentés en situation.
Ah bon, merci. J'irais jeter un coup d'½il quand j'aurais rien à faire.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."
J'explique, sur un exemple : j'ai un processus qui accède assez intensivement à un disque (pour écrire dessus, disons un gros 'cp'). D'un coup, je voudrais, le plus rapidement possible, écrire plein de choses sur le disque (un autre 'cp'). Est-ce qu'il est possible de "renicer" ce second processus pour qu'il ait la priorité d'écriture sur le disque ?
Hélas, rien de disponible pour ça. Le scheduling des I/O est un des gros points faibles de Linux.
Dommage.
Si j'avais eu une réponse positive, j'aurais étendu ensuite ma question en demandant si ça pouvait aussi contrôler un disque sur une autre machine (par exemple le premier cp est lancé en local, le deuxième est lancé sur une autre machine qui monte le disque en NFS), mais je soupçonne aussi que ce soit justement ce genre de problèmes qui fasse que ça n'existe pas sous Linux, non ?
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
Là, c'est possible en caractérisant le flux (port, adresse destination, taille des paquets). C'est QoS qu'il faut utiliser. Gros problème : la documentation est assez... hum... Tu peux essayer de regarder le script wondershaper (disponible sur le Google le plus proche), qui donne quelques exemples commentés en situation.
Ah bon, merci. J'irais jeter un coup d'½il quand j'aurais rien à faire. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."
Nicolas George
Patrik Billon wrote in message <417e2d9d$0$29495$:
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Il n'y a pas besoin du « monitor-système-gnome » pour faire ce genre de choses, et ce sera d'une utilité totalement nulle : comme l'a indiqué le posteur initial, ce que je confirme, le nice n'a aucune influence sur le scheduling des I/O.
Patrik Billon wrote in message
<417e2d9d$0$29495$636a15ce@news.free.fr>:
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le
processus exact lancé, modifier à la volée les valeurs de nice ... donc,
dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton
'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Il n'y a pas besoin du « monitor-système-gnome » pour faire ce genre de
choses, et ce sera d'une utilité totalement nulle : comme l'a indiqué le
posteur initial, ce que je confirme, le nice n'a aucune influence sur le
scheduling des I/O.
Patrik Billon wrote in message <417e2d9d$0$29495$:
Essayes avec le monitor-système-gnome ... tu peux si tu sais quel est le processus exact lancé, modifier à la volée les valeurs de nice ... donc, dans ton cas, baisser la valeur nice (pour augmenter la priorité de ton 'cp' à augmenter) et augmenter pour le deuxième 'cp'...
Il n'y a pas besoin du « monitor-système-gnome » pour faire ce genre de choses, et ce sera d'une utilité totalement nulle : comme l'a indiqué le posteur initial, ce que je confirme, le nice n'a aucune influence sur le scheduling des I/O.
Rakotomandimby Mihamina
On Tue, 26 Oct 2004 11:46:57 +0200, Remi Moyen wrote:
Bonjour,
Bonjour
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
http://lartc.org/ -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
On Tue, 26 Oct 2004 11:46:57 +0200, Remi Moyen wrote:
Bonjour,
Bonjour
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie
plein de données sur ma carte réseau (ou disons sur mon modem, histoire
que la bande passante soit plus faible :-) ), et j'en ai un deuxième que
je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment
faire ?
http://lartc.org/
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)
On Tue, 26 Oct 2004 11:46:57 +0200, Remi Moyen wrote:
Bonjour,
Bonjour
Autre exemple, j'ai un processus (genre un gros 'scp', disons) qui envoie plein de données sur ma carte réseau (ou disons sur mon modem, histoire que la bande passante soit plus faible :-) ), et j'en ai un deuxième que je voudrais qu'il passe en priorité. Là encore, est-ce possible et comment faire ?
http://lartc.org/ -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)