[batch] plusieurs commandes pour ne pas saturer les processeurs
Fermé
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
-
4 mars 2013 à 11:56
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 5 mars 2013 à 14:22
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 5 mars 2013 à 14:22
A voir également:
- [batch] plusieurs commandes pour ne pas saturer les processeurs
- Fichier batch - Guide
- Invite de commandes - Guide
- Toutes les commandes terminal mac pdf - Guide
- Processeurs de flux - Forum Matériel & Système
- Amazon supprimer historique des commandes - Forum Consommation & Internet
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
4 mars 2013 à 16:50
4 mars 2013 à 16:50
Pour essayer d'être encore plus clair :
J'ai une vingtaines de processus à lancer sur une machine, mais je ne veux pas que plus de 4 tournent en même temps.
Habituellement, je m'en tire avec un script shell qui incrémente une variable, mais si je peux me passer de la lourdeur d'écrire un script à chaque fois ça serait parfait.
J'ai une vingtaines de processus à lancer sur une machine, mais je ne veux pas que plus de 4 tournent en même temps.
Habituellement, je m'en tire avec un script shell qui incrémente une variable, mais si je peux me passer de la lourdeur d'écrire un script à chaque fois ça serait parfait.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 415
4 mars 2013 à 14:20
4 mars 2013 à 14:20
Salut,
L'idée, c'est d'éviter de lancer en concurrence les 20 calculs simultanément, pour éviter de surcharger la RAM en premier lieu,
[...]
Le problème c'est qu'il ne lance les calculs que 1 par 1.
J'ai du mal à saisir ce que tu veux vraiment ??? ;-\
L'idée, c'est d'éviter de lancer en concurrence les 20 calculs simultanément, pour éviter de surcharger la RAM en premier lieu,
[...]
Le problème c'est qu'il ne lance les calculs que 1 par 1.
J'ai du mal à saisir ce que tu veux vraiment ??? ;-\
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
4 mars 2013 à 16:32
4 mars 2013 à 16:32
Salut zipe31, merci de ton intéret.
Comme j'ai 4 processeurs, je peux en lancer 4 simultanément.
En gros, je veux que l'occupation totale de la machine soit proche de 1. Avec un seul calcul je suis autour de 0.25.
En espérant avoir été plus clair.
Comme j'ai 4 processeurs, je peux en lancer 4 simultanément.
En gros, je veux que l'occupation totale de la machine soit proche de 1. Avec un seul calcul je suis autour de 0.25.
En espérant avoir été plus clair.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 415
4 mars 2013 à 16:40
4 mars 2013 à 16:40
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
4 mars 2013 à 16:46
4 mars 2013 à 16:46
Pas disponible sur ma distribution :-/
Je ne suis pas root sur ma machine. En lisant la description de batch, j'avais l'impression que c'était vraiment ce que je cherchais : éviter de sursaturer les processeurs.
Je ne suis pas root sur ma machine. En lisant la description de batch, j'avais l'impression que c'était vraiment ce que je cherchais : éviter de sursaturer les processeurs.
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
5 mars 2013 à 13:15
5 mars 2013 à 13:15
hello
ce script maintient 4 commandes en exécution, lues dans fichier par ligne, chaque ligne peut contenir plusieurs commandes séparées par ;
ce script maintient 4 commandes en exécution, lues dans fichier par ligne, chaque ligne peut contenir plusieurs commandes séparées par ;
#!/bin/bash C=4 while read CMD ; do bash -c "$CMD" & jobs=($(jobs -p)) while (( ${#jobs[*]} >= $C )) ; do sleep 3; jobs=($(jobs -p)) done done < fichier
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
5 mars 2013 à 14:22
5 mars 2013 à 14:22
merci dubeck, mais comme déjà dit, je sais le faire avec un script et des variables. Je me disais que comme batch inclu directement une fonction regardant la charge, ça pourrait être plus simlpe.