ZFS kodu procfs aracılığıyla çeşitli istatistikleri rapor eder. En ARC büyüklüğü, önceki belirlemek için /proc/spl/kstat/zfs/arcstatsiçin (varsayarak procfs alışılmış olarak, ilgili / proc monte), özellikle değerleri c, c_maxve size. ( Oracle Community forumundaki bu gönderiye de bakın . Oracle sitesinin kullanılamaması durumunda Alternatif İnternet Arşivi kopyası .)
colan hedef boyutu bayt cinsinden ARC
c_maxbir en büyük boyut bayt ARC
sizeolan geçerli boyutu bayt ARC
ARC'nin maksimum boyutu modüle bir zfs_arc_max=Nparametre geçirilerek zfs(modprobe ile), burada Nbayt cinsinden maksimum ARC boyutu veya bayt cinsinden yeni maksimum boyut yazarak anında ayarlanabilir /sys/module/zfs/parameters/zfs_arc_max.
Linux'ta ZFS'nin nasıl uygulandığı nedeniyle, ARC belleği önbellek gibi davranır (örneğin, sistem bellek baskısı altına girerse çıkarılır), ancak çekirdek tarafından sıradan bellek ayırmaları olarak toplanır . Sistem, mevcut sistem iş yükü göz önüne alındığında beklenenden çok daha az boş hafızaya sahip gibi göründüğü için karışıklığa neden olabilir, ancak normaldir.
ARC boyutunu megabayt olarak almak için, benzer bir şey kullanabilirsiniz awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats. (1.048.576 megabayta bayt sayısıdır.)
Örneğin, sistemim (neredeyse tamamen ZFS kullanan)
$ free -m
total used free shared buffers cached
Mem: 32194 17948 14245 0 158 982
-/+ buffers/cache: 16808 15386
Swap: 49152 0 49152
$ awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats
size 8138.73
$
yani şu anda yerleşik işlemlerle gerçek bellek kullanımı yaklaşık 8,669 MB'dir (16,808 MB 8,139 MB azalır).