केवल एक चीज जिसके बारे में मैं सोच सकता हूं वह यह जांचना है कि mysqld वास्तव में उपयोगकर्ता रूट के रूप में स्ट्रेस का उपयोग करके क्या कर रहा है:
strace -p 2959
आम तौर पर, स्ट्रेस को तुरंत ब्लॉक करना चाहिए और आपको चयन करने के लिए एक कॉल दिखाना चाहिए (), क्योंकि mysqld को कनेक्शन की प्रतीक्षा करनी चाहिए।
कॉल कुछ इस तरह होनी चाहिए:
select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)
चौथा पैरामीटर विशेष रूप से महत्वपूर्ण है, जो एक टाइमआउट टाइमवल है। यदि NULL है, तो इसका मतलब है कि mysqld तब तक सोएगा जब तक कि कोई कनेक्ट न हो जाए। यदि NULL नहीं है, तो इसका मतलब है कि mysqld निर्दिष्ट समय की प्रतीक्षा करेगा और फिर कुछ रखरखाव कार्य करेगा। बहुत कम समयावधि CPU खपत की व्याख्या कर सकती है।
मेरा मानना है कि MySQL हमेशा एक NULL (अनंत) टाइमआउट नियोजित करता है। यह समझ में आता है और अब मैं जिन mysqlds तक पहुंचने में सक्षम हूं, वे इस तरह से व्यवहार कर रहे हैं।
हालाँकि, कुछ कनेक्शन हैंडलिंग समस्याएँ हो सकती हैं जो चयन को फिर से सोने से रोकती हैं। जांचें कि क्या यह व्यवहार mysqld के प्रारंभ होते ही, या किसी के कनेक्ट होने के बाद प्रकट होता है।