Soru Linux makinesinde kullanıcı başına CPU kullanımı grafiği


Grafik oluşturmak istiyorum (grafik çıktı büyük olurdu, yani .png dosyası) aşağıdaki durum: A, B ve C kullanıcılarına sahibim. Kaynaklarını kısıtlıyorum, böylece tüm kullanıcılar aynı anda yoğun bir CPU görevi yapıyorlarsa, Bu işlemler CPU'nun% 25,% 25 ve% 50'sini kullanacaktır. Kullanarak gerçek zamanlı istatistikleri alabilirim biliyorum top ama onlarla ne yapacağına dair hiçbir fikrim yok. Çok büyük arama yaptım top Adam sayfası ancak grafik verilebilecek veri çıkışı konusunda fazla bir şey bulamadı. İdeal olarak, grafik belki 30 saniyelik bir açıklık gösterecektir. Bunu nasıl başaracağınıza dair herhangi bir fikrin var mı?


7
2018-06-05 15:27


Menşei


İşaretlenmiş. Yine de, sadece ham verileri toplamak bir şekilde harika olurdu. Bunu yapabileceğini biliyorum virt-top (gibi bir şey virt-top -d $DELAY --csv $CSVFILE --script) ama eşdeğerini bulamadı top - mart1n


Cevaplar:


Bildiğim kadarıyla gerçek zamanlı istatistikleri alabildiğimi biliyorum ama ne olduğu hakkında hiçbir fikrim yok.   onlarla yapmak

Parti modu yararlı olabilir:

   -b : Batch mode operation
        Starts  top  in ’Batch mode’, which could be useful for sending output from top to other programs or
        to a file.  In this mode, top will not accept input and runs until the iterations limit  you’ve  set
        with the ’-n’ command-line option or until killed.

Örneğin:

$ top -b -n 1 -u <user> | awk 'NR > 7 { sum += $9 } END { print sum }'

Ganglia Gmetric Bunun için bir grafik çizmek için kullanılabilir.

cpu_per_user_gmetric.sh

#!/bin/bash
USERS="a b c"

for user in $USERS; do
    /usr/bin/gmetric --name CPU_per_"$user"_user --value `top -b -n 1 -u $user | awk 'NR>7 { sum += $9; } END { print sum; }'` --type uint8 --unit Percent
done

crontab -l

* * * * * /path/to/cpu_per_user_gmetric.sh

ve işte sonuç:

enter image description here


4
2017-08-14 09:52





tload Komut, ASCII grafiği aracılığıyla ortalama sistem yükünün resimsel temsilini temsil eder. Bu komut, bir terminalde grafik sağlamak için kullanılabilir. Komutun sözdizimi şöyledir:

tload [options] [terminal]

Eğer terminal bu komutun argümanı olarak sağlanmamışsa, o zaman varsayılan olarak mevcut terminaldeki grafiği çıkarır. Yani bu komutun en basit biçimleri:

$ tload

6
2018-03-20 14:04





Belki kullanabilirsiniz collectd ve uyum mevcut eklentiler? Evet, listelenen hiçbiri tam olarak ne istediğinizi yapmayacaktır, ancak öte yandan değişiklik yapmak oldukça kolaydır ve örneğin başlayabileceğinizi düşünüyorum. processes eklenti ve oradan çalışmaya başlayabilirsiniz.


2
2018-06-05 18:13





Deneyin sar ve sadf Kolay grafik oluşturma için verileri toplamak ve hazırlamak. http://sebastien.godard.pagesperso-orange.fr/documentation.html


1
2018-06-05 21:37



Kontrol ettim sar ancak belirli bir kullanıcı, herhangi bir fikir ile bir süreci ilişkilendirmek için bir yol bulamadı mı? - mart1n