350 GB'lık bir VM boyutuna sahibim.
VM boyutu, kullanımda olan herhangi bir kaynağı yansıtmamaktadır ve bir sınır da değildir. Çalışan tüm işlemler için adres alanı boyutlarının toplamıdır ( ps -ax -O vsz
bunları gösterecektir). Adres alanı büyüklüğü, bu işlem tarafından bellekteki konumlara atıfta bulunmak için kullanılan en büyük sayıdır; Bu değerin altındaki hafıza bile herhangi bir amaca tahsis edilemeyebilir.
İşte bu gibi boşlukların neden olabileceğine dair bir örnek:
Birden çok program, Cocoa gibi paylaşılan kod kütüphanelerini (bazen çerçeveler olarak da bilinir) kullanabilir. Bir programı verimli bir şekilde başlatmak için, bu paylaşılan kütüphaneler, sisteminizdeki her bir kitaplığın (çoğunlukla) farklı bir sanal adreste olacak şekilde düzenlenir - bu, program yüklendiğinde, kitaplığa başvuran kodun zaten işaretleyebileceği anlamına gelir. Bu adrese ve farklı adreslerle (yer değiştirme veya dinamik bağlantı) yeniden yazılmasına gerek yoktur. Ancak her program her kütüphaneyi kullanmaz, bu yüzden boşluklar olacaktır.
(Bu konularda uzman değilim; bazı özel detaylar kapalı olabilir. Yukarıda, tam olarak gerçekte nasıl çalıştığını değil, modern bir sistemde var olabilecek bir karmaşıklık türü için bir rehber düşünün.)