Özkaynak Kullanımı
Önceki XXII. Oylum - Özkaynak Kullanımı ve Sınırlaması Sonraki
Özkaynak Kullanımı
Bir sürecin özkaynak kullanımını incelemek için kullanılan getrusage işlevi ve struct rusage veri yapısı sys/resource.h başlık dosyasında bildirilmiştir.
int getrusage
(int            süreçler,
 struct rusage *kaynakkullanımı)
işlev
Bu işlev süreçler ile belirtilen süreçlerin toplam özkaynak kullanımını *kaynakkullanımı içinde saklayarak döner.
Çoğu sistemde, süreçler için sadece iki geçerli değer vardır:
RUSAGE_SELF
Sadece işlevi çalıştıran süreci belirtir.
RUSAGE_CHILDREN
Sonlanmış olan tüm alt süreçler (Doğrudan ya da dolaylı).
GNU sisteminde, belli bir alt sürecin özkaynak kullanımını süreç kimliğini belirterek sorgulayabilirsiniz.
İşlevin normal dönüş değeri sıfırdır, -1 dönüş değeri bir hata oluştuğunu gösterir. Bu işlev için tanımlanmış errno hata durumu:
EINVAL
süreçler argümanı geçersiz
Belli bir alt sürecin özkaynak kullanımını sorgulamanın tek yolu, sonlandığında kullandığı özkaynak toplamlarını döndüren wait4 işlevidir. Bkz. BSD Süreç Bekleme İşlevleri.
struct rusage
veri türü
Bu veri türü çeşitli özkaynakların kullanım istatistiklerini saklar. En azından şu üyelere sahiptir:
struct timeval ru_utime
Kullanıcı komutları çalıştırılırken harcanan süre.
struct timeval ru_stime
İşletim sistemi tarafından süreçler yararına kullanılan toplam süre.
long int ru_maxrss
süreçler'in aynı anda kullandığı fiziksel belleğin kilobayt cinsinden azami miktarı.
long int ru_ixrss
Diğer süreçlerle paylaşılan metin tarafından kullanılan bellek miktarını belirten icra tiklerini kilobayt cinsinden ifade eden bir tamsayı değer.
long int ru_idrss
Veri için kullanılan paylaşımsız bellek miktarının aynı yöntemle ifade edilen tamsayı değeri.
long int ru_isrss
Yığıt alanı için kullanılan paylaşımsız bellek miktarının aynı yöntemle ifade edilen tamsayı değeri.
long int ru_minflt
Herhangi bir G/Ç gerektirmeksizin sunulan sayfalama hatalarının sayısı.
long int ru_majflt
G/Ç yaparak sunulan sayfalama hatalarının sayısı.
long int ru_nswap
süreçler'in tamamen ana belleğe takaslanma sayısı.
long int ru_inblock
Dosya sisteminin süreçler yararına diskten yaptığı okumaların sayısı.
long int ru_oublock
Dosya sisteminin süreçler yararına diske yaptığı yazmaların sayısı.
long int ru_msgsnd
Gönderilen süreçlerararı iletişim (IPC) iletilerinin sayısı.
long int ru_msgrcv
Alınan süreçlerararı iletişim (IPC) iletilerinin sayısı.
long int ru_nsignals
Alınan sinyallerin sayısı.
long int ru_nvcsw
süreçler'in bir bağlamsal seçiciye kasıtlı yaptığı çağrı sayısı (genellikle bazı hizmetler beklenirken).
long int ru_nivcsw
İstemdışı olarak bir bağlamsal seçicide yeralma sayısı (belli bir süre geçmiş ya da daha yüksek öncelikli başka bir süreç öne geçmiş olmasından dolayı).
vtimes işlevi getrusage işlevinin yaptığını yapan tarihi bir işlevdir. getrusage işlevinin kullanımı tercih edilmelidir.
vtimes ve onun vtimes veri yapısı sys/vtimes.h başlık dosyasında bildirilmiştir.
int vtimes
(struct vtimes şimdiki,
 struct vtimes altsüreç)
işlev
vtimes bir sürecin özkaynak kullanım toplamlarını raporlar.
Eğer şimdiki boş gösterici değilse, işlev sadece çağıran sürecin özkaynak kullanım toplamlarını bu argümanın gösterdiği yapıda saklar. altsüreç bir boş gösterici değilse, çağıran sürecin sonlanmış alt süreçlerinin özkaynak kullanım toplamlarını bu argümanın gösterdiği yapıda saklar.
struct vtimes
veri türü
Bu veri türü çeşitli özkaynakların kullanımı ile ilgili bilgileri saklar. Bu yapının her üyesi yukarıda açıklanan struct rusage yapısının üyelerinin karşılığıdır.
vm_utime
Kullanıcı işlemci zamanı. struct rusage yapısının ru_utime üyesinin karşılığıdır.
vm_stime
Sistem işlemci zamanı. struct rusage yapısının ru_stime üyesinin karşılığıdır.
vm_idsrss
Veri ve yığıt belleği. struct rusage yapısının ru_idrss ve ru_isrss üyesisinin raporladığı değerlerin toplamıdır.
vm_ixrss
Paylaşımlı bellek. struct rusage yapısının ru_ixrss üyesinin karşılığıdır.
vm_maxrss
Süreçlerin aynı anda kullandığı fiziksel belleğin kilobayt cinsinden azami miktarı. struct rusage yapısının ru_maxrss üyesinin karşılığıdır.
vm_majflt
G/Ç'lı sayfalama hatalarının sayısı.struct rusage yapısının ru_majflt üyesinin karşılığıdır.
vm_minflt
G/Ç'sız sayfalama hatalarının sayısı. struct rusage yapısının ru_minflt üyesinin karşılığıdır.
vm_nswap
Takaslama sayısı. struct rusage yapısının ru_nswap üyesinin karşılığıdır.
vm_inblk
Diskten okuma sayısı. struct rusage yapısının ru_inblk üyesinin karşılığıdır.
vm_oublk
Diske yazma sayısı. struct rusage yapısının ru_oublk üyesinin karşılığıdır.
İşlev başarılı olursa sıfır değeri ile, aksi takdirde -1 ile döner.
Önceki Üst Ana Başlık Sonraki
XXII. Oylum - Özkaynak Kullanımı ve Sınırlaması Başlangıç Özkaynak Kullanımın Sınırlanması
Bir Linux Kitaplığı Sayfası