ZFS कोड procfs के माध्यम से विभिन्न आँकड़ों की रिपोर्ट करता है। एआरसी के आकार को निर्धारित करने के लिए, /proc/spl/kstat/zfs/arcstats
(विशेष रूप से, प्रथागत के रूप में / खरीद पर मुहिम शुरू की गई) को देखें c
, c_max
और , और size
। ( ओरेकल कम्युनिटी फोरम पर इस पोस्ट को भी देखें । ओरेकल साइट अनुपलब्ध होने की स्थिति में वैकल्पिक इंटरनेट आर्काइव कॉपी ।)
c
है लक्ष्य आकार बाइट्स में एआरसी की
c_max
है अधिकतम आकार बाइट्स में एआरसी की
size
है वर्तमान आकार बाइट्स में एआरसी की
ARC का अधिकतम आकार या तो एक zfs_arc_max=N
पैरामीटर को zfs
मॉड्यूल (modprobe के माध्यम से) में समायोजित करके समायोजित किया जा सकता है , जहां N
बाइट्स में ARC का अधिकतम आकार होता है, या बाइट्स में नया अधिकतम आकार लिखकर मक्खी पर /sys/module/zfs/parameters/zfs_arc_max
।
लिनक्स पर ZFS को कैसे लागू किया जाता है, इसकी वजह से ARC मेमोरी कैश मेमोरी की तरह व्यवहार करती है (उदाहरण के लिए, यह सिस्टम मेमोरी के दबाव में आने पर बेदखल हो जाता है), लेकिन कर्नेल द्वारा साधारण मेमोरी आवंटन के रूप में एकत्र किया जाता है। इससे भ्रम की स्थिति पैदा हो सकती है क्योंकि सिस्टम को कम मुक्त मेमोरी की तुलना में वर्तमान सिस्टम वर्कलोड दिए जाने की उम्मीद है, लेकिन यह सामान्य है।
मेगाबाइट में एआरसी आकार प्राप्त करने के लिए, आप कुछ का उपयोग कर सकते हैं awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats
। (1,048,576 मेगाबाइट को बाइट्स की संख्या है।)
उदाहरण के लिए, मेरा सिस्टम (जो ZFS लगभग विशेष रूप से उपयोग करता है) रिपोर्ट कर सकता है
$ 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
$
जिसका अर्थ है कि वर्तमान में निवासी प्रक्रियाओं द्वारा वास्तविक मेमोरी उपयोग लगभग 8,669 एमबी (16,808 एमबी 8,139 एमबी से कम) है।