माउंटेड NTFS विभाजन पर एक बड़ी फ़ाइल को टारगेट करते हुए सीपीयू के उपयोग को कैसे सीमित करें?
मैं वर्तमान में tar -cvfएक 600gb फ़ोल्डर, पृष्ठभूमि पर, बिना संपीड़न के।
मैंने देखा कि इस प्रक्रिया के दौरान मेरा उबंटू इतना पिछड़ जाता है, कि यह व्यावहारिक रूप से अनुपयोगी हो जाता है। जब मैं topदेखता हूं कि
मेरे सीपीयू का ६०% mount.ntfsकमांड लिया जाता है और मेरे सीपीयू का १५% tar।
मैं उन दो के CPU उपयोग को 30% और 10% कहने के लिए कैसे सीमित कर सकता हूं, ताकि मैं वास्तव में उसी समय अपने सिस्टम का उपयोग कर सकूं?
जवाब
सीपीयू उपयोग के बजाय डिस्क उपयोग के कारण मंदी अधिक होती है। tar600G निर्देशिका के लिए बड़े पैमाने पर पढ़ता है और लिखता है। भी संबंधित देखें पोस्ट ।
जैसा कि tarप्रक्रिया पहले से ही चल रही है, आपको कक्षा 3 की अपनी I / O प्राथमिकता का उपयोग करके, उसका pid प्राप्त करना है pidof tarया ps aux | grep tarउसका उपयोग करना है।
-सी, -क्लास नाम या शेड्यूलिंग क्लास की संख्या, 0: कोई नहीं, 1: रीयलटाइम, 2: सर्वश्रेष्ठ-प्रयास, 3: एकल
ionice -c3 -p <pid>
इससे संग्रह को अधिक समय लगेगा, क्योंकि यह डिस्क का उपयोग केवल तब करेगा जब इसका उपयोग अन्य कार्यक्रमों द्वारा नहीं किया जा रहा हो।