• # ç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.

    Voici où j'en suis, grâce à vos contributions :

    #!/bin/sh
    rm systemusage.csv
    while true;
    do
     (date; 
     echo -e $'\t' ;
     free -t | grep Mem | awk '{print 7ドル}' ;
     echo -e $'\t' ;
     uptime | awk '{print 10ドル}';
     echo -e $'\t' ;) >> systemusage.csv
    sleep 1
    done

    Mémoire

    J'ai suivi le conseil de Gil Cot d'utiliser mem, mais c'est pas vraiment une commande alors free fait l'affaire.
    Je prends la variable Disponible/Available. Selon le manuel, elle correspond à mon besoin d'information. Cependant le swap est laissé de côté.

    Estimation of how much memory is available for starting
    new applications, without swapping. Unlike the data
    provided by the cache or free fields, this field takes
    into account page cache and also that not all reclaimable
    memory slabs will be reclaimed due to items being in use
    (MemAvailable in /proc/meminfo, available on kernels 3.14,
    emulated on kernels 2.6.27+, otherwise the same as free)

    CPU

    Ici uptime donne une valeur utilisable de la charge CPU. Comme elle n'est pas générique à tous les systèmes, je dois faire attention au multi-coeur et multi-thread: une valeur de 1.00 sur un quadcore équivaut à une valeur de 0.25 sur singlecore.

    Visualisation

    Avec ces données je vais pouvoir faire un bel histogramme avec la mem et le cpu en y, et le temps en x.
    Par contre j'ai des difficultés à importer cela dans LibreOffice Calc. Il semble reconnaître le caractère de tabulation (/t), mais ne le prend pas en compte pour place les données dans de nouvelles colonnes.
    import-calc
    Alors que je veux une structure de csv comme ça:
    date | mem | cpu
    date2 | mem | cpu
    ...
    daten | mem | cpu

    Comment créer un fichier csv qui ordonne les données par ligne?