• [^] # Re: ça avance :-)

    Posté par (site web personnel, Mastodon) . En réponse au message [résolu] visualiser charge CPU et mémoire | mesurer l'efficience. Évalué à 1.

    trop beau! Merci! Et ne t'excuse pas: j'ai appris plein de choses en lisant et relisant tes commentaires et bouts de code!

    Dans mon système la 7ème colonne de la ligne Mem: résultant de la commande free correspond à la mémoire disponible, pas à la la mémoire compressed.

    Tout me semble bien, si ce n'est que les données ne sont pas enregistrées 🥲 J'ai essayé plein de bidouilles mais n'y parvient pas:

    #!/bin/sh
    # avec l'aide de la communauté linuxfr
    # https://linuxfr.org/forums/linux-general/posts/visualiser-charge-cpu-et-memoire-mesurer-l-efficience
    # Création du fichier de sortie
    outputfile="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 average
    command -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œurs
    printf 'test hors bouuuucle\t'>> $outputfile # ✅
    # Définition des variables
    TheMem=$(awk -v N=$NbrCrs '/Mem:/ {print 7ドル/N}') # mémoire disponible
    TheLoad=$(uptime | awk '{print 10ドル}') # load average de la dernière minute
    TheTime=$(date +"%Y-%M-%dT%H%M%S")
    printf '%s\t' "$TheMem" >> $outputfile # 🚫
    # Enregistrement des données dans le fichier de sortie
    while true;
    do
    printf '%s\t%s\t%s\t\n' "$TheTime" "$TheMem" "$TheLoad" >> $outputfile #🚫
    printf 'test dans boucle\t' >> $outputfile #🚫
    sleep 2
    done