Takas bir anakronizm midir?


43

Unix'i bir süredir kullandım ve son birkaç yıldır takasın bir anakronizm olduğunu hissettim, fakat diğer insanların ne düşündüğünü merak ediyorum.

Benim argüman kabaca bu (küresel ulimit veya OOM ayarlarının twiddling varsayarak):

There is little value in swap because if you need to swap out to disk, 
odds are it's going to be a vicious cycle where an app will continue 
to eat not only real memory, but swap as well until it gets OOM 
reaped (_if_ it gets OOM reaped). 

If you have swap enabled, it will only prolong this death march to 
the detriment of other processes - and in the worst case where the
process is not OOM reaped in a timely manner, grind the system to
a halt.

Without swap, it will probably get OOM reaped sooner (if at all)

Performansa göre ayarlanan herhangi bir hizmet için, kaynak kullanımının üst sınırlarını anlamanın, ilk etapta ayarlama yapmak için anahtar olacağını düşünürdüm, bu durumda ne kadar ihtiyacınız olduğunu biliyorsunuz.

Çalışan bir işlemi askıya alacağınız ve başka şeylere yer açmak için yer değiştirebileceğiniz birçok durumu (bazılarını değil birçoklarını) hayal edemiyorum, ancak bunu yaparsanız hala prizlerinizi kaybedersiniz, gcc aracılığıyla çekirdek dökümü veya belleği elle kopyalamak, işlevsel olarak eşdeğerdir.

Kesinlikle gömülü bir sistemde takas etmek istemem (daha küçük bir ram olsa bile), ram bittiğinde, bir milyon başına bir flash bellek kesmek yerine sürecimin ölmesini tercih ederim. sektörleri nub'a kadar aşındırarak bir hafta sonu boyunca sürün.

Unix-sakalları takas etmek için zorlayıcı sebepler var mı?

GÜNCELLEME cevapları ve analizi:

  • ONAYLANMIŞ? - fork () alt işlem için alt işlem için aynı miktarda belleği gerektirir.

    Modern fork () POSIX (çocuklar için) genelindeki çocuklara yönelik yazılabilir bir kopyadır , ancak özellikle Linux ve FreeBSD'dir ve OSX'i varsayım yoluyla kabul ediyorum. Takas yapan anakronistik valizlerin bu bölümünü taşıdığını düşünüyorum.

    Tuhaf bir şekilde, Bu Solaris makalesinde , Solaris çatal üzerine Yazma Kopyala () kullanılmasına rağmen, çatalın () çatalın içinde çökmemesi için en azından 2x (!) Ana işlem büyüklüğünün boş sanal bellekte boş kalması gerektiğini () orta. Solaris elemanı iken biraz takas bir anakronizm olduğunu argüman büstleri - Yeterince işletim sistemleri düzgün takas için daha ileri gerekçe olarak işaretlemeye olmadığı kadar miti ortadan daha önemli şekilde inek uygulamak düşünüyorum. Dan beri. Kabul edelim. Bu noktada Solaris'i gerçekten kullanan insanlar muhtemelen sadece Oracle'lılar. Alınma Solaris!

  • ONAYLANMIŞ - tmpfs / ramfs dosyaları, tmpfs / ramfs doldurduğunda bir uyumluluk olarak değişebilir

    Limitsiz tmpfs / ramfs kullanmayın! Her zaman açıkça tmpfs / ramfs kullanmak istediğiniz ram miktarını tanımlayın.

  • PLAUSABLE - 'Sadece durumda' biraz takas var

    Eski patronlarımdan biri eskiden, 'Bilmediğiniz şeyleri bilmiyorsunuz' demişlerdi - aslında, henüz sahip olmadığınız bilgilere dayanarak bir karar veremezsiniz. Bu bana takas için makul bir argümandır, ancak - Başvurunuzun değişip değişmediğini saptamak için yapabileceğiniz şeylerin türlerinin malloc () 'un istisnayı kazanıp kazanmadığını görmek için kontrol etmekten daha ağır olacağından şüpheleniyorum. başarısız bir yeni ().

    Bu, bir masaüstünü çalıştırdığınız ve bir sürü rastgele şeylerin olduğu durumlarda faydalı olabilir, ama yine de - bir şey delirirse, takas cehennemine dalmaktan ziyade OOM'un elde edilmesini tercih ederim. Sadece ben.

  • Yakalandın! - Açık Solaris , takas olan nedenlerden bir çift için önemli

    tmpfs - devletler tmpfs için mevcut boş alan miktarı, sistemdeki ayrılmamış takas alanı miktarına bağlıdır. Bir tmpfs dosya sisteminin boyutu, kendisine yazılmış dosyaları barındıracak şekilde büyür, ancak yoğun tmpfs kullanıcıları için bazı doğal tradeoffiler vardır. Tmpfs, kaynakları yürütme programlarının veri ve yığın bölümleriyle paylaşır. Tmpfs dosya sistemleri izin verilebilir maksimum boyutlarına yakınsa çok büyük programların çalıştırılması etkilenebilir. Tmpfs, sistemin 4 MB dışındaki alanını değiştirebilir.

    Solaris'in takas hakkındaki gerçekleri ve mitleri - Günümüzdeki sanal bellek, diskteki toplam RAM ve takas alanlarının toplamından oluşur. Solaris, yapılandırılması için herhangi bir takas alanı gerektirmez. Bu seçeneği tercih ederseniz, RAM dolduktan sonra yeni işlemler başlatamazsınız. .

    Bunun oluşturabileceğiniz maksimum sanal haritanın ram + swap olduğu veya mmap () gibi bir şey yapıp yapamayacağınızdan emin değilim , mmap () 'ın tembel kullanıma koyulmasına güvenebilirsiniz. Solaris'i muhtemelen günümüzde takas olmadan çalıştırabiliyor, diğer POSIXy işletim sistemlerinden daha az arkadaşça görünüyor.

  • Yakalandın! Popüler Linux hazırda bekleme araçları takas güveniyor gibi görünüyor

    TuxOnIce varsayılan olarak hazırda bekletme modunun takas işlemine dayanıyor gibi görünmektedir - diğer arka uçlar mevcut olmasına rağmen. Ancak, hazırda bekletilmesi gereken bir kutu çalıştırmıyorsanız, hala 'takasın linux'da aktiftir' ifadesinin arkasında dururdum.


Çok fazla un * x sakalım yok (hala biraz kıl;), ama benim 2 sentim, "biraz" takas yapmanın sisteminize biraz sağlamlık kazandırması olurdu. Doğrudan OOM yerine, sisteminizin biraz üzerinde bir limit varsa, değiş tokuş yaparsınız. Elbette, sistem sınırlarınızı gerçekten aşarsa, sisteminiz sonunda çökecek / duracak / nuke-kendisi / ne-cehennem-hayal edebileceksiniz. Öyleyse oynamak için biraz ipi vererek;)
Ouki 19

1
Fork () ile ilgili şey, sisteminizi RAM'i aşmayacak şekilde ayarlarsanız doğrudur (bu varsayılan değildir). Şimdi neden artık bu ayarlara ihtiyacın olacağını bilmiyorum. Gerçek zamanlı işlem için kullanışlı değildir.
Joshua,

@Jushua: İşletim sistemine bağlı olarak, bellek fazla çalışması varsayılan olmayabilir veya mümkün olmayabilir.
jlliagre

8GB RAM'e sahip bir NAS sunucum var, 2 VM'ye kadar çalışacak. Ben takas yapmadım. Ağır bir şekilde değişmeye başlarsa, o zaman zaten çoktan ölmüştür. Yani argümanınızı mükemmel şekilde destekliyor. Öte yandan, hala paslı masaüstümü 1GB RAM ile sınırlı kullanıyorum ve orada seyrek hafızayı kullanabiliyorum. Bu, işi biraz daha yavaşlatıyor, ancak aynı anda Firefox ve diğer uygulamaları da açmama yardımcı oluyor.
Huygens

OOM katilinin tetikleyicilerini çok geç buluyorum, ancak tüm önbelleklerin boşaltılmasından ve sistemin durgunlaşmasından sonra. Sistemimi çabuk tutabilmek için, aynı işi daha önce yapmak için earlyoom veya nohang kullanıyorum ! Takaslı veya takas olmadan kullanılabilir.
joeytwiddle

Yanıtlar:


28

Takas etmeyin () takas (disk alanı olarak) ve (to) takas (hafıza sayfalarını RAM'den diske ve karşılıklı olarak taşımak için bir yöntem olarak).

Aşırı değişim, performans nedenlerinden dolayı kaçınılması gereken bir şeydir, ancak takas alanının olması mutlaka bir sorun değildir.

Linux gibi sistemlerde, hafızayı aşan, yani işlemlerin mevcut olandan daha fazla bellek ayırmasına izin veren, RAM'in tükenmesi durumunda, durumun üstesinden gelmek için yeterli takas olmadan, OOM katilini tetikleyecektir. Öldürmek için "doğru" işlemi seçmek için kullanılan algoritmaya güvenmeli ve düzgün bir şekilde kapanma şansı verilmeksizin öldürülecek işlemlerden birini veya birkaçını kabul etmelisiniz. İşte OOM katilinin neden hiç iyi bir fikir olmadığını açıklayan ünlü bir benzetme .

Belleği aşmayan Solaris gibi sistemlerde, yani bir bellek rezervasyonunun her zaman sanal bellek tarafından desteklendiğinden emin olun, RAM'de veya diskte yeterli bir takas alanına sahip olmak kesinlikle gereklidir, aksi takdirde RAM'in potansiyel olarak önemli bir parçası olacaktır. boşa.


1
Solaris hakkındaki noktanın hala doğru olduğundan emin misiniz? blogs.oracle.com/jimlaurent/entry/solaris_faq_myths_and_facts durumları: Günümüzde sanal bellek, toplam fiziksel RAM ve takas alanının toplamından oluşur. Solaris, yapılandırılması için herhangi bir takas alanı gerektirmez. Bu seçeneği tercih ederseniz, RAM dolduktan sonra yeni işlemler başlatamazsınız. Sanırım amacın ne olduğunu anladım - eğer değiş tokuş olmadan fiziksel koçtan daha büyük bir şeyi eşleştirmek istersen? (Ne olursa olsun mmap tembel bir başlatıcıdır).
synthesizerpatel

5
Evet, Solaris hakkındaki noktamın hala doğru olduğuna eminim. Jim Laurent'in teklifinin doğru olmasına rağmen, Solaris takas talebinde bulunmasa da, takas yapmamak tüm hafıza rezervasyonlarının (yani malloc) RAM tarafından desteklenmesi gerektiği, hatta tahsis edilen hafızanın bir kısmı kullanılmadığı anlamına gelir. Bu, büyük mmap veya tmpfs ile ilişkili değildir, ancak tmpfs, Solaris ile takas yapmak isteyebileceğiniz bir nedendir (ve bunun için de Linux).
jlliagre

1
Linux için Güncelleme: aşırı alım kapatılabilir, OOM algoritması değiştirilebilir, hatta kendi OOM işleyicinizi cgroups ile bile alabilirsiniz.
peterph

1
@peterph Linux'ta fazla konuşmayı kapatmak, takas işleminin daha az bir anakronizm olmasını sağlar. Fazla ödeme yapmazsanız, tüm rezervasyonların desteklenmesi için yeterince büyük bir takas alanının olduğundan emin olmalısınız.
jlliagre

1
Bir çatal tarafından ayrılan sanal bellek, programın boyutuna göre değişir. Diyelim ki 2 GB bellek forking kullanan bir java VM'niz var, geçici olarak 2 GB daha fazla gerekecek. Bu, 2 GB'den daha az mevcut olduğunda veya aynı anda birden fazla kez olduğunda, bir veya daha fazla çatal başarısız olur. Bu, aşırı bağlı olmayan işletim sistemlerinde ve devre dışı bırakılma durumlarında Linux'ta da yaygın bir durumdur. IMHO'nun hafıza kullanımından daha iyi bir çözüm olduğu, yeterince büyük bir takas alanı olmasıyla kolayca düzeltilebilir.
jlliagre

3

Takas etmek için bir neden biliyorum. Sistemim için yapılandırabileceğim kadar hafızayı kaplayan bir uygulamam var. İşlemin bir bölümünde çatal kullanan ve tek bir unix komutu çalıştırmak için yürüten Hadoop'u kullanır (bence "uname" veya "user" veya Java için eşdeğer bulamadıkları bir şey). Java'nın yerel bir uygulama gibi yazma anlamında kopya ile vfork yapmadığı anlaşılıyor. Uygulamamı 4 Gb RAM kullanarak başlatırsam, çatal çatalladığında çatal başka bir 4 Gb RAM kullanır, ancak daha sonra hızla serbest bırakır. Eğer o Hadoop'un takas etmesi için 4GB takas olmasaydı, sadece uygulamam için 4GB'lık RAM ödemem gerekirdi.


Bu harika bir nokta, ancak modern çatalın yansıması değil () - Linux ve FreeBSD'de (ve görünüşte OSX?) Çatal () üzerine yazma kopya sayfaları kullanılarak uygulanmaktadır. Yazma üzerine kopyala (veya COW), verilerin kopyalanmasını geciktiren veya tamamen önleyen bir tekniktir. İşlem adres alanını çoğaltmak yerine, ebeveyn ve çocuk tek bir kopyayı paylaşabilir. Bununla birlikte, veriler yazılırsa, bir kopya oluşturulacak ve her işlem benzersiz bir kopya alacak şekilde işaretlenmiştir. Alıntılar: forums.freebsd.org/showthread.php?t=26355 ve çatal için Linux kılavuz sayfası ()
synthesizerpatel

Doğru olsa da, COW ile işaretlenemeyen bazı sayfalar vardır. Örneğin, yeni alt işlemin çekirdek yığını için kullanılan sayfalar ve dahili veri yapıları için kullanılan sayfalar ( files_structthe struct signals, the task_struct, and others). Ayrıca, birçok çalıştırılabilir sayfa, pozisyona bağlı kod (PIC) değildir ve bu nedenle, dinamik yükleyici ( ld-linux.so) tarafından değiştirilen çalıştırılabilir kod sayfalarının, hemen alan değiştirmek için hiçbir şey yazılmamış olsa bile, kendilerine ayrılmış takas alanı olması gerekir. Bu yüzden Linux'u seviyorum; takas özelliğini kapatabilirsiniz ve sistem hala çalışır durumdadır. :)
Azhrei

3

Tartışmaya teknik olarak ekleyemiyorum, ancak birkaç örnek verebilirim. Eski dizüstü bilgisayarım (2GB RAM kunbuntu lucid) tipik olarak 0'da swap ile çalışıyor. Toplu olarak 100 bağlantıyı kullanabilen bir dizi sel ile iletim (bittorrent istemcisi) çalıştırdığımda, takas işlemim yukarı gidebilir. 1GB gerçek bellek kullanan bir XP vm çalıştığımda daha da kötüleşiyor.

Başkalarının da grafik oluşturma gibi hafızada yoğun işlemlerin de takas yapabileceğini düşündüklerini gördüm. Bunu yalnızca zaman zaman yaparsanız, sorun olmaz.

OOM sorunlarına gelince, takas aslında bir cankurtaran olabilir, çünkü sorunu tespit etmek ve güneye giden şeyleri bulmak için size zaman kazandırır. Pek çok şey neredeyse bütün hafızamı kullanıyor, bu yüzden buna hiç dikkat etmiyorum, ama takas başladığında bunu farkettim ve sorunu aramaya başladım - beni ısırmadan önce.


Evet, eski sistemler, takas özelliği etkin olmadan çok şey yapamaz. Hala herhangi bir program başlatmak için takasın istendiği 256 MB RAM'e sahip eski bir subnotebookum var. Sorunun modern sistemleri hedef aldığına inanıyorum.
Dmitry Grigoryev

3

Takas alanı için çok güzel bir uygulama var: Takılabilir alan RAM'in sınırlamalarının üstesinden gelmek için takas alanını RAM kullanan depolama aygıtına koyarak RAM uzantısı

Bu gadget'a bir göz atın http://techreport.com/articles.x/16255 Temelde S- ATA'dan DDR2-RAM'e bir arayüz. Bunlara 64GB RAM sığdırabilirsiniz. Takas alanlarından birine yerleştirerek, önemli miktarda ek RAM elde edersiniz. Tabii ki normal sistem RAM kadar hızlı değil. Ancak, sistem RAM'ını ek bir önbellek katmanına dönüştürür.


1
Fiyatı göz önüne alındığında (549 $), 64GB RAM'i destekleyen bir anakarta 100 $ yatırım yapmak daha verimli olmaz mıydı ?
Dmitry Grigoryev

1
@DmitryGrigoryev: Tabii ki. Ama bazen (çünkü nedenler için donanım söz konusu tür kullanmak zorunda olduğunuz öksürük tıbbi sistem belgelendirme öksürük ) ama aynı zamanda çok az zaman üretilen gülünç büyük veri kümelerinde uğraşmak zorunda (tomografi tarayıcıları, datarates düşünmek> 3GiB / sn).
datenwolf

Bu durumda RAM sürücüyü tıbbi bir cihaz olarak da onaylamanız gerekmez mi? ;) Ama evet, anladım.
Dmitry Grigoryev

1
@DmitryGrigoryev: Gerçekten yapmak zorundasın. Bununla birlikte, böyle bir S-ATA RAM disk cihazının sertifikalandırılması, bütün bir anakartın sertifikalandırılmasından çok daha kolaydır. Tıbbi cihazlarda kullanılan bilgisayarları tedarik ederken, genellikle kullanıma hazır onaylı olabildiğince fazla bileşen satın alırsınız. Sertifikaya hazır hiçbir şeyin bulunmadığı parçalar için, gerekli testleri ve sertifikaları kendiniz yapın. Özellikle, hasta güvenliğine önem verilen ve verilerin tedavi planlaması için kullanılmadığı araştırmalarda çalışırken, bu, en uygun maliyetli ve en hızlı çözümdür. BT; DT.
datenwolf 21:15

3

Takas olmadan Linux ve Windows kullanıyorum (disk belleği dosyası, Windows nomenklatüründe), 4Gb veya daha fazla notebook / masaüstü bilgisayarlarda. Hafıza tükenmesi olduğunda birkaç kez var, sadece onlarla ilgileniyorum. Sistemin bu şekilde daha da kırılgan olduğunu düşünüyorum. Yine de iş yükümde özel bir gereklilik yok.

Öğrendiğim şeyler:

  • Windows zamanla belleği “kaybediyor”, 20-30 günlük çalışma süresi içinde sadece yeniden başlatmayı tercih ettiğimde bir noktaya geliyorum. Bunun neden olduğunu bilmiyorum. Sanırım bir sürücüde ya da antivirüs sızıntısı olabilir. Bir disk belleği dosyanız olduğunda, bu sızdırılmış belleği disk belleği dosyasına koyabildiğine inanıyorum, bu nedenle bu sorunu düzenli bir Windows sisteminde fark etmek daha zor olacaktır.
  • Firefox, Chrome'dan çok az bellekle daha iyi bir şekilde başa çıkıyor. Firefox sizi uyarır ve hala çalışırsa, Chrome yalnızca kilitlenir.

2

Bence argümanlarınız bir sunucu için oldukça geçerli , performansın önemli olduğu ve hangi uygulamanın daha sonra hareket edeceğini bilmek tahmin edilemez olabilir.

Bununla birlikte, bir masaüstü bilgisayar için , görevleri zorladığımda ve patlattığımda takas yöntemini yararlı buluyorum.

Örneğin, uygulamayı kullanarak bir görev üzerinde çalışıyorsam Ave ardından bir Bşey için uygulamayı kullanmam gerektiğini keşfedersem (alt görev veya kesinti), o zaman Açalışırken diski değiştirmem için zihinsel olarak daha kolay içinde Bdaha yakın Ave daha sonra daha sonra yeniden başlatmak unutmayın.

Bu özellikle A, yeniden başlatıldığında geri yüklenmeyecek kaydedilmemiş bir durumu elinde bulundurması durumunda geçerlidir .

Değiş tokuşa itme ve çekme Aişleminin daha hızlı olup olmadığı ya da kapatıp yeniden başlatmanın başlatılması, uygulamaya bağlıdır. (Bazıları yavaş başlangıç ​​yapabilir ancak küçük bir konut büyüklüğüne sahip olabilir.)

Bununla birlikte, verimliliği artırmak için daha iyi bir çözümün biraz ek RAM yüklemek olacağına katılıyorum.


Güncelleme: Bu cevabı yazdıktan sonra, çok miktarda RAM ve yavaş bir sabit disk ile bir dizüstü bilgisayar sahibi oldum. Bu durumda tavsiyem tersine döndü! İşte artılarını ve eksilerini bir özetidir .
joeytwiddle

1

Sistemimde, / tmp çok fazla RAM yerse takas yapmak için dökülüyor.

Bu, / tmp için gerçek bir dosya sistemi kullanmaktan çok daha hızlıdır.


Bu oldukça tehlikelidir - ramfs'a ihtiyacım olursa, boyutu açıkça ayarlamak için fstab (ya da seçenekler) 'de belirtiyorum. Bir programın bellek ayırma ile çılgına dönebilmesi gibi / tmp içinde dosyalar oluşturmaya başlaması muhtemeldir. Swap, ramfs dosyalarının görünmesi için kötü bir yer olabilir (özellikle ramfs hızına güveniyorsanız)
synthesizerpatel

2
Orada sık sık RAM boyutunu aştım. swap ile desteklenen tmpfs dökülmelerinde bile ext2'den çok daha hızlıdır.
Joshua,

Bilmek için faydalı - ve muhtemelen araştırılacak bir araştırma öğesi olacak - hala ram'ımı / tmp / tmpfs / ramfs vekaletiyle doldurarak bir uygulama hakkında endişeliyim. Bu bana heebie jeebies verir!
synthesizerpatel

Ardından limiti ayarlayın = takas büyüklüğü.
Joshua,

Bu arada, ramfs ve tmpfs arasındaki fark budur. rampalar yapamazken tmpfsler değiş tokuş edebilir.
Joshua

1

Takas kullanıldığında birçok neden vardır.

Genellikle, sistem yeterli fiziksel belleğe sahip olmadığında, çekirdek bazı uygulamaları (aslında - uygulamaları çalıştırmayanlar tarafından kullanılan belleğin bir kısmını) takas etmeye koyabilir.

Daha sonra, bu uygulamalar bir şey yapması gerektiğinde (örneğin, bazı veriler bir sokete gelir veya bazı zamanlayıcılar yanar) - çekirdek takas için başka bir uygulamayı koyar.

Başka bir takas kullanım örneği diske askıya alınır.

Gömülü cihazlar ile ilgili olarak tümü (en az) iki büyük gruba ayrılabilir:

  1. Linux / Windows veya benzeri RTOS olmayanlar (Real Time OS) kullanıyorlar; veya
  2. bir RTOS işletiyorlar.

Tabii ki, sadece bazı kodları çalıştıran cihazlar var (bir çeşit mikrodenetleyici).

İlk gömülü aygıt grubu (bazı işletim sistemleri çalıştıran) takas alanını kullanabilir (ve genellikle kullanırlar). Genel olarak, bu tür aygıtlar takas işlemlerini masaüstleri ve sunucularla aynı şekilde kullanır.

İkinci cihaz grubu (RTOS çalıştıran) hiç takas kullanmaz, çünkü RTOS olaya cevap verme süresini sınırlandırır ve

  • takastan okumak öngörülemeyen zaman alabilir
  • aygıtların önceden tanımlanmış (derleme zamanında) görev sayısının değiştirilmesi gerekir

BTW, linux'un takas alanını nasıl kullandığına dair birçok açıklama var, bunlardan biri http://distilledb.com/blog/archives/date/2009/02/22/swap-files-in-linux.page
Windows kullanımı benzer bir yaklaşım.


Ayrıca, eğer TuxOnIce gibi bir şey kullanmıyorsanız, hazırda bekletme modundayken (diski askıya alın) takas gerekir.
Renan,

1

Bana göre, hem hazırda bekletme hem de hibrit uykular Linux'ta değiş tokuş alanına ihtiyaç duyuyor .

Linux'ta hiçbir zaman takas alanı / bölümü kullanmadım, Hybrid Sleep kullanma zorunluluğu ile karşılaşmadım - kritik pil seviyesinde uyku olmadı, sistemimde mevcut değildi, çünkü sadece Kapat, Hazırda Beklet ve Hibrit arasında seçim yapan Upower tarafından yapıldı. -uyku. ( burada daha fazla )


0

Gördüğüm birkaç iyi kullanım, çok fazla bellek kullanan ancak performansı kritik olmayan işlemlerdir. Bir vaka, kötü bellek sızıntısı olan eski bir Firefox'du. RAM'ı dolduracak ve herhangi bir kötü etkisi olmadan değiş tokuş etmek için dökülecekti. Sahip olduğumuz bir diğeri ise özyinelemeli DNS sunucusuydu ( bunlar hızla nadiren kullanılan büyük bir önbellek oluşturur).

Takas ile ilgili gördüğüm diğer açıklama satırlar boyunca bir miktar yürüdü: "Her zaman SWAP = 2 * RAM'i yapılandırmanız söylenir. Bu tamamen saçmalıktır, RAM ile takas arasında hiçbir ilişki yoktur. , yükün RAM'e tam olarak uyması için yeterli bellek eklemeniz gerekir. Yükünüz sabitse, takas yapmanıza gerek kalmaz. Yükünüz oldukça değişkense, sivri uçlar için yeterli takas yapmanız gerekir ve swap, performansı genel olarak önemli ölçüde etkilemeyecek kadar nadiren kullanılır. Özetlemek gerekirse, yük artışlarınızın ne olduğu hakkında hiçbir fikriniz olmadığı ve disk RAM'den çok daha ucuz olduğu için SWAP = 2 * RAM'i yapılandırın. "

Solaris'in bazı eski sürümleri, en az RAM kadar takas olmadıkça takas kullanamazlardı (RAM'den çıkmak için sabit takas alanı tahsis ettiğini hatırlıyorum), bu yüzden 2 * RAM gerçekten asgari düzeyde duyarlıydı değer, kıymet. Fakat bu, büyük makinemizin 64 MiB RAM ve 1 GiB diskli olduğu zamanlardı ...

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.