Merci merci pour le temps, les conseils et snippets. J'ai la joie: grâce à tes conseils (et les autres aussi!) je suis parvenu à une version de script bash satisfaisante. Il y aurait plein de trucs à ajouter et optimiser, comme l'ajout du nom de la personne testeuse, le formatage du fichier de sortie selon la date et ce nom et même la création d'un histogramme directement avec gnuplot. Mais bon j'ai d'autres choses à préparer pour cette expérience; il faut savoir s'arrêter, même si je commence à ressentir pas mal de plaisir à bidouiller ce script.
Parce que j'ai appris plein de choses, des commandes de base de linux certes, mais ausi des méthodes et une certaine logique. Le set -x est magique pour comprendre la logique du programme notamment!
#!/bin/sh# avec l'aide de la communauté linuxfr# https://linuxfr.org/forums/linux-general/posts/visualiser-charge-cpu-et-memoire-mesurer-l-efficience#set -x# Création du fichier de sortieoutputfile="0000.csv"
rm -vf "$outputfile"# -v pour afficher ce qui se passe (à utiliser si tu es en mode interactif)# -f au cas où tu aurais un alias avec -i# ou si tu lances en tant qu'un autre compte (mais ne marchera que pour root)# Définition du nombre de thread et/ou processeurs pour normaliser le load averagecommand -v nproc &&NbrCrs=$(nproc --all)||NbrCrs=1# double pipe "||": si la commande existe on l'utilise sinon on ne tient pas compte du nbr de cœursTheTime=$(date +"%T")Time=$(date)Sysinfo=$(lsb_release -a)#Informations systèmeprintf'%s\t%s\t\n%s\t%s\t\n%s\t\n'"Date:""$Time""Mémoire totale:""$TotMem""$Sysinfo" >> $outputfile# Inscription des entêtes du fichier de sortieprintf'%s\t%s\t%s\t%s\t%s\t\n'"Timestamp""Mémoire disponible""Charge CPU" >> $outputfile# Enregistrement des données dans le fichier de sortiewhile true;do# Définition des variablesAvMem=$(free -t | awk '/Mem:/ {print 7ドル}')# mémoire disponibleTotMem=$(free -t | awk '/Mem:/ {print 2ドル}')# mémoire totaleTheLoad=$(uptime | awk -v N=$NbrCrs'{print 10ドル/N}')# load average de la dernièreprintf'%s\t%s\t%s\t%s\t\n'"$TheTime""$AvMem""$TheLoad" >> $outputfile
sleep 2done
[^] # Re: ça avance :-)
Posté par leyouki (site web personnel, Mastodon) . En réponse au message [résolu] visualiser charge CPU et mémoire | mesurer l'efficience. Évalué à 1.
Merci merci pour le temps, les conseils et snippets. J'ai la joie: grâce à tes conseils (et les autres aussi!) je suis parvenu à une version de script bash satisfaisante. Il y aurait plein de trucs à ajouter et optimiser, comme l'ajout du nom de la personne testeuse, le formatage du fichier de sortie selon la date et ce nom et même la création d'un histogramme directement avec
gnuplot. Mais bon j'ai d'autres choses à préparer pour cette expérience; il faut savoir s'arrêter, même si je commence à ressentir pas mal de plaisir à bidouiller ce script.Parce que j'ai appris plein de choses, des commandes de base de linux certes, mais ausi des méthodes et une certaine logique. Le
set -xest magique pour comprendre la logique du programme notamment!