Re: [Linux] Re: 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 26 Aug 2005 - 12:16:34 EEST


Bu maili daha o zaman yazıyordum ama sonra unutmuşum drafts içinde görünce
göndereyim dedim.

> Merhaba,
>

Merhaba,

> Şu an için kullanıp kullanmamakta kararsız kalsam da, gerçekten çok
> yararlı bir bilgi oldu. pwc sürücüsü ile oynamaktan canım sıkılmıştı
> zaten. Şimdi adam akıllı çekirdek ile etkileşime geçip elleri kirletmek
> için güzel bir bahanem oldu.
>
> Yanıt için çok teşekkürler.

Rica ederim.

Ayrıca daha fazla çok yöntem var aslında ama pek bilinmezler.
Aşağıdaki yazacaklarım sanırım bu fazla bilinmeyen yöntemler için iyi bir
kaynak oluÅŸturur.

Yapılabilecek çok şey var sonuçta oprofile dan tutun başka şeylere kadar. Ben
en bilinmeyenlerini aşağıda örneklendireyim :)

Misal bildiÄŸiniz time komutu.

fakat time komutunu 2 şekilde kullanabiliyorsunuz yani şöyle yaptığınız zaman.
Bunun nedeni bash içindeki built-in olan time komutunun kullanılıyor
olmasıdır.

--------------------------------------------------------------------------------------
muratkoc@kallavi:/a> time ls

real 0m0.003s
user 0m0.000s
sys 0m0.004s
-------------------------------------------------------------------------------------

Oysaki /usr/bin/time kullanırsanız yani bu şekil yaparsanız.

-------------------------------------------------------------------------------------
muratkoc@kallavi:/a> /usr/bin/time ls
0.00user 0.00system 0:00.00elapsed 200%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+237minor)pagefaults 0swaps
-----------------------------------------------------------------------------------

İpi kopartan -v opsiyonunu koyarsanız. Ki daemon u bu şekilde başlatıp
sonlandıktan sonra bir sürü bilgi alabilirsiniz.

----------------------------------------------------------------------------------
muratkoc@kallavi:/a> /usr/bin/time -v ls
        Command being timed: "ls"
        User time (seconds): 0.00
        System time (seconds): 0.00
        Percent of CPU this job got: 200%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 0
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 227
        Voluntary context switches: 1
        Involuntary context switches: 0
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
-------------------------------------------------------------------------------

Bir başka yöntem bildiğiniz strace in -c opsiyonunu kullanmak.

------------------------------------------------------------------------------
muratkoc@kallavi:/a> strace -c ls
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
 28.42 0.000312 8 38 13 open
 17.94 0.000197 197 1 execve
 16.67 0.000183 17 11 read
 10.66 0.000117 8 15 mmap2
  7.38 0.000081 5 18 old_mmap
  4.46 0.000049 2 24 fstat64
  4.19 0.000046 2 26 close
  1.73 0.000019 3 6 madvise
  1.55 0.000017 9 2 getdents64
  1.46 0.000016 5 3 munmap
  1.28 0.000014 7 2 2 access
  0.73 0.000008 4 2 ioctl
  0.64 0.000007 7 1 mprotect
  0.55 0.000006 2 3 brk
  0.55 0.000006 6 1 _sysctl
  0.46 0.000005 3 2 rt_sigaction
  0.27 0.000003 3 1 fcntl64
  0.27 0.000003 3 1 futex
  0.18 0.000002 2 1 uname
  0.18 0.000002 2 1 getrlimit
  0.18 0.000002 2 1 set_thread_area
  0.18 0.000002 2 1 set_tid_address
  0.09 0.000001 1 1 rt_sigprocmask
------ ----------- ----------- --------- --------- ----------------
100.00 0.001098 162 15 total
------------------------------------------------------------------------------

veya ltrace

------------------------------------------------------------------------------
muratkoc@kallavi:/a> ltrace -c ls
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
 59.83 0.001585 1585 1 setlocale
  7.89 0.000209 69 3 readdir64
  5.36 0.000142 17 8 getenv
  4.45 0.000118 118 1 is_selinux_enabled
  3.66 0.000097 19 5 malloc
  2.64 0.000070 70 1 opendir
  2.04 0.000054 18 3 __errno_location
  1.51 0.000040 40 1 isatty
  1.40 0.000037 37 1 fclose
  1.32 0.000035 17 2 free
  1.32 0.000035 35 1 closedir
  1.21 0.000032 32 1 ioctl
  0.98 0.000026 26 1 bindtextdomain
  0.91 0.000024 24 1 textdomain
  0.91 0.000024 24 1 getopt_long
  0.79 0.000021 21 1 _setjmp
  0.79 0.000021 21 1 __cxa_atexit
  0.76 0.000020 20 1 __fpending
  0.76 0.000020 20 1 qsort
  0.76 0.000020 20 1 strlen
  0.72 0.000019 19 1 memcpy
------ ----------- ----------- --------- --------------------
100.00 0.002649 37 total
----------------------------------------------------------------------------

başka başka ld.so kullanılabilir.

--------------------------------------------------------------------------
muratkoc@kallavi:/a> env LD_DEBUG=statistics ls
     17491:
     17491: runtime linker statistics:
     17491: total startup time in dynamic loader: 1380587 clock cycles
     17491: time needed for relocation: 519360 clock cycles
(37.6%)
     17491: number of relocations: 125
     17491: number of relocations from cache: 5
     17491: number of relative relocations: 1450
     17491: time needed to load objects: 689529 clock cycles
(49.9%)
     17491:
     17491: runtime linker statistics:
     17491: final number of relocations: 178
     17491: final number of relocations from cache: 5
------------------------------------------------------------------------------------

-- 
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.