Chrome'da RAM kullanımını sınırlamak?


20

Birkaç sekmeyi Google Chrome'da saatlerce / günlerce açık bırakırken, bazı sayfaların tüm işletim sisteminin (XP) çağrı nedeniyle yanıt vermediği noktaya kadar çok miktarda RAM kullandığını fark ediyorum. Şanslı olduğumda nihayet açık URL'lerin listesini favorilerime ekleyebilir, Chrome'u kapatıp tekrar başlayabilirim; Olmadığım zaman, Chrome'u öldürmeliyim ve açık URL'lerin listesini kurtarabileceğimi umuyorum.

  • Neden? Eklentilerde bellek sızdırıyor mu?
  • Chrome'u, tek bir sekme / sayfanın ayarlanan RAM miktarından daha fazlasını kullanmayacak şekilde yapılandırmanın bir yolu var mı?

Teşekkür ederim.


Ne kadar RAM'in var?
Baarn

@OverTheRainbow - Neden Sayfa Erteleme - chrome.google.com/webstore/detail/...
PeanutsMonkey

Bazı web sayfalarının 500 MB kapma süresi dışında, yeterli olan 4 GB'im var. Page Snooze and Session Buddy'deki bağlantılar için teşekkür ederiz.
OverTheRainbow

Yanıtlar:


-1

Bence işletim sisteminizin kaldırabileceği kadar RAM almayı seçmelisiniz. Chrome'un RAM kullanımını sınırlamamalısınız, çünkü yalnızca Web'deki sörf deneyiminizi mahveder. Bilgisayarınızı çoğu zaman internette gezinmek için kullandığınızı varsayarsak, Chrome'un bu sekmeleri aynı anda çalıştırmanın keyfini çıkarmasını istediğiniz performansı sağlamak için ihtiyaç duyduğu tüm kaynakları elde etmesine izin vermelisiniz.

Her sekmenin RAM kullanımını sınırlamanın bir yolu olduğunu sanmıyorum ancak Chrome'un kullanımını tamamen sınırlayabilirsiniz. Buraya bak:

https://stackoverflow.com/questions/192876/set-windows-process-or-user-memory-limit

Bunu yapmamayı tercih ederim, eğer yerinde olsam, internette gezinmek istersem.


14
Bu, kullandığınız bilgisayarın içeriği üzerinde kontrol sahibi olmadığınız zaman gerçekten bir çözüm değildir (örneğin, çalışma bilgisayarı).
Gnoupi

Bu durumda, seçilen sekmelere 'öncelikler' koymanın bir yolu olsaydı iyi olurdu (aktif sekme belleğin çoğunu alır gibi), çünkü sınırlı RAM ve bir bilgisayar sahibi olmuyorsa üretken olan (açık sekme sayısını azaltarak) uyum sağlamalıdır.
WikiWitz

2
Krom alabildiği kadar RAM tüketir, bu nedenle daha fazla RAM eklemek, ateşe daha fazla odun koymakla aynıdır, daha fazla yanar.
JDuarteDJ

4
@WikiWitz, RAM Chrome'un ne kadar yediğini hafife alıyorsun. 16 GB fiziksel RAM alıyorum ve hala yeterli değil.
Pacerier

2
"Bilgisayarınızı çoğu zaman internette gezinmek için kullandığınızı varsayarsak" - bu bir majör varsayım. Her şey Chromebook değil.
Piskvor

10
  1. Bir dizi bellek üzerinde kullandıklarında, krom oluşturucuları öldüren bir Python 2.5 programı yazdım. Bu programı altında çalıştırıyorum watch. (kullandığını unutmayın psutil Python'a dahil olmayan modül.)

    import sys, os, psutil
    
    if len(sys.argv) == 2:
        try:
            limit = int(sys.argv[1])
        except:
            limit = 200 # default 200MB
    else:
        limit = 200
    
    uid = os.getuid()
    for p in psutil.get_process_list():
        try:
            if (p.name == 'chrome' and any('type=renderer' in part for part in p.cmdline)
               and p.uid == uid):
                m = p.get_memory_info()
                #print p.pid,m, m.rss / 1024 / 1024, m.vms / 1024 / 1024
                if (m.rss / 1024 / 1024) > limit: # kill if rss is greater than limit
                    print 'Killed', p.pid
                    p.kill()
        except psutil.error.NoSuchProcess:
            pass
        except psutil.error.AccessDenied:
            pass
    
  2. ben ...... ya güveniyorum Oturum Buddy Krom bunları geri yükleyemediğinde açık sekmeleri kurtarmak için.


Chrome, oluşturucularının öldürülmesini nasıl ele alıyor? Sekme oluşturucusu öldürüldükten sonra hangi davranışı sergiliyor? Oh, Oturum Buddy yorumunuzu gördüm, bu yüzden Chrome bazen onları geri yükleyemez, tamam. Bu sık sık oluyor mu? Bu gerçekten çok temiz, teşekkürler!
Matthew

1
@Human Öldürülen bu renderleme işlemini kullanan sekmeler çöktü sekmeleri. Ancak yukarıdaki betiğin daha sonraki sürümlerde Chrome 12 ile iyi çalışmasına rağmen, Chrome 12'den farklı olarak uzantıların değil, oluşturma işlemlerinde kullanılan uzantıları da öldürür.
Dan D.

@Human Tıklama başarısız olursa son sekmeleri kaybetmek mümkündür geri . Ayrıca, sende olsa bile Last Tabs Bu dosyadan sekmeleri geri yüklemek mümkün değildir. Biçimi belirlemeye ve URL'leri uzun süre önce kullanmaya çalıştım. Başarılı değildi. Ve şu anki oturumun sekmelerini saklamak için Chrome'un kullandığı ikili formattan daha fazla SQLite'ye daha fazla güveniyorum, bu yüzden SB daha iyi.
Dan D.

@DanD., Bu script güvenli mi? Chrome'un tamamını çökertecek mi?
Pacerier

@Pacerier Evet, Chrome yeniden başlatıldıktan sonra hala gecikmeli sekme yükleme aşamasında olduğu durumlar dışında.
Dan D.

2

Bugüne kadar bunu yapabileceğim tek şey, bir kap içinde krom çalıştırmak ve kapları koç sınırla .

Ancak bunun bazı önemli uyarıları vardır.

  • Krom çalıştırmak dockerize kurulum ve başlatma sırası ile karmaşıktır

  • birincisi, Chrome iş parçacıklarını silmek için zaten çekirdek kapları kullanıyor; bu nedenle kabı çalışmasına izin veren bir tür kök ayrıcalığıyla çalıştırmanız gerekir. Bu atlatılabilir ve bağlantılı kap modeli böyle yapar. (pratikte ihtiyaç duyduğu her şeyi yapar)

  • Neredeyse kesinlikle gpu hızlandırma kaybedersiniz

  • Çalışmak için ses almak karmaşık, ancak bağlantılı konteyner modelinde kullanılıyor.

  • Garantinizi geçersiz kıldığınızda başka ne yanlış olacağını umuyorsanız, Chrome daha fazla koç kullanmamanın söylenmesini şiddetle istemez ve buna göre davranıp öfkelenecektir.

Ama sonuçta işe yarıyor.

Bu ram limitlerini sizin için araştıracak docker görüntüleri olmayan Electron Shell uygulamalarına uygulamakla daha çok ilgileniyorum.


Konu dışı ama Firefox'un sınırlı donanım konusunda çok iyi davranıldığını not etmek istiyorum, ancak bunun gerçek bir cevap olduğunu düşünmüyorum.


1

Bu mutlaka bir eklenti değil. Web sayfalarının artık statik olmadığını unutmayın. Bazı web sayfalarında sadece önemsiz miktarda asenkron etkinlik gerçekleşiyor. Eklentilerden etkinliği ekleyin ve bilinmeyenleriniz olsun.

Bulduğum en iyi çare web sayfasını öldürmek ve yeniden yüklemek. AFAIK, bir web sayfasının kullandığı RAM miktarını sınırlamanın bir yolu yoktur.


1

TabsOutliner uzantısını kullanın; bu sekmeleri bağlamınızdan ve geçerli oturum listenizden kaldırmadan, sekmeleri "kapatmanız" kolay bir yol sunar. Çok kullanışlı.

Sekmeler Outliner Uzantısı


0

Çok miktarda bellek kullanan sekme işlemini sonlandırın (Flash içeren bir şeyin 500MB + kullanmaya meyilli olduğunu fark ettim). Çalışmaya devam etmek istediğinizde ölü sekmeleri daha sonra yeniden yükleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.