Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - AdministrationForum - Administration
  • RSS Forum - Administration - 336367Cette discussion

Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Administration » commande débit !
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
commande débit !
Auteur: walidux (IP enregistrée)
Date: le 21 avril 2008 à 23:01

salut à tous,
y'a t il une commande linux qui permet l'affichage du débit de transfert de donnée actuel sur mon PC (par exemple je suis en cour de telecharger open office ==> le debit de transfert est 420 Ko/s)
et merci d'avance

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 22 avril 2008 à 00:52

bmon, ifstat, ntop
...
image : question

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 22 avril 2008 à 19:53

Merci pour votre réponse.
Le probleme est je ne trouve pas le débit de téléchargement actuel sur mon pc. Si vous avez d'autres solutions ou plus de détaille, n'hésiter pas de les poster.
Et merci d'avance image: clin d`oeil

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 23 avril 2008 à 02:45

bmon fait ça très bien. Que lui reproches-tu?

Re: commande débit !
Auteur: Basile STARYNKEVITCH (IP enregistrée)
Date: le 23 avril 2008 à 08:10

Et ifstat aussi

----

Basile STARYNKEVITCH où on trouve mon mél

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

N.B. N'hesitez pas à consulter aussi mes contributions antérieures.

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 6 septembre 2008 à 00:00

Bonjour tous le monde,

Oui et bien compris, mais le problème et que je suis à la recherche d'une commande qui me retourne directement le taux de transfert : par exemple 123 Ko/s pour le download et 96 Ko/s pour l'upload, car je suis en cours de développer une application en java sous linux, ou j'exécute directement des commandes et je récupère directement le résultat. (sans entrer dans les détailles des commande)

Pour être plus clair :
- Lorsque j'exécute la première commande de taux de transfert de download je reçois en résultat dans le console : 123 Ko/s
- Lorsque j'exécute la deuxième commande de taux de transfert d'upload je reçois en résultat dans le console : 96 Ko/s

NB: Je n'est aucun souci si la commande contient des tubes : par exemple "Commande | grep ... | cut ..."


J'ai vraiment besoin de votre aide et de cette commande "???", et merci d'avance

Re: commande débit !
Auteur: Basile STARYNKEVITCH (IP enregistrée)
Date: le 6 septembre 2008 à 08:58

Depuis un programme le plus simple serait plutôt de lire (periodiquement) des fichiers sous /proc/net ou /sys
comme /proc/net/dev /proc/net/if_inet6

----

Basile STARYNKEVITCH où on trouve mon mél

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

N.B. N'hesitez pas à consulter aussi mes contributions antérieures.

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 6 septembre 2008 à 13:30

Je pense qu'il est vrai que la meilleur solution est de lire périodiquement d'un fichier, c'est à dire executer une commande de type : grep ... chemin "vers le fichier" | cut ...

Mais lorsque j'affiche le contenu des fichiers par la commande cat, voila ce que j'obtient :

- commande : cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80 lo
fe8000000000000002a0d1fffe4b3461 02 40 20 80 eth0

- commande : cat /proc/net/dev_snmp6/eth0
ifIndex 1
Icmp6InMsgs 0
Icmp6InErrors 0
Icmp6InDestUnreachs 0
Icmp6InPktTooBigs 0
Icmp6InTimeExcds 0
Icmp6InParmProblems 0
Icmp6InEchos 0
Icmp6InEchoReplies 0
Icmp6InGroupMembQueries 0
Icmp6InGroupMembResponses 0
Icmp6InGroupMembReductions 0
Icmp6InRouterSolicits 0
Icmp6InRouterAdvertisements 0
Icmp6InNeighborSolicits 0
Icmp6InNeighborAdvertisements 0
Icmp6InRedirects 0
Icmp6OutMsgs 0
Icmp6OutDestUnreachs 0
Icmp6OutPktTooBigs 0
Icmp6OutTimeExcds 0
Icmp6OutParmProblems 0
Icmp6OutEchoReplies 0
Icmp6OutRouterSolicits 0
Icmp6OutNeighborSolicits 0
Icmp6OutNeighborAdvertisements 0
Icmp6OutRedirects 0
Icmp6OutGroupMembResponses 0
Icmp6OutGroupMembReductions 0

==> Pas d'information concernant le taux de transfert !!!! image : confus

SVP aider moi, j'ai vraiment besoin de cette astuce pour mon programme ...

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 6 septembre 2008 à 14:25

Ça se trouve sous /sys/class/net/eth*/statistics/*x_bytes, qui donnent le nombre total d'octets transmis/reçus depuis le démarrage de la machine...
?

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 6 septembre 2008 à 14:36

Mais les mêmes données sont accessibles par `ifconfig`...

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 6 septembre 2008 à 14:52

Иван a écrit :

Ça se trouve sous
/sys/class/net/eth*/statistics/*x_bytes, qui
donnent le nombre total d'octets transmis/reçus
depuis le démarrage de la machine...
?


Ahhhh Noooooo image : sue

à bien lire ce que je veux !!! Le nombre total d'octets transmis/reçus depuis le démarrage de la machine... peut etre lu par la commande 'ifconfig'

J'aime bien avoir le taux de transfert de download et d'upload à ce moment !

Et merci pour vos réponse

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 6 septembre 2008 à 15:22

pour les downloads, wget -v
pour les uploads, ftp -v

?

Re: commande débit !
Auteur: Basile STARYNKEVITCH (IP enregistrée)
Date: le 6 septembre 2008 à 15:53

Depuis un programme, on peut lire les volumes (kiloctets) échangés chaque 5 secondes, puis calculer le débit.

----

Basile STARYNKEVITCH où on trouve mon mél

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

N.B. N'hesitez pas à consulter aussi mes contributions antérieures.

Re: commande débit !
Avatar
Auteur: AlSim (IP enregistrée)
Date: le 6 septembre 2008 à 18:27

[nopcode.org]
mesure -i eth0 -Kt


[catwell.info]

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 7 septembre 2008 à 17:15

Merci tous pour vos réponses image: clin d`oeil

J'ai adapté à la fin la premiere solution, qui s'agit d'exécuter ce script là, qui calcule la différence entre la taille de transfert dans /proc/net/dev :

Remarque : J'ai remarqué que le taux de transfert n'ai pas exactement le meme que celui de l'assistant de téléchargement (par exemple le taux de téléchargement est 210 Ko/s dans l'assistant de téléchargement et 130 Ko/s dans mon application qui utilise ce script !!!!)

Si vous avez d'autres script plus précis, veuillez les poser ici.

Et merci d'avance image : content

#!/bin/bash

#Permet d'afficher le débit réseau courant.
#Utilisé par mk_prompt pour l'afficher dans l'invite de commande.

IF=eth0
INIF=eth0

DATA_FILE=/tmp/debit.data
time_stamp1=`cat $DATA_FILE | gawk '{print $1}'`
received1=`cat $DATA_FILE | gawk '{print $2}'`
transmitted1=`cat $DATA_FILE | gawk '{print $3}'`

received2=`cat /proc/net/dev | grep $IF | sed "s/:/ /" | gawk '{print $2}'`
transmitted2=`cat /proc/net/dev | grep $IF | sed "s/:/ /" | gawk '{print $10}'`

time_stamp2=`date "+%s"`

diff_time=`echo " $time_stamp2 - $time_stamp1" | bc`
if [ $diff_time = 0 ]
then
diff_time=1
fi


debit_r=`echo " (( $received2 - $received1 ) / $diff_time ) / 1024 " | bc -l | cut -c 1-4`
debit_t=`echo " (( $transmitted2 - $transmitted1 ) / $diff_time ) / 1024 " | bc -l | cut -c 1-4`

DATA_FILE2=/tmp/debit2.data
time_stamp3=`cat $DATA_FILE2 | gawk '{print $1}'`
received3=`cat $DATA_FILE2 | gawk '{print $2}'`
transmitted3=`cat $DATA_FILE2 | gawk '{print $3}'`
received4=`cat /proc/net/dev | grep $INIF | sed "s/:/ /" | gawk '{print $2}'`
transmitted4=`cat /proc/net/dev | grep $INIF | sed "s/:/ /" | gawk '{print $10}'`
time_stamp4=`date "+%s"`
diff_time2=`echo " $time_stamp4 - $time_stamp3" | bc`
if [ $diff_time2 = 0 ]
then
diff_time2=1
fi
debit_r2=`echo " (( $received4 - $received3 ) / $diff_time2 ) / 1024 " | bc -l | cut -c 1-4`
debit_t2=`echo " (( $transmitted4 - $transmitted3 ) / $diff_time2 ) / 1024 " | bc -l | cut -c 1-4`
echo "i=${IF} R=${debit_r} T=${debit_t}"
echo "$time_stamp2 $received2 $transmitted2" > $DATA_FILE
echo "i=${INIF} R=${debit_r2} T=${debit_t2}"
echo "$time_stamp4 $received4 $transmitted4" > $DATA_FILE2

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 7 septembre 2008 à 19:23

Bonsoir Walidux,

Pourquoi deux variables IF et INIF pour eth0 ? Je suppose que INIF=eth1...
? Si c'est le cas, une boucle t'éviterait d'entrer les mêmes commandes...

Tant pour awk, que pour grep, il n'est pas nécessaire d'utiliser `cat`, cela s'appelle un UUOC (Useless Use Of Cat).

`Awk` peut (et doit) faire beaucoup plus que simplement afficher un champ (par exemple, remplacer grep et sed, ou effectuer les calculs des 'debit_*'), préfère `cut`.


Par contre, je ne connais pas cette construction,

walidux a écrit :

echo "i=${IF} R=${debit_r} T=${debit_t}"
tu veux bien m'expliquer...
?
on dirait une substitution qui ne substitue rien...

Merci pour /proc/net/dev, je ne connaissais pas.

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 10 septembre 2008 à 06:41

#!/bin/bash

dataFile="/proc/net/dev"
statFile="/tmp/statFile"

diff_tmStp=$(echo "$(date +%s.%N) - $(cut -d" " -f1 $statFile)" | bc)
 while read line; do
  Com=( $line )
  ComEt=( tmStp=$(date +%s.%N) $(awk 'BEGIN { var="eth*" } { if (match($1,var)) print "Rx="substr($1,6), "Tx="$9}' $dataFile) )
  a="0"
  while [[ "$a" -lt "${#Com[*]}" ]]; do
Col=$(echo ${ComEt[$a]} | cut -d"=" -f1)
   case $Col in
    tmStp) echo "depuis : $(echo "$(echo ${ComEt[$a]} | cut -d"=" -f2) - ${Com[$a]}" | bc) secondes"
    ;;
    *x) [ $diff_tmStp = 0 ] && diff_tmStp="1"
    RxTx=$(echo "((($(echo ${ComEt[$a]} | cut -d"=" -f2 | sed 's/ .x//') - ${Com[$a]}) / $diff_tmStp) / 1024)" | bc)
    [ $Col = Rx ] && echo "$RxTx Ko/s_reçus"
    [ $Col = Tx ] && echo "$RxTx Ko/s_envoyés"
    ;;
   esac
   let "a += 1"
  done
 done < $statFile
echo -ne "$(date +%s.%N) $(awk 'BEGIN { var="eth*" } { if (match($1,var)) print substr($1,6) , $9}' $dataFile)\\n " > $statFile


mais j'ai également un écart entre le résultat de ce script et la valeur indiquée par wget...
?

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 12 septembre 2008 à 07:09

Bonjour,

Le format de /proc/net/dev :
temps -1
eth0: 9999999
temps 0
eth0:10000000

m'incite à penser qu'il vaut mieux ne pas utiliser ses données.

J'en reviens donc aux /sys/class/net/eth*/statistics/*x_bytes, avec toujours un écart entre les résultats du script et les stats retournées par wget...
?

Re: commande débit !
Auteur: walidux (IP enregistrée)
Date: le 18 septembre 2008 à 18:14

Salut &#1048;&#1074;&#1072;&#1085;,

Il est vrai qu'il y a une différence entre les résultats de ce script et de celle de wget ou l'assistant de firefox !!

Pour ta question :
"tu veux bien m'expliquer...
?
on dirait une substitution qui ne substitue rien... "


J'ai cherché pas mal dans l'internet d'une commande standard qui me renvoie le résultat de taux d'upload et de download mais sans aucun effet :(

et j'ai trouvé également le script que j'ai posé dans cette discussion, donc j'était obligé de l'utiliser dans mon programme (que j'ai développé), sans bien comprendre son principe de fonctionnement, sachant que lorsque je supprime l'un des variable IF=eth0 ou INIF=eth0, le script ne demeure plus fonctionnel !

Re: commande débit !
Avatar
Auteur: Иван (IP enregistrée)
Date: le 19 septembre 2008 à 11:59

Pour ce qui concerne la différence entre le script et les stats retournées par les outils de téléchargements, je suppose un problème de chronométrage :
le script prend en compte l'heure de lancement de la commande de téléchargement (s'il yen a une) et celle de son achèvement , et non la durée réelle du téléchargement...
?

Quant à l'utilisation de /proc/net/dev, je persiste à penser que ce n'est pas une bonne idée. Ce fichier étant une "concaténation" de valeurs se trouvant (liées) sous /sys/class/net/*/stastictics/*.

Ne vaut-il pas mieux "s'adresser au bon dieu, plutôt qu'à ses saints"...



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.