Browser hafıza kullanımı karşılaştırması

0
conan
Bu sabah surf halindeyken phoenix'imin kaç tane tab açabileceğini denemek istedikten sonra aklıma browserların hafıza kullanım karşılaştırmasını yapmak geldi. Elimde olan iki browserda genelde gezindiğim 17 sayfayı aynı anda açarak Task manager vasıtasıyla hafıza kullanım oranlarını karşılaştırmaya çalıştım. İşte sonuçlar.
Browserlar:
Internet Explorer: 6.0.2800.1106 SP1, Q324929
Phoenix: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2b) Gecko/20021029
Phoenix/0.4
Test edilen URL listesi:
Bu sayfalarin son iki tanesi hariç genelde hepsi statik sayfalar. Son iki sayfa ise flash içeren sayfalar.
www.msn.com/
windowsmedia.com/mg/Radio.asp?locale=409
windowsmedia.com/mg/home.asp?
http://cstrike.gamewarriors.com
www.killefiz.de/zaurus/
newbreedsoftware.com
www.vwmkiv.com/monsoon.htm
www.vwmkiv.com/
forums.vwvortex.com
ccvs.cvshome.org
en.tldp.org
www.fazlamesai.net/
www.fazlamesai.org/forum/
www.fazlamesai.net/hardcore.php3
www.weather.com
forums.vwvortex.com
foxsports.lycos.com
www2.warnerbros.com
Browser Hafıza Kullanımı:
IE: 58 MB
Phoenix: 59 MB
Phoenix tablar icerisinde: 42 MB Notlar:
1) Tahmin edeceğiniz gibi son iki sayfada hafıza kullanımı flash plugininin de devreye girmesiyle oldukça artıyor. İşin ilginci bu artışın IE de fazla olmaması. Yani Phoenix html sayfaları gösterirken yaklaşık 20-28 MB civarlarında hafıza kullanırken, IE'de bu miktar 27-38 MB civarlarında. Ne zaman ki flash devreye giriyor hafıza kullanımı Phoenixde bir anda neredeyse iki katına çıkıyor.
2) Tab browsing hafıza kullanımı büyük ölçüde azaltıyor. Phoenixde 17 MBlık bir hafıza kârımız görülüyor. Belki IE de bu tip bir teknoloji kullanarak hafıza kullanımı azaltabilir.

Görüşler

0
sleytr
Opera 7.03 37MB (tablar içinde)
Son iki sayfayı kapatınca 34MBa düştü.
Hem Phoenixin hem de Opera nın ilk açılıştaki bellek kullanımları 16mb civarındaydı. ancak rutin olarak kullandığım browser ve eposta istemcisi Opera olduğu için bu pek eşit bir karşılaştırma olmadı. Sanırım Phoenix kadar taze ve az kullanılmış bir kurulum olsaydı bellek kullanımı (özellikle açılıştaki) ve açılış süresi belirgin derecede daha az olurdu.
0
anonim
IE'de entersan bir durum var
minimize ve maximize ettikten sonra
30mb olan memory kullanimi 5-6Mb lere kadar dusuyor ve peek seviyesine cikmiyor.

0
redial
task manager yaniltiyor olabilir mi?
0
anonim
Windows uzerinde bu tur testler yapmaya cikmayin. Windows PE programlarini tamamen yayilmis flat bir duzlem uzerinde calistirir. Ornegin, program sona erse bile ayrilmis bellek bolgeleri hala yerinde kalabilir. MS bunu cozmek icin bir Patch tablosu kullanir. Fakat, bir browser pek cok bilesenden olusur ve hepsinin cok itinali olarak koordine calisan bir patch tablosu kullanmasi gerekir. Halbuki boyle bir tablo yok ortada..

Sonuc olarak Linux'un programlari virtual bir PC uzerinde calistiriyor olmasi durumu Windows'ta yok. Bu nedenle de bellek bolunmesi gibi sorunlar baslar. Bilhassa Win9X kullaniyorsaniz, 200 MB bellek bosken 1 MB allocate edemeyebilirsiniz. Browserlerin kucuk kucuk cok fazla bellek bolumune ihtiyac duymasi onlari kendi patch tablolarini olusturmaya zorlar. Browserler genellikle bir defada buyuk bellek alanlarini birden alloc eder, sonra bunu parca parca kullanir. En azindan IE boyle yapiyor. Fakat sistem memory pool patchleri ile bunu entegre ederseniz, baska uygulamalarin kendi maplarinizla entegre olmasini ve sonucta ayridiginiz bellegi onlarinda kullanmasini saglayabilirsiniz.

Bu karisik ve yarim yamalak paragraflar ne sayikliyor derseniz, o gordugunuz 34 MB RAM kullanilan bellegi ifade etmez. Browserin memory pool buyuklugunu verir. Dogru sonuca ulasmak icin sistem patch tablolarini izlemeniz gerekir. Buda o kadar kolay degil, ancak bir emulator icinde sistemi calistirip, Page/segment descriptorlerini de isin icine katarak ugrasmanizi gerektirir.

0
sleytr
o gordugunuz 34 MB RAM kullanilan bellegi ifade etmez
demişsiniz. doğru anladığımdan emin değilim;
diyelimki yeni açılmış sistemde 40mb boş fiziksel bellek var. IE yada başka bir programda bu dediğiniz yöntemle 34MBı kendine ayırdı. diğer programların kullanabileceği alan ne kadardır?

bu arada aynı olay browserlar dışında birçok programda da oluyor. (flashfxp, metapad, acrobat, calc)

0
anonim
Olacak elbette.. Windows berbattir derken, hic bir halt etmez demiyoruz ki.. Win9X serisi pseudo flat bir bellek modeli kullanir. Dogrusu, tum bellek alani tek bir segment gibi goruluyor. Ornegin, 0028 Segmenti VFAT tarafindan tutuluyor. 0157 segmenti VXD space, 0151 segmenti NTKERN space gibi.. Programlar icin bu segmentler erisilebilir halde. Bu nedenle mesela CIH virusu kolayca kendini kernele bagliyabiliyor.

Hal boyle olunca destruct edilince otomatikman bosalacak bir VM yapisi yok. XP ve NT+W2K bu bolgeleri bir tur trap mekanizmasi ile kullanima aciyorlar.

Simdi durum boyle olunca en buyuk sorun bellek ayirmada yasaniyor. Siz kendi segmentinizde degil, herhangi bir segmentte bellek ayirabilirsiniz. Elbette bunu malloc() ile yapmazsiniz, ama mesela bir interface cagirirsiniz, size donen pointer aslinda baskasinin segmentinde bulunur. Bu durumda Sistem son derece cetrefilli bir hale gelir. Herseyden once bellek defragmentasyonu otomatik olarak yapilamaz.

Bunlar Windows'un iyi bilinen bellek problemleridir ve blue Screen of death'in temel sebebidir. Faydasi nedir peki de MS bu yolu tercih etmis ? Programlar arasi iletisim ve Programlarin sisteme hakimiyeti cok daha kolay ve hizli yapilabilir bu sayede. Ornegin Exchange Server kurarsiniz, aslinda bir veri tabani olan kayitlarini size sanki bir diskmis gibi sunuverir. Yada MSSQL kernele oyle bir sarkarki VM mekanizmasi, paging mevzulari filan sadece ondan sorulur hale geliverir.

Hal boyle olunca sistemle koordine sekilde calisarak perallocated bellek kullanmak gerekir. Bunu aslen squid'de linux uzerinde benzer sekilde yapar. Preallocated bellek, dogru terim degil aslen. Siz kullanmak uzere bir memory pool olusturur, bir duvara poll bilesenlerini yazarsiniz (memory wall) bu duvardan sistem sizin alloc rutinlerinizi kullanarak kendine ve diger programlara bellek alani ayirabilir. Yani 34 Mbit sizin, ama kullanmadiginiz bolgeler gecici olarak digerlerine verilebilir. Paging gerekmeden.. Sonucta ne bos gorunen 10MB gercekten bostur, nede 34 MB browser'a aittir. Virtual aleme hosgeldiniz... Adi ustunde virtual memory management.. Hic bir sey gorundugu gibi degil. MS isin iyice suyunu cikarmis, olan sadece bu.. Mesela bu mekanizma Win98'lerde ilk 64 MB ile sinirlidir. Dolayisiyla kod segmentlerinin 64 MB'dan sonrasi swap'a gider, sonucta 1GB RAM'iniz olsa bile. MS, bunu reklam araci yapar. Win2K %30 hizli calisir der, bir yildiz koyar sonuna, dipnot olarak duser '128 MB ve daha fazla RAM olan makinelerde'... Yanisi Zaten Win98 64 MB uzerini kullanmiyorki. Biz Win98'de boyle bir gaflette bulunduk demez. Tipki DOS'un 640K siniri gibi..

Gevelemeden, Windows flat bellek mekanizmasi aslinda bir faciadir. Sonuc olarak ne gosterdigi bos bellegin bos oldugunu, ne dolu bellegin dolu oldugunu garantileyebilirsiniz. Uygulamanizi salarsiniz cayira, mevlam kayira diyebilirsiniz sadece. Cunku diger pek cok sey gibi vmm'i denetleyen API'lerde dokumanlastirilmamistir. Ama mesela Office bu API'leri tepe tepe kullanir ve o cussesine ragmen StarOffice'ten hizli olur..



0
redial
eline saglik, siir gibi okuyor :)
0
sleytr
bu güzel ve ayrıntılı açıklama için teşekkürler.
0
conan
bilgi akiyor! :)
Super!
0
conan
Bu arada Isletim sistemini vermeyi unutmusum yazida. Windows 2000 Server
0
skoylu
Hazir gazi almisken bir kac puf noktasindan bahsedelim.

Win2K Server, enterprise olcekte bir OS ya, cok iyi bellek yoneticisine sahiptir. MS boyle diyor.
Peki nasil bir seydir bu ? ia32 malum 32 Bit pointer kullanir. Bu 4GB eder. Demekki siz dilediginiz zaman 1 GB RAM alloc edebilirsiniz. Bir deneyin bakalim. Page File icin Terabayt dahi ayirsaniz, 1GB RAM alloc edemezsiniz.
Peki nasil oluyor, neler oluyor ? Bilinen bir sorundur. Exchange kurarsiniz. 2GB RAM takarsiniz. Ama o 1 GB bile zor gorur. Baska bir seyde yok alette..
Sorun sudur. W2K, 4GB space'i once ikiye boler. 2GB kernel icin, 2GB'ta user space icin ayirir. Eee, 2 GB RAM varsa ne olacak ? Once kernel gelir. O zaman, kernelin gereginden buyuk bir RAM parcasini alloc etmesi onlenemez. Sonucta 2GB RAM'iniz varsa gider bunun cogunun uzerine oturur. 2GB'nin altinda RAM sahibi iseniz pek sorun olmaz. Cunku kernel boot esnasinda buna bakar ve biraz daha insafli calisir.
Peki bu ne demektir ? Saskin VM sistemi 2GB RAM'inizi kendi menfaatleri icin istila ediyor demektir. Peki ne yapilabilir ?
Oncelikle tavisyemiz Windows yerine gercekten adam gibi bir OS koyun. Mesela BSD Veya Linux. Ama bu size zor geliyorsa, biz eski Windows'cular olarak size bir puf noktasi verelim.

boot.ini dosyasinin sonuna /3GB satirini ekleyin. Evet, bunu tiklayarak yapabileceginiz bir yer yok. Gene dustunuz begenmediginiz komut satirina. Elbette reboot etmeyi unutmamaniz gerekiyor.

Bu ne demektir ? VM'e 2GB limitini 3GB'de aramasini soylemis olursunuz. Boylece VM bol bol RAM var sanarak 2GB'nin ustune yatmaktan vazgecer.

Evet, Windows ne kadar kolay degil mi ? Ha bu arada bu puf noktasi bulana kadar okumaniz gereken 400 MB dokumani hic saymiyorum..

Ama boyle yapiyor olmaniz bile 2GB RAM alloc etmenize musaade etmez. Cunku MFC bunlari 1.2GB'de torpuler.
Bir zamanlar, Win3.0 filan yok ortada. Gates devrin onemli yazilim ureticilerini toplamis. Soruyor:

- Ey ahali, MS'nin en iyi bildiginiz ozelligi nedir ?

Koro halinde cevap:

- 640K

Tarih tekerrurden ibarettir. 16 Bit ile 32 Biti melezlemeye calisirken 64K resource limitini yaratan, bu yuzden de sistemde GB RAM olsa da hic bir sey calismazken %20 Sistem kaynagi dolu gosteren bu akli evveller, simdi de 1.2GB duvarina toslamak uzereler. Iste 64K limit uzerinde (WinXX'lerin resource handler tablosu, Icon, menu vs. handlerlerinin tutuldugu bolge), 16 Bitmis gibide calisan 32 Bit bir sistem yazdilar.
Ne preemptivity, ne gercekten paging yapan bir VM. Sonuc buraya geldi. Her sey oyle karman corman olduki, 34 MB Ram handle ettigini gordugunuz bir program aslinda ne kadar virtual bellek, ne kadar fiziksel bellek kullaniyor hesabi yok. Cunku dokumani yok.
Bir alet SWAP'e dustuyse vay halinize. 16 Tane processor, Terabitlik hatlariniz vs .olmus hikaye oluverir. Performans en az 20 kat duser. Sonucta adam gibi bir uygulama yaziyorsaniz SWAP'a dusmemelisiniz. Ama 4GB RAM yazsaniz bile brosurunuze, bunu garantileme sansiniz yok Windows'ta..

Windows bellek yonetimine hic girmeyin derim. En iyi windows olmayan windows'tur. Biraz once yeni alete temizce bir MDK9.0 attim. Artik aksam rahat uyuyabilirim. Masaustumde bir Windows kadar kabul edilemez gordugum ikinci bir sey olamaz.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

F# ile Programlama - Microsoft Dil Teknolojilerinde Nereye Gidiyor?

FZ

Don Syme’in F# programlama ile ilgili tanıtım ve demo videolarını gördükten sonra Pazartesi mutlaka F# derleyicisini ve etkileşimli kabuğunu indirip denemem gerektiğini düşünmüştüm.

Emacs + SLIME + Common Lisp tarzında rahat bir etkileşim ve hızlı geliştirme, deneme, sonuçları anında görme imkanı sunan F# bir betik dilinin kıvraklığı ile fonksiyonel programlamadan ve ileri programlama tekniklerinden faydalanmayı sağlıyor. Derlenen programlar .NET IL (Intermediate Language) koduna derlendiği ve bunlar da JITlenerek (Just In Time compilation) çalıştırıldığı için performans gayet iyi görünüyor.

Knowlan: Ağınız Kontrolünüzde

FZ

Knowlan, ARP protokolunu kullanan yerel ag IP ve MAC adresi tarayicidir. Knowlan, kodun daha kolay tasinabilmesi icin libpcap ve libnet kutuphanelerini kullanarak yazildi.

Knowlan, yerel agdaki erisilebilen (acik) bilgisayar' larin IP adreslerini ve MAC adreslerini yerel agdaki butun ip adreslerine bir kereye mahsus ARP REQUEST paketi atma ve ARP REPLY paketi gonderen bilgisayarlarin IP ve MAC adreslerini kullaniciya sunma seklinde calismaktadir.

Escher İnteraktif

butch

Daha önce de fazlamesai'de bahsi geçen, theunderdogs.org sitesinde Sundance'in rastlayıp bana ilettiği "Escher Interactive: Exploring the Art of the Infinite" aslında 1996 yılında yayınlanmış, içinde Escher'in çalışmalarının açıklamalarıyla ve bazı oyunlarla sunulduğu bir cd. TheUnderDogs'daki arkadaşlarsa bunun cd'siz çalışabilir bir halini hazırlayıp tüm dünyaya sunmuşlar. Ben inceledim ve hemen arşivime ekledim. Kaçırmayın muhakkak indirin.

Pavuk???

m1a2

Hemen söyleyelim, bu `Pavuk` ne oluyor? Pavuk özellikle son haliyle `wget`e ciddi bir rakip oluyor... Malum, `wget` Linux`taki temel araçlardan birisidir. Bendeniz de lynx, wget vb. kod tabanı iyice oturmuş, mature programları değiştirme taraftarı değilimdir. Alışkanlıklar bu tip temel araçların değiştirilmesine de çoğunlukla engeldir. 1-2 yıl önce ismini duyduğum fakat `wget`e duyduğum saygıdan ötürü incelemeye kalkışmadığım :)`pavuk`u bir süredir deniyorum. Pek te memnun kaldım. Siz de bir deneyin isterseniz. Nereden mi? İşte şuradan.

Bilgisayar Dilleri Kıyaslaması

FZ

The Great Computer Language Shootout şimdiye dek gördüğüm en detaylı programlama dilleri kıyaslaması!

Siteye girdiğinizde 30 programlama dilinin, 25 farklı test (benchmark) üzerinden değerlendirildiğini görebilirsiniz. Ancak bu muazzam site basit bir kıyaslamanın ötesinde işlevsellik sunuyor.