Fstab में "कमिट" बढ़ाने के फायदे / नुकसान


14

मैंने अतीत में कई अस्पष्ट प्रणाली अनुकूलन किए हैं, लेकिन मैंने उनमें से अधिकांश से छुटकारा पा लिया, powertopमुझे बताया कि मुझे अपने यूएसबी पोर्ट को ऑटोससपेंड पर सेट करना चाहिए , जिसने उन्हें एक अनन्त नींद के लिए मजबूर किया, और इसके बाद भी मुझे एक उच्च स्वरुप के लाभों का एहसास हुआ ।

लेकिन आज, /etc/fstabमुझे देखते हुए , मैंने देखा कि मैंने / और / घर केcommit=60 लिए विकल्प निर्धारित किया था । मुझे याद है कि यह लैपटॉप के लिए एक अनुकूलन था, डिस्क पर लिखने की मात्रा को कम करने के लिए, इस प्रकार बैटरी की बचत। लेकिन फिर मैं चिंतित हो गया कि इससे डेटा हानि हो सकती है (कभी-कभी मेरी बैटरी डिस्कनेक्ट हो जाती है, और फिर बूट पर मुझे अनाथ इनोड्स के बारे में बताता है)।fsck

इस विकल्प के स्पष्टीकरण की तलाश करते हुए, मैं निम्नलिखित स्पष्टीकरण पर आया (दूसरा मेरी पिछली समझ के विपरीत लगता है):

$ man mount | awk '/commit=/,/^$/'
commit=nrsec
    Sync all data and metadata every nrsec seconds. The default value is 5 seconds.
    Zero means default.

https://forums.gentoo.org/viewtopic-p-4088752.html

प्रतिबद्ध = ६० "ओवर" (५ सेकंड का डिफॉल्ट) स्टॉप्स ओवर राइट्स को प्राथमिकता देता है, राइट्स को कुछ और सेकंड्स के लिए कैशिंग करता है। यह भारी रीड की स्थिति में अच्छा है और मिश्रित रूप से लिखता है, जहां उपयोगकर्ता चाहता है कि रीड्स प्राथमिकता लें, ताकि पढ़ने को जारी रखने से पहले प्रोसेसर को लिखने के लिए रुकने के लिए रुकने के बजाय व्यस्त रखा जा सके।

एक वास्तविक दुनिया का उदाहरण मैंने देखा है कि सूक्ति पुल-डाउन मेनू के प्रकट होने के लिए कई सेकंड इंतजार कर रहा है, बिना किसी कारण के। कारण यह था कि डिस्क लिखने में व्यस्त थी, इसलिए सीपीयू को लेखन को समाप्त करने के लिए इंतजार करना पड़ा, इससे पहले कि वह डिस्क से सभी डेटा प्राप्त कर सके, मेनू दिखाने में सक्षम हो।

क्या करता है प्रतिबद्ध वास्तव में करते हैं? क्या वास्तव में इसे बढ़ाने के फायदे हैं (जैसे कि जवाबदेही और बिजली की बचत)? क्या यह वास्तव में डेटा हानि का कारण हो सकता है?

जवाबों:


12

क्या करता है प्रतिबद्ध वास्तव में करते हैं?

मुझे लगता है कि सबसे अच्छे स्पष्टीकरण में से एक दिया गया था यहाँ allquixotic द्वारा ।

क्या वास्तव में इसे बढ़ाने के फायदे हैं (जैसे कि जवाबदेही और बिजली की बचत)? क्या यह वास्तव में डेटा हानि का कारण हो सकता है?

के अनुसार ext4 आधिकारिक दस्तावेज :

Ext4 को अपने सभी डेटा और मेटाडेटा को प्रत्येक 'nrsec' सेकंड में सिंक करने के लिए कहा जा सकता है। डिफ़ॉल्ट मान 5 सेकंड है। इसका मतलब है कि यदि आप अपनी शक्ति खो देते हैं , तो आप काम के नवीनतम 5 सेकंड के रूप में ज्यादा खो देंगे (आपका फाइल सिस्टम हालांकि क्षतिग्रस्त नहीं होगा, जर्नलिंग के लिए धन्यवाद)। यह डिफ़ॉल्ट मान (या कोई कम मान) प्रदर्शन को नुकसान पहुंचाएगा , लेकिन यह डेटा-सुरक्षा के लिए अच्छा है । इसे 0 पर सेट करने का डिफ़ॉल्ट (5 सेकंड) पर इसे छोड़ने के समान प्रभाव पड़ेगा। इसे सेट करना बहुत बड़े मूल्यों पर से प्रदर्शन में सुधार होगा

commitमूल्य में वृद्धि का मतलब है कि आप काम के नवीनतम एन सेकंड (जहां एन = कम अंतराल) के रूप में ज्यादा खो सकते हैं, हालांकि अधिकांश समय ऐसा नहीं होगा क्योंकि सॉफ्टवेयर अभी भी fsync को कॉल कर सकता है () और डिस्क पर लिखे गए अपने डेटा को प्राप्त कर सकता है, ओवरराइडिंग। सेटिंग करना। आप इसे "कम से कम इस बार डिस्क पर सब कुछ लिखें" के रूप में देख सकते हैं1
दूसरी ओर, इसका मतलब है कम लिखना (जो ssd उपयोगकर्ताओं के बीच इसे काफी लोकप्रिय बनाता है) और बेहतर प्रदर्शन (एकाधिक राइट्स को एक ही बड़े लेखन में संयोजित किया जाता है, कमिट समय सीमा के भीतर पिछले लेखन के अपडेट रद्द हो जाते हैं)।
जैसा कि बिजली की बचत है, इस पृष्ठ के अनुसार , यह पता चला है कि आजकल बढ़ते commitमूल्य से बिजली की बचत नहीं होती है।


1
मुझे लगता है कि कुछ बिजली की बचत इस वजह से होती है कि एक्सटेंट + विलंबित आवंटन एचडीडी का प्रयास बेहतर ढंग से अनुकूलित कर सकते हैं। लेकिन यह शायद महत्वपूर्ण नहीं है।
पीटर - मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.