4 पॉइंट द्वारा computerphilosopher 2025-06-30 | अभी कोई टिप्पणी नहीं है. | WhatsApp पर शेयर करें

1. अवलोकन

  • ZFS फ़ाइलसिस्टम के कैश (ARC) में होने वाली thrashing समस्या की परिभाषा, निदान, प्रतिक्रिया और रोकथाम के उपायों का सार

2. ZFS ARC thrashing की परिभाषा

  • अवधारणा: लगातार cache hit विफल होने के कारण cache item का बार-बार replacement (eviction) होना, जिससे सिस्टम प्रदर्शन बेहतर होने के बजाय गिर जाता है
  • प्रभाव: हाई-परफॉर्मेंस I/O वातावरण (जैसे database server) में गंभीर सेवा बाधा पैदा हो सकती है

3. प्रमुख निदान लक्षण

  • CPU iowait मान 20% से अधिक लगातार बना रहना
  • CPU system mode उपयोग दर का सामान्य स्तर की तुलना में बढ़ना
  • cache hit rate में गिरावट (सामान्य डेटा के साथ तुलना आवश्यक)
  • मुख्य लक्षण: arc_prune, arc_evict kernel thread का CPU उपयोग 90% से अधिक हो तो thrashing निश्चित है

4. आपातकालीन प्रतिक्रिया उपाय

  • कार्रवाई: Linux फ़ाइलसिस्टम cache को मैन्युअली हटाना
  • कमांड: echo 3 > /proc/sys/vm/drop_caches
  • प्रभाव: page cache और slab object दोनों साथ में हट जाते हैं
  • विशेषताएँ:
    • डिस्क पर अभी तक नहीं लिखे गए data (dirty item) सुरक्षित रहते हैं, इसलिए data loss नहीं होता (non-destructive)
    • कमांड चलाने के तुरंत बाद cache दोबारा भरने तक अस्थायी performance गिरावट हो सकती है

5. मूलभूत रोकथाम

  • कारण: सिस्टम workload की तुलना में आवंटित ARC cache आकार का कम होना
  • ARC आकार (zfs_arc_max):
    • डिफ़ॉल्ट मान पहले से ही सिस्टम मेमोरी का 1/2 (Linux मानक) होता है, जो काफ़ी बड़ा है
    • यह अन्य application के साथ memory contention पैदा कर सकता है, इसलिए इसे बिना सोचे-समझे बढ़ाना कठिन है
  • समाधान:
    • अगर अन्य application की memory usage अधिक है, तो contention रोकने के लिए zfs_arc_max मान कम करें
    • मूल समस्या के समाधान के लिए physical memory बढ़ाना (Scale-up) सबसे विश्वसनीय तरीका है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.