PHP Russia 2022

getrusage

(PHP 4, PHP 5, PHP 7, PHP 8)

getrusageGeçerli özkaynak kullanımlarını döndürür

Açıklama

getrusage(int $kip = 0): array|false

getrusage(2) için bir arayüz olup sistem çağırısından dönen veriyi döndürür.

Değiştirgeler

kip

1 belirtilirse getrusage RUSAGE_CHILDREN ile çağrılır.

Dönen Değerler

Sistem çağrısından dönen veriyi içeren bir ilişkisel dizi döner. Tüm girdilere belgelenmiş alan isimleri kullanılarak erişilebilir. Başarısız olursa false döner.

Sürüm Bilgisi

Sürüm: Açıklama
7.0.0 Bu işlev artık Windows'ta destekleniyor.

Örnekler

Örnek 1 - getrusage() örneği

<?php
$dat 
getrusage();
echo 
$dat["ru_oublock"];       // küme çıktı işlemlerinin sayısı
echo $dat["ru_inblock"];       // küme girdi işlemlerinin sayısı
echo $dat["ru_msgsnd"];        // gönderilmiş IPC iletilerinin sayısı
echo $dat["ru_msgrcv"];        // alınmış IPC iletilerinin sayısı
echo $dat["ru_maxrss"];        // azami yerleşik atama boyutu
echo $dat["ru_ixrss"];         // bütünleşik paylaşılan bellek boyutu
echo $dat["ru_idrss"];         // bütünleşik paylaşılmamış veri boyutu
echo $dat["ru_minflt"];        // geri kazanılmış sayfa sayısı (bellek sayfası hataları)
echo $dat["ru_majflt"];        // sayfa hatası sayısı (sabit disk sayfası hataları)
echo $dat["ru_nsignals"];      // alınan sinyal sayısı
echo $dat["ru_nvcsw"];         // istemli bağlam anahtarı sayısı
echo $dat["ru_nivcsw"];        // istemsiz bağlam anahtarı sayısı
echo $dat["ru_nswap"];         // takas alanlarının sayısı
echo $dat["ru_utime.tv_usec"]; // kullanılan kullanıcı süresi (mikrosaniye)
echo $dat["ru_utime.tv_sec"];  // kullanılan kullanıcı zamanı (saniye)
echo $dat["ru_stime.tv_usec"]; // kullanılan sistem zamanı (mikrosaniye)
?>

Notlar

Bilginize:

Windows'ta getrusage() sadece aşağıdaki üyeleri döndürür:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"
  • "ru_majflt" (sadece kip RUSAGE_SELF ise)
  • "ru_maxrss" (sadece kip RUSAGE_SELF ise)

getrusage() işlevi kipe 1 atanarak çağrılmışsa (RUSAGE_CHILDREN), evreler için kaynak kullanımı toplanır (yani işlev dahili olarak RUSAGE_THREAD ile çağrılır).

Bilginize:

BeOS 2000 üzerinde, sadece aşağıdaki üyeler döner:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"

Ayrıca Bakınız

  • Sisteminizdeki getrusage(2) kılavuz sayfası

add a note add a note

User Contributed Notes 3 notes

up
7
jlh at gmx dot ch
4 years ago
Note that this function returns rusage of the current process. In a web environment where you have long running apache processes that serve several requests with PHP executions, this will return cumulative timings and is therefore not suitable for telling how much user time your used. The best you could do is to call getrusage() once at the beginning and once at the end and calculate the difference.
up
5
Domas Mituzas
13 years ago
getrusage() reports kernel counters that are updated only once application loses context and a switch to kernel space happens. For example on modern Linux server kernels that would mean that getrusage() calls would return information rounded at 10ms, desktop kernels - at 1ms.

getrusage() isn't usable for micro-measurements at all - and getmicrotime(true) might be much more valuable resource.
up
0
Anonymous
3 years ago
To Top