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