İşletim sistemleri, verilerin bir kısmını işlenmek üzere “filo” algoritması aracılığıyla byte byte hafıza’nın stack segmentinde tutar.Sonrasında ilgili veriler, process edilmek üzere önce önbellek ardından cpu’nun temel işlem döngüsüne sokulmak üzere sıraya alınır.Günümüz operating sistemleri, process ettiği her işlemi (executing,reading,writing) bir süreliğine bellek içerisine depolar.Dolayısıyı ile aynı işlem belli bir süre içerisinde tekrar çalıştırılmak istendiğinde; işlenmek istenen veri, depolanan bellek üzerinden çağrılır. Böylece cpu üzerindeki processing time’da azaltılmış olur.Bu işlemler tamamen sistem kaynakları’nın performasını artırmak adına tasarlanmıştır.Dolayısı ile veriler depolanmak durumundadır.Aksi halde processing süresi uzayan her işlem, hafıza üzerinde yeteri miktarda alan allocate edemez ve virtual disk(swap) üzerinde kendine yer edinmeye başlar.Zira bu durum, belleğe oranla yapılan işlemlerin daha da uzamasına sebep olacaktır.
Konuyu biraz daha netleştirmek adına, find komutu ile örnek bir execution işlemi yapalım.Amacımız bir dizinde bulunan tüm “.txt” uzantılı dosyaların ne kadar bir süre zarfında listeleneceğini tespit etmek olsun.Komut başına eklenen “time”, sadece ilgili işlemin ne kadar bir zaman diliminde tamamlandığını gösterecektir.
[root@x ~]# time find . -type f -name “*.txt” -exec ls -l {} \; > /dev/null
real 0m0.616s
user 0m0.044s
sys 0m0.095s
Aynı komut, ikinci defa çalıştırıldığında ciddi oranda processing süresinde azalma meydana geldiği detayları ile gözlemleniyor.
[root@x ~]# time find . -type f -name “*.txt” -exec ls -l {} \; > /dev/null
real 0m0.284s
user 0m0.039s
sys 0m0.087s
Not:
Time, linux üzerinde halihazırda bulunan bir komuttur. Temel işlevi; real,user ve sys(system)bazlı bir verinin ne kadar zaman diliminde read,execute veya write edildiğini belirtmektir.
[root@x ~]# ldd /usr/bin/time
linux-vdso.so.1 => (0x00007fff6bb78000)
libc.so.6 => /lib64/libc.so.6 (0x00000038ff400000)
/lib64/ld-linux-x86-64.so.2 (0x00000038ff000000)
[root@x ~]# rpm -qi time
Name : time Relocations: /usr
Version : 1.7 Vendor: CentOS
Release : 27.2.2 Build Date: Sat 24 May 2008 03:44:24 PM EEST
Install Date: Sat 19 Feb 2011 03:36:54 AM EET Build Host: builder15.centos.org
Group : Applications/System Source RPM: time-1.7-27.2.2.src.rpm
Size : 20321 License: GPL
Signature : DSA/SHA1, Sun 15 Jun 2008 05:04:20 PM EEST, Key ID a8a447dce8562897
Summary : A GNU utility for monitoring a program’s use of system resources.
Description :
The GNU time utility runs another program, collects information about
the resources used by that program while it is running, and displays
the results.
Benzeri testleri, read ve/veya write processing yaparak da gözlemlemek mümkün.Özellikle çalıştırılacak veya işlenecek bir verinin zaman süreçlerini incelemede fazlasıyla işe yarayacaktır.
Share on Facebook
