Re: [Linux] Kaynak Tüketim Analizi

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Murat Koç (muratkoc@kivi.com.tr)
Date: Fri 05 Aug 2005 - 17:04:51 EEST


> Merhaba,
>

Selam,

> Sistem üzerinde çalışan bir programın - kendileri daemon olup artalanda
> koşuyorlar - kaynak tüketimini (CPU, RAM kullanımını) analiz
> edebileceğim bir araç var mı?
>
> Tahminen şöyle bir çıktı vermesini istiyorum: «Son bir saat için
> ortalama işlemci kullanımı N, bellek kullanımı M. İşlemci kullanımının
> en fazla olduğu oran N0, en az olduğu N1. Benzer şekilde bellek için M0,
> M1.»

İki tane yöntem var esasen bir tanesi process accounting kernel içinde enable
edilmesi gerekmekte. Enable edildiği zaman /var/log/pacct idi yanlış
hatırlamıyorsam dosyaya process exit yaptığı zaman include/linux/acct.h
içinde tanımlanmış olan şu verileri yazar.

struct acct
{
        char ac_flag; /* Flags */
        char ac_version; /* Always set to ACCT_VERSION
*/
        /* for binary compatibility back until 2.0 */
        __u16 ac_uid16; /* LSB of Real User ID */
        __u16 ac_gid16; /* LSB of Real Group ID */
        __u16 ac_tty; /* Control Terminal */
        __u32 ac_btime; /* Process Creation Time */
        comp_t ac_utime; /* User Time */
        comp_t ac_stime; /* System Time */
        comp_t ac_etime; /* Elapsed Time */
        comp_t ac_mem; /* Average Memory Usage */
        comp_t ac_io; /* Chars Transferred */
        comp_t ac_rw; /* Blocks Read or Written */
        comp_t ac_minflt; /* Minor Pagefaults */
        comp_t ac_majflt; /* Major Pagefaults */
        comp_t ac_swaps; /* Number of Swaps */
/* m68k had no padding here. */
#if !defined(CONFIG_M68K) || !defined(__KERNEL__)
        __u16 ac_ahz; /* AHZ */
#endif
        __u32 ac_exitcode; /* Exitcode */
        char ac_comm[ACCT_COMM + 1]; /* Command Name */
        __u8 ac_etime_hi; /* Elapsed Time MSB */
        __u16 ac_etime_lo; /* Elapsed Time LSB */
        __u32 ac_uid; /* Real User ID */
        __u32 ac_gid; /* Real Group ID */
};

Bunlar sanırım istediğin herşeyi sağlıyorlar yalnız bu tabii ki process exit
olduğu zaman bunu yapar. dolayısı ile daemon ı durduğun zaman bu bilgileri
alabilirsin.

Bir başkası ise "sar" kullanmaktır ama yine yanlış hatırlamıyor isem sar
process başına değilde genel olarak sistemler ilgili raporlama yapar. Günde
bir kere daemon ı durdurup başlatırım dersen bilgileri almak için process
accounting işine yarayan şey olacaktır.

-- 
Murat Koç
Kivi BiliÅŸim Teknolojileri

_______________________________________________
Linux mailing list
Linux@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.