Hirdetés

Új hozzászólás Aktív témák

  • cAby

    tag

    Sziasztok!
    Nemrég osztottem meg itt a problémámat és kaptam is rá választ, de aztán kiderült, hogy mégsem jó így a dolog valamiért.
    Tehát, a top parancs segítségével szeretném kiszedni a Cpu használatot (a fent lévő egész Cpu sort), majd ezeket folyamatosan lementeni.
    Erre írtam ezt a script-et:
    #!/bin/bash
    Timer=0
    ENDTIMER=200000
    SAVEPLACECPU_USAGE=/tmp/cpuusage_report.txt
    while [ "$Timer" -ne "$ENDTIMER" ]
    do
    sleep 1
    Timer=`expr $Timer + 1`
    echo "$Timer. meres>> "$SAVEPLACECPU_USAGE"
    top -b -d 1 | grep 'Cpu' >> "$SAVEPLACECPU_USAGE"
    echo "$Timer meres telt el az inditastol"
    done
    exit 0

    A top -b -d 1 | grep 'Cpu' remekül működik, ha beírom konzolba, frissítgetve egymás alá írja az újabb és újabb sorokat. De ez így a scriptben nem megy, ennél a sornál megakadt a program.
    Erre kaptam azt a választ, hogy használjak n kapcsolót, így átírtam erre:
    top -b n 1 | grep 'Cpu'

    Ez így jó, lementi, de mindig ugyan azzal az adatokkal. Tehát gyakorlatilag, mindig ezt az értéket adja:
    "Cpu(s): 2.0%us, 0.5%sy, 0.0%ni, 96.1%id, 1.4%wa, 0.0%hi, 0.0%si, 0.0%st"

    Ha parancssorba írom be, akkor is mindig csak ezt az értéket mutatja.
    De, ha top-pal megnézem látom, hogy használatban van a proci, tehát nem jó az előbbi érték.

    Van valakinek ötlete, hogyan kellene lementeni ezt a sort úgy, hogy a valós értékeket adja? Vagy, hogy miért van ez, ami van?

    Köszi :)

Új hozzászólás Aktív témák