मुझे नहीं पता कि क्या मैंने पहले उच्च कॉन्फ़िगरेशन वाले वीपीएस होस्ट का उपयोग किया था, या क्या नए स्थानांतरित अलीबाबा क्लाउड हांगकांग वीपीएस होस्ट के प्रदर्शन में कोई समस्या है, संक्षेप में, हर बार जब मैं रात में साइट खोदता हूं होस्ट अस्थिर हो जाता है और सिस्टम लोड अचानक अधिक हो जाता है। सर्वर लॉग विश्लेषण टूल: ngxtop और GoAccess का उपयोग करके, आप यह भी पता लगा सकते हैं कि कुछ IP लगातार सर्वर पोर्ट और WP पृष्ठभूमि को स्कैन कर रहे हैं।
हालाँकि, सबसे हैरान करने वाली बात यह है कि WP बैकग्राउंड में प्रवेश करने के बाद, मैंने एक ब्राउज़र के साथ एक ही समय में एक दर्जन से अधिक पेज खोले, और वास्तविक समय में VPS सिस्टम लोड को ट्रैक करने के लिए टॉप कमांड का उपयोग किया, और पाया कि लोड बढ़ गया है एक सीधी रेखा में, मूल स्तर के कुछ दसवें हिस्से से 3 या अधिक तक। फिर, आप पाएंगे कि वेबसाइट की पहुंच धीमी हो गई है और प्रतिक्रियाओं में देरी हो रही है। इससे मुझे आश्चर्य होता है कि क्या मैंने नकली अलीबाबा क्लाउड वीपीएस होस्ट खरीदा है।
यदि आपने भी मेरी तरह ही समस्या का सामना किया है, तो आप एक व्यापक "सीपीयू, मेमोरी, डिस्क आईओ, नेटवर्क कार्ड ट्रैफिक, सिस्टम प्रोसेस, पोर्ट ऑक्यूपेंसी, आदि" बनाने के लिए इस आलेख में पेश किए गए लिनक्स सिस्टम मॉनिटरिंग कमांड का पालन करने का प्रयास कर सकते हैं आपका वीपीएस होस्ट अनुभव"। वीपीएस होस्ट वास्तव में हर पैसे के लायक हैं। सस्ते वीपीएस होस्ट वास्तव में वर्डप्रेस जैसे गतिशील प्रोग्राम चलाने के लिए उपयुक्त नहीं हैं।
अधिक Linux VPS उपयोगिता टूल के लिए, आप यह भी आज़मा सकते हैं:
- लिनक्स वीपीएस गूगल ड्राइव और ड्रॉपबॉक्स को माउंट करता है-वीपीएस होस्ट डेटा सिंक्रनाइज़ेशन और बैकअप का एहसास करता है
- वीपीएस सर्वर की प्रामाणिकता का पता लगाने में आपकी मदद करने के लिए तीन निःशुल्क उपकरण - वीपीएस होस्ट प्रदर्शन और गति परीक्षण विधियां
- वर्डप्रेस टिप्पणी वीचैट अधिसूचना और ईमेल अनुस्मारक-सर्वर सॉस और तृतीय-पक्ष एसएमटीपी ईमेल भेजना
यह आलेख दो भागों में विभाजित है: यदि आप पहले से ही जानते हैं कि एक निश्चित मॉनिटरिंग कमांड का उपयोग कैसे करें, तो आप इसे सीधे लिनक्स सिस्टम मॉनिटरिंग कमांड क्विक रेफरेंस मैनुअल में खोज सकते हैं। ऊपरी भाग में एक खोज बॉक्स है तालिका के दाएँ कोने पर आप अपने इच्छित फ़ंक्शन या कमांड को शीघ्रता से खोजने के लिए इसे दर्ज कर सकते हैं। यदि आप किसी निश्चित कमांड से परिचित नहीं हैं, तो आप क्रोम ब्राउज़र के वेब पेज देखने के फ़ंक्शन शॉर्टकट कुंजी: ctrl+f का उपयोग कर सकते हैं, और सीधे विवरण पर जाने के लिए कमांड दर्ज कर सकते हैं।
पीएस: 14 अप्रैल, 2018 को अपडेट किया गया, लिनक्स में एक बहुत ही उपयोगी कमांड क्रोंटैब भी है, जिसका उपयोग नियमित रूप से कार्यों को निष्पादित करने के लिए किया जाता है संदर्भ: लिनक्स क्रोंटैब कमांड शेड्यूल किए गए कार्यों का मूल सिंटैक्स और ऑपरेशन ट्यूटोरियल-वीपीएस/सर्वर ऑटोमेशन .
शून्य, लिनक्स सिस्टम मॉनिटरिंग कमांड त्वरित संदर्भ मैनुअल
आदेश | समारोह | उपयोग के उदाहरण |
---|---|---|
मुक्त | भौतिक मेमोरी और वर्चुअल मेमोरी सहित मेमोरी उपयोग देखें | मुफ़्त -एच या मुफ़्त -एम |
vmstat | कर्नेल प्रक्रियाओं, वर्चुअल मेमोरी, डिस्क, ट्रैप और सीपीयू गतिविधि पर आँकड़े सहित समग्र सिस्टम पर आँकड़े प्रदान करता है। | वीएमस्टैट 2 100 |
शीर्ष | सिस्टम में संसाधन उपयोग और प्रत्येक प्रक्रिया की समग्र स्थिति का वास्तविक समय प्रदर्शन | शीर्ष |
एमपीस्टेट | रीयल-टाइम सिस्टम मॉनिटरिंग टूल जो सीपीयू से संबंधित आंकड़ों की रिपोर्ट करता है | एमपीस्टेट |
एसएआर | सीपीयू, मेमोरी, इनपुट और आउटपुट पोर्ट उपयोग को एकत्रित करें, रिपोर्ट करें और सहेजें | सार-एन देव 3 100 |
नेटस्टैट | आईपी, टीसीपी, यूडीपी और आईसीएमपी प्रोटोकॉल से संबंधित आंकड़े प्रदर्शित करने के लिए मशीन के प्रत्येक पोर्ट के नेटवर्क कनेक्शन की जांच करें | नेटस्टैट-ए |
tcpdump | नेटवर्क पर एक निर्दिष्ट इंटरफ़ेस पर प्राप्त या प्रसारित टीसीपी/आईपी पैकेट को कैप्चर या फ़िल्टर करने के लिए उपयोग किया जाता है | tcpdump -i eth0 -c 3 |
आईपीट्रैफ़ | टीसीपी जानकारी, यूडीपी गणना, आईसीएमपी और ओएसपीएफ जानकारी, ईथरनेट लोड जानकारी, नोड स्थिति जानकारी, आईपी चेकसम त्रुटियों आदि सहित सांख्यिकीय डेटा उत्पन्न करने के लिए उपयोग किया जाता है। | iptraf |
जगह | लिनक्स फ़ाइल सिस्टम के डिस्क स्थान उपयोग की जाँच करें | डीएफ-एच |
iostat | सिस्टम स्टोरेज डिवाइस इनपुट और आउटपुट स्थिति आँकड़े एकत्र और प्रदर्शित करें | iostat -x -k 2 100 |
iotop | डिस्क I/O उपयोग की निगरानी के लिए शीर्ष उपकरण | iotop |
lsof | सभी खुली फाइलों और प्रक्रियाओं को सूची के रूप में प्रदर्शित करने के लिए उपयोग किया जाता है | lsof |
ऊपर | जो दिखाया गया है वह विभिन्न सिस्टम संसाधनों (सीपीयू, मेमोरी, नेटवर्क, आई/ओ, कर्नेल) का संयोजन है, और उच्च लोड स्थितियों के तहत रंगीन है। | ऊपर |
htop | यह शीर्ष कमांड के समान है, एक उन्नत इंटरैक्टिव रीयल-टाइम लिनक्स प्रक्रिया निगरानी उपकरण। | htop |
पी.एस. | सबसे बुनियादी लेकिन बहुत शक्तिशाली प्रक्रिया देखने का आदेश | पुनश्च औक्स |
दृष्टि | सीपीयू, लोड औसत, मेमोरी, नेटवर्क ट्रैफ़िक, डिस्क I/O, अन्य प्रोसेसर और फ़ाइल सिस्टम स्थान उपयोग की निगरानी करें | दृष्टि |
dstat | एक ऑल-इन-वन सिस्टम सूचना सांख्यिकी उपकरण जिसका उपयोग vmstat, iostat, Netstat, nfsstat और ifstat कमांड को बदलने के लिए किया जा सकता है। | dstat |
अपटाइम | यह जांचने के लिए उपयोग किया जाता है कि सर्वर कितने समय से चल रहा है और कितने उपयोगकर्ता लॉग इन हैं, और सर्वर के लोड को तुरंत जानने के लिए। | अपटाइम |
dmesg | मुख्य रूप से कर्नेल जानकारी प्रदर्शित करने के लिए उपयोग किया जाता है। मशीन हार्डवेयर विफलताओं का प्रभावी ढंग से निदान करने या हार्डवेयर समस्याओं को जोड़ने के लिए dmesg का उपयोग करें। | dmesg |
एमपीस्टेट | मल्टी-चैनल सीपीयू होस्ट के प्रत्येक सीपीयू की गतिविधि, साथ ही पूरे होस्ट की सीपीयू स्थिति की रिपोर्ट करने के लिए उपयोग किया जाता है। | एमपीस्टेट 2 3 |
nmon | सीपीयू, मेमोरी, I/O, फ़ाइल सिस्टम और नेटवर्क संसाधनों की निगरानी करें। मेमोरी उपयोग के लिए, यह वास्तविक समय में कुल/शेष मेमोरी, स्वैप स्थान और अन्य जानकारी प्रदर्शित कर सकता है। | nmon |
मेरा शीर्ष | MySQL के थ्रेड्स और प्रदर्शन की निगरानी के लिए उपयोग किया जाता है। यह आपको आपके डेटाबेस का वास्तविक समय दृश्य देता है और कौन से प्रश्नों पर कार्रवाई की जा रही है। | मेरा शीर्ष |
iftop | नेटवर्क कार्ड के वास्तविक समय ट्रैफ़िक (नेटवर्क सेगमेंट निर्दिष्ट कर सकते हैं), रिवर्स आईपी रिज़ॉल्यूशन, पोर्ट जानकारी प्रदर्शित करने आदि की निगरानी के लिए उपयोग किया जाता है। | iftop |
jnettop | नेटवर्क ट्रैफ़िक को उसी तरह से मॉनिटर करें लेकिन iftop की तुलना में अधिक दृष्टि से। यह अनुकूलित टेक्स्ट आउटपुट का भी समर्थन करता है और मैत्रीपूर्ण और इंटरैक्टिव तरीके से लॉग का गहराई से विश्लेषण कर सकता है। | jnettop |
ngrep | नेटवर्क परत के लिए grep. यह pcap का उपयोग करता है और विस्तारित नियमित अभिव्यक्तियों या हेक्साडेसिमल अभिव्यक्तियों को निर्दिष्ट करके मिलान पैकेट की अनुमति देता है। | ngrep |
nmap | आपके सर्वर के खुले पोर्ट को स्कैन कर सकता है और पता लगा सकता है कि किस ऑपरेटिंग सिस्टम का उपयोग किया जा रहा है | nmap |
खर्च करना | लिनक्स सिस्टम में निर्देशिका का आकार जांचें | डु -श निर्देशिका नाम |
fdisk | हार्ड ड्राइव और विभाजन की जानकारी देखें | एफडिस्क -एल |
1. मेमोरी मॉनिटरिंग
1.1 निःशुल्क कमांड
free
का उपयोग भौतिक मेमोरी और वर्चुअल मेमोरी सहित VPS होस्ट की मेमोरी उपयोग को तुरंत जांचने के लिए किया जा सकता है। आप बाद में पैरामीटर जोड़ सकते हैं: -h और -m, अन्यथा यह डिफ़ॉल्ट रूप से kb में प्रदर्शित होगा। कमांड चलाने के परिणाम इस प्रकार हैं:
प्रासंगिक पैरामीटर विवरण:
कुल: भौतिक मेमोरी आकार, जो मशीन की वास्तविक मेमोरी है
इस्तेमाल किया गया: द्वारा उपयोग किया गया मेमोरी आकार। इस मान में कैश्ड और वास्तव में एप्लिकेशन द्वारा उपयोग की गई मेमोरी शामिल है।
मुफ़्त: अप्रयुक्त मेमोरी आकार
साझा: साझा मेमोरी आकार, जो अंतर-प्रक्रिया संचार का एक तरीका है
बफ़र्स: बफ़र्स द्वारा कब्जा की गई मेमोरी का आकार
कैश्ड: कैश द्वारा व्याप्त मेमोरी का आकार
1.2 वीएमस्टैट कमांड
vmstat
(वर्चुअल मेमोरी स्टैटिस्टिक्स, वर्चुअल मेमोरी स्टैटिस्टिक्स) सिस्टम की समग्र स्थिति का एक आँकड़ा है, जिसमें कर्नेल प्रक्रियाओं, वर्चुअल मेमोरी, डिस्क, ट्रैप और सीपीयू गतिविधियों के आँकड़े शामिल हैं। कमांड प्रारूप: vmstat 2 100
, जहां 2 ताज़ा अंतराल का प्रतिनिधित्व करता है और 100 आउटपुट की संख्या का प्रतिनिधित्व करता है। कमांड चलाने के परिणाम इस प्रकार हैं:
प्रासंगिक पैरामीटर विवरण:
1 प्रोसेस
- r कॉलम सीपीयू समय स्लाइस के लिए चल रही और प्रतीक्षा कर रही प्रक्रियाओं की संख्या को दर्शाता है। यदि यह मान लंबे समय तक सिस्टम सीपीयू की संख्या से अधिक है, तो इसका मतलब है कि सीपीयू संसाधन अपर्याप्त हैं सीपीयू बढ़ाने पर विचार कर सकते हैं ;
- कॉलम b संसाधनों की प्रतीक्षा करने वाली प्रक्रियाओं की संख्या को इंगित करता है, जैसे कि I/O या मेमोरी स्वैपिंग की प्रतीक्षा करना।
2 यादें
- swpd कॉलम मेमोरी स्वैप क्षेत्र (KB में) में स्विच की गई मेमोरी की मात्रा को दर्शाता है। यदि swpd का मान 0 नहीं है या अपेक्षाकृत बड़ा है, और si और so का मान लंबे समय तक 0 है, तो आम तौर पर इस स्थिति के बारे में चिंता करने की कोई आवश्यकता नहीं है, और यह सिस्टम के प्रदर्शन को प्रभावित नहीं करेगा;
- मुक्त कॉलम मुक्त भौतिक मेमोरी की वर्तमान मात्रा (KB में) को दर्शाता है;
- बफ़ कॉलम बफ़र्स कैश में मेमोरी की मात्रा का प्रतिनिधित्व करता है, आम तौर पर, ब्लॉक डिवाइस को पढ़ने और लिखने के लिए बफरिंग की आवश्यकता होती है;
- कैश कॉलम पेज कैश्ड मेमोरी की मात्रा को इंगित करता है, यह आम तौर पर फ़ाइल सिस्टम के लिए कैश किया जाता है। यदि कैश मान बड़ा है, तो इसका मतलब है कि अधिक कैश्ड फ़ाइलें हैं। यदि इस समय IO में bi अपेक्षाकृत छोटा है, तो इसका मतलब है कि फ़ाइल सिस्टम दक्षता बेहतर है।
3 अदला-बदली
- si कॉलम डिस्क से मेमोरी स्वैप क्षेत्र में स्थानांतरित की गई मेमोरी की मात्रा को इंगित करता है;
- तो कॉलम मेमोरी से डिस्क में स्थानांतरित की गई राशि का प्रतिनिधित्व करता है, अर्थात, मेमोरी में दर्ज किए गए मेमोरी स्वैप क्षेत्र की मात्रा
- सामान्य परिस्थितियों में, si और so दोनों का मान 0 होता है। यदि लंबे समय तक si और so दोनों का मान 0 नहीं होता है, तो इसका मतलब है कि सिस्टम मेमोरी अपर्याप्त है, और आपको इसकी आवश्यकता है विचार करें कि सिस्टम मेमोरी को बढ़ाया जाए या नहीं।
4आईओ
- bi कॉलम ब्लॉक डिवाइस से पढ़े गए डेटा की कुल मात्रा का प्रतिनिधित्व करता है (यानी डिस्क, यूनिट KB/सेकंड पढ़ें)
- bo कॉलम ब्लॉक डिवाइस पर लिखे गए डेटा की कुल मात्रा का प्रतिनिधित्व करता है (यानी, डिस्क पर लिखना, KB/सेकंड में)
यहां सेट bi+bo संदर्भ मान 1000 है, यदि यह 1000 से अधिक है, और एक अपेक्षाकृत बड़ा wa मान सिस्टम डिस्क IO प्रदर्शन बाधा को इंगित करता है।5 सिस्टम
- कॉलम में एक निश्चित समय अंतराल में प्रति सेकंड देखे गए डिवाइस इंटरप्ट की संख्या को दर्शाता है;
- cs कॉलम प्रति सेकंड उत्पन्न संदर्भ स्विच की संख्या का प्रतिनिधित्व करता है।
उपरोक्त दो मान जितने बड़े होंगे, आप कर्नेल द्वारा खपत किया गया उतना ही अधिक CPU समय देखेंगे।6 सीपीयू
- us कॉलम उपयोगकर्ता प्रक्रिया द्वारा सीपीयू खर्च किए गए समय का प्रतिशत दिखाता है। जब हमारा मूल्य अपेक्षाकृत अधिक होता है, तो इसका मतलब है कि उपयोगकर्ता प्रक्रिया में बहुत अधिक CPU समय लगता है। यदि यह लंबे समय तक 50% से अधिक है, तो आपको प्रोग्राम या कुछ और को अनुकूलित करने पर विचार करने की आवश्यकता है।
- sy कॉलम कर्नेल प्रक्रिया द्वारा CPU द्वारा उपभोग किए गए समय का प्रतिशत दिखाता है। जब sy का मान अपेक्षाकृत अधिक होता है, तो इसका मतलब है कि कर्नेल बहुत अधिक CPU समय की खपत करता है; यदि us+sy 80% से अधिक है, तो इसका मतलब है कि CPU संसाधन अपर्याप्त हैं।
- आईडी कॉलम सीपीयू के निष्क्रिय रहने का प्रतिशत दिखाता है;
- wa कॉलम IO प्रतीक्षा में लगे CPU समय के प्रतिशत को दर्शाता है। wa मान जितना अधिक होगा, IO प्रतीक्षा उतनी ही गंभीर होगी। यदि wa मान 20% से अधिक है, तो इसका मतलब है कि IO प्रतीक्षा गंभीर है।
- st कॉलम आमतौर पर चिंता का विषय नहीं है, वर्चुअल मशीन द्वारा लगाए गए समय का प्रतिशत।
2. सीपीयू मॉनिटरिंग
2.1 टॉप कमांड
टॉप कमांड लिनक्स के तहत आमतौर पर इस्तेमाल किया जाने वाला प्रदर्शन विश्लेषण उपकरण है, जो वास्तविक समय में सिस्टम में प्रत्येक प्रक्रिया के संसाधन उपयोग और समग्र स्थिति को प्रदर्शित कर सकता है। चल रहे परिणाम इस प्रकार हैं:
संबंधित पैरामीटर विवरण:
पहली पंक्ति:
- 14:36:09: यह wzfou.com परीक्षण के दौरान सिस्टम समय है
- up xxx दिन, 11:13: सिस्टम चलने का समय, सिस्टम xx दिन, 11 घंटे और 13 मिनट से चल रहा है।
- 2 उपयोगकर्ता: वर्तमान में लॉग इन उपयोगकर्ताओं की संख्या
- लोड औसत: सिस्टम लोड, यानी कार्य कतार की औसत लंबाई। तीन मान क्रमशः अंतिम मिनट, अंतिम 5 मिनट और अंतिम 15 मिनट में औसत लोड हैं - N (सीपीयू कोर की संख्या) से अधिक है, यह दर्शाता है कि सिस्टम पूर्ण लोड पर चल रहा है . आप लोड औसत को
$w
या$uptime
कमांड के माध्यम से भी देख सकते हैं।दूसरी पंक्ति:
- प्रक्रियाओं की कुल संख्या, चल रही प्रक्रियाओं की संख्या, निष्क्रिय प्रक्रियाओं की संख्या, रुकी हुई प्रक्रियाओं की संख्या और ज़ोंबी प्रक्रियाओं की संख्या प्रदर्शित करता है
तीसरी पंक्ति:
- %us: उपयोगकर्ता प्रक्रिया द्वारा उपभोग किए गए CPU का प्रतिशत
- %sy: कर्नेल प्रक्रिया द्वारा खपत सीपीयू का प्रतिशत
- %ni: उन प्रक्रियाओं द्वारा उपयोग किए गए CPU का प्रतिशत जिन्होंने अपनी प्राथमिकता बदल दी है
- %id: निष्क्रिय सीपीयू का प्रतिशत
- %wa: IO प्रतीक्षा द्वारा खपत CPU प्रतिशत
2.2 एमपीस्टेट कमांड
mpstat (मल्टीप्रोसेसर सांख्यिकी, मल्टीप्रोसेसर सांख्यिकी) एक वास्तविक समय प्रणाली निगरानी उपकरण है जो सीपीयू से संबंधित सांख्यिकीय जानकारी की रिपोर्ट करता है, जो /proc/stat फ़ाइल में संग्रहीत होती है। प्रारूप: mpstat -P ALL 2
# ALL का अर्थ है सभी CPU को प्रदर्शित करना, या आप एक निश्चित CPU 2 का अर्थ ताज़ा अंतराल निर्दिष्ट कर सकते हैं;
आदेश प्रभाव इस प्रकार है:
3. नेटवर्क निगरानी
3.1 एसएआर कमांड
SAR एक कमांड है जिसका उपयोग यूनिक्स और लिनक्स ऑपरेटिंग सिस्टम में CPU, मेमोरी, और इनपुट और आउटपुट पोर्ट के उपयोग को इकट्ठा करने, रिपोर्ट करने और सहेजने के लिए किया जाता है। SAR कमांड गतिशील रूप से रिपोर्ट तैयार कर सकता है या लॉग फ़ाइलों में रिपोर्ट सहेज सकता है। कमांड प्रारूप: sar -n DEV 3 100
। प्रभाव इस प्रकार है:
प्रासंगिक मापदंडों को इस प्रकार समझाया गया है:
आईफेस: नेटवर्क डिवाइस का नाम
rxpck/s: प्रति सेकंड प्राप्त पैकेटों की संख्या
txpck/s: प्रति सेकंड भेजे गए पैकेटों की संख्या
rxkB/s: प्रति सेकंड प्राप्त बाइट्स की संख्या
txkB/s: प्रति सेकंड भेजे गए बाइट्स की संख्या
3.2 नेटस्टैट
netstat
कमांड का उपयोग आम तौर पर मशीन के प्रत्येक पोर्ट के नेटवर्क कनेक्शन की जांच करने और आईपी, टीसीपी, यूडीपी और आईसीएमपी प्रोटोकॉल से संबंधित सांख्यिकीय डेटा प्रदर्शित करने के लिए किया जाता है।
कुछ विकल्प इस प्रकार चुनें:
-a, --all, --listening 显示所有连接中的Socket。
-n, --numeric 以数字形式显示地址和端口号。
-t, -–tcp 显示TCP传输协议的连线状况。
-u, -–udp 显示UDP传输协议的连线状况。
-p, --programs 显示正在使用socket的程序名/进程ID
-l, --listening 显示监控中的服务器的Socket。
-o, --timers 显示计时器。
-s, --statistics 显示每个网络协议的统计信息(比如SNMP)
-i, --interfaces 显示网络界面信息表单(网卡列表)
-r, --route 显示路由表
आमतौर पर इस्तेमाल किये जाने वाले:
$ netstat -aup # 输出所有UDP连接状况
$ netstat -atp # 输出所有TCP连接状况
$ netstat -s # 显示各个协议的网络统计信息
$ netstat -i # 显示网卡列表
$ netstat -r # 显示路由表信息
नेटस्टैट हमलों से बचाव में बहुत उपयोगी है। wzfou.com द्वारा आमतौर पर उपयोग किया जाने वाला एक उदाहरण इस प्रकार है:
netstat -n -p|grep SYN_REC | wc -l
उपरोक्त कमांड यह पता लगा सकता है कि वर्तमान सर्वर में कितने सक्रिय SYNC_REC कनेक्शन हैं। आम तौर पर, यह मान बहुत छोटा होता है, अधिमानतः 5 से कम। जब DoS हमले या मेल बम होते हैं, तो यह मान काफी अधिक होता है। इसके अलावा, इस मान का सिस्टम से बहुत संबंध है। कुछ सर्वरों का मान बहुत अधिक है, जो सामान्य है।
netstat -n -p | grep SYN_REC | sort -u
उपरोक्त आदेश सभी जुड़े हुए आईपी पतों को सूचीबद्ध कर सकता है।
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
उपरोक्त कमांड SYN_REC कनेक्शन भेजने वाले सभी नोड्स के आईपी पते को सूचीबद्ध कर सकता है।
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
उपरोक्त कमांड प्रत्येक होस्ट से स्थानीय मशीन तक कनेक्शन की संख्या की गणना करने के लिए नेटस्टैट कमांड का उपयोग कर सकता है।
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
उपरोक्त कमांड इस मशीन से जुड़े सभी यूडीपी या टीसीपी कनेक्शन के आईपी नंबरों को सूचीबद्ध कर सकता है।
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
उपरोक्त आदेश स्थापित कनेक्शनों की जांच करता है और प्रति आईपी पते पर कनेक्शनों की संख्या सूचीबद्ध करता है।
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
उपरोक्त कमांड इस मशीन के पोर्ट 80 से जुड़े सभी आईपी पते और उनके कनेक्शन की संख्या को सूचीबद्ध कर सकता है। पोर्ट 80 का उपयोग आमतौर पर HTTP वेब पेज अनुरोधों को संभालने के लिए किया जाता है।
सीसी हमलों से बचाव के लिए, आप पता लगाने के लिए निम्नलिखित तरीकों का भी उपयोग कर सकते हैं:
सभी पोर्ट 80 के लिए कनेक्शनों की संख्या देखें
- नेटस्टैट -nat|grep -i "80"|wc -l
कनेक्टेड आईपी को कनेक्शन की संख्या के आधार पर क्रमबद्ध करें
- नेटस्टैट -एएनपी |। ग्रेप 'टीसीपी|यूडीपी' |। कट -डी: -सी सॉर्ट |
- नेटस्टैट -एनटीयू | awk '{प्रिंट $5}' |। कट -डी: -एफ1 |
- नेटस्टैट -एनटीयू | 0-9]{1,3}" | सॉर्ट | यूनिक -सी | सॉर्ट -एनआर
टीसीपी कनेक्शन स्थिति देखें
- नेटस्टैट -नैट |awk '{प्रिंट $6}'|सॉर्ट|यूनीक -सी|सॉर्ट -आरएन
- नेटस्टैट -एन | awk '/^tcp/ {प्रिंट $NF}'|sort|uniq -c|sort -rn
- नेटस्टैट -एन | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
- नेटस्टैट -एन | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"t",state[key]}'
- नेटस्टैट -एन | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"t",arr[k]}'
- नेटस्टैट -एंट |। awk '{प्रिंट $NF}' |। grep -v '[a-z]' |
पोर्ट 80 पर सर्वाधिक कनेक्शन वाले 20 आईपी देखें
- cat /www/web_logs/wzfou.com_access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -100
- टेल -एन 10000 /www/web_logs/wzfou.com_access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -100
- cat /www/web_logs/wzfou.com_access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -100
- नेटस्टैट -anlp|grep 80|grep tcp|awk '{प्रिंट $5}'|awk -F: '{प्रिंट $1}'|sort|uniq -c|sort -nr|head -n20
- नेटस्टैट -एंट |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn |हेड -n20
यह देखने के लिए कि सबसे ऊंचा कौन है, पोर्ट 80 एक्सेस को सूंघने के लिए tcpdump का उपयोग करें
- tcpdump -i eth0 -tnn dst पोर्ट 80 -c 1000 | awk -F''''{प्रिंट $1″.''$3″.'$4}' |. सॉर्ट -nr |हेड - 20
अधिक समय-प्रतीक्षा कनेक्शन खोजें
- नेटस्टैट -एन|ग्रेप TIME_WAIT|awk '{प्रिंट $5}'|सॉर्ट|यूनीक -सी|सॉर्ट -आरएन|हेड -एन20
अधिक SYN कनेक्शन ढूंढें
- नेटस्टैट -an |. awk '{प्रिंट $5}' |. awk -F: '{प्रिंट $1} |
Linux के अंतर्गत IP सेगमेंट को ब्लॉक करने के लिए iptables का उपयोग करने के लिए कुछ सामान्य कमांड:
एकल आईपी को ब्लॉक करने का आदेश है:
- आईपीटेबल्स -आई इनपुट -एस 211.1.0.0 -जे ड्रॉप
IP सेगमेंट को ब्लॉक करने का आदेश है:
- आईपीटेबल्स -आई इनपुट -एस 211.1.0.0/16 -जे ड्रॉप
- आईपीटेबल्स -आई इनपुट -एस 211.2.0.0/16 -जे ड्रॉप
- आईपीटेबल्स -आई इनपुट -एस 211.3.0.0/16 -जे ड्रॉप
संपूर्ण अनुभाग को सील करने का आदेश है:
- आईपीटेबल्स -आई इनपुट -एस 211.0.0.0/8 -जे ड्रॉप
कई अनुच्छेदों को सील करने का आदेश है:
- आईपीटेबल्स -आई इनपुट -एस 61.37.80.0/24 -जे ड्रॉप
- आईपीटेबल्स -आई इनपुट -एस 61.37.81.0/24 -जे ड्रॉप
3.3 tcpdump कमांड
टीसीपीडम्प सबसे व्यापक रूप से उपयोग किए जाने वाले नेटवर्क पैकेट विश्लेषक या पैकेट मॉनिटरिंग प्रोग्राम में से एक है। इसका उपयोग नेटवर्क पर निर्दिष्ट इंटरफेस पर प्राप्त या प्रसारित टीसीपी/आईपी पैकेट को कैप्चर या फ़िल्टर करने के लिए किया जाता है। प्रारूप: tcpdump -i eth0 -c 3
यह कमांड सिस्टम के साथ नहीं आता है और आपको इसे स्वयं इंस्टॉल करने की आवश्यकता हो सकती है। कमांड निष्पादन प्रभाव इस प्रकार है:
3.4 आईपीट्रैफ
iptraf ncurses पर आधारित एक IP LAN मॉनिटर है, जिसका उपयोग TCP जानकारी, UDP गणना, ICMP और OSPF जानकारी, ईथरनेट लोड जानकारी, नोड स्थिति जानकारी, IP चेकसम त्रुटियों आदि सहित सांख्यिकीय डेटा उत्पन्न करने के लिए किया जाता है। आईपी, टीसीपी, यूडीपी, आईसीएमपी, गैर-आईपी और अन्य आईपी पैकेट गणना, आईपी चेकसम त्रुटियां, इंटरफ़ेस गतिविधि और पैकेट आकार गणना सहित सरल और विस्तृत इंटरफ़ेस आँकड़े।
कमांड प्रारूप: iptraf
। फिर निम्नलिखित प्रभावों के साथ कई मॉनिटरिंग मेनू प्रदर्शित किए जाएंगे:
4. डिस्क मॉनिटरिंग
4.1 डीएफ कमांड
df
कमांड का कार्य लिनक्स फ़ाइल सिस्टम के डिस्क स्थान उपयोग की जांच करना है। यदि कोई फ़ाइल नाम निर्दिष्ट नहीं है, तो वर्तमान में माउंट किए गए सभी फ़ाइल सिस्टम डिफ़ॉल्ट रूप से KB में प्रदर्शित होते हैं। आमतौर पर इस्तेमाल किया जाने वाला प्रारूप: $ df -h
। प्रभाव इस प्रकार है:
प्रासंगिक मापदंडों को इस प्रकार समझाया गया है:
-a सभी फ़ाइल सिस्टमों की सूची
-h मानव-पठनीय रूप में प्रदर्शित करें
-i इनोड जानकारी प्रदर्शित करें
-T फ़ाइल सिस्टम प्रकार प्रदर्शित करता है
-l केवल स्थानीय फ़ाइल सिस्टम दिखाएँ
-k KB में
-एम एमबी में
4.2 iostat कमांड
iostat सिस्टम स्टोरेज डिवाइस के इनपुट और आउटपुट स्थिति पर आंकड़े एकत्र करने और प्रदर्शित करने के लिए एक सरल उपकरण है। इस उपकरण का उपयोग अक्सर भंडारण उपकरणों के साथ प्रदर्शन के मुद्दों को ट्रैक करने के लिए किया जाता है, जिसमें डिवाइस, स्थानीय डिस्क और एनएफएस का उपयोग करने जैसे दूरस्थ डिस्क शामिल हैं। आमतौर पर उपयोग किए जाने वाले प्रारूप:
$ iostat -x -k 2 100 # 2表示刷新间隔,100表示刷新次数
प्रभाव इस प्रकार है:
iostat
का उपयोग मुख्य रूप से डिस्क I/O की निगरानी के लिए किया जाता है। सबसे पहले, यह CPU (avg-cpu) के औसत डेटा को आउटपुट करता है। हम इसके अलावा, iostat आइटम भी देख सकते हैं कुछ और विस्तृत I/O स्थिति डेटा भी प्रदान किया गया है, जैसे:
r/s: I/O डिवाइस से प्रति सेकंड पूरी की गई रीड की संख्या।
w/s: I/O डिवाइस पर प्रति सेकंड पूर्ण किए गए राइट्स की संख्या।
आरकेबी/एस: प्रति सेकंड पढ़े जाने वाले के बाइट्स की संख्या आरसेक्ट/एस का आधा है क्योंकि प्रत्येक सेक्टर का आकार 512 बाइट्स है।
wkB/s: प्रति सेकंड लिखे गए K बाइट्स की संख्या wsect/s की आधी है।
avgrq-sz: प्रति डिवाइस I/O ऑपरेशन औसत डेटा आकार (सेक्टर)।
औसत I/O कतार लंबाई।
प्रतीक्षा करें: प्रत्येक डिवाइस I/O ऑपरेशन के लिए औसत प्रतीक्षा समय (मिलीसेकंड)।
एसवीसीटीएम: प्रति डिवाइस I/O ऑपरेशन औसत सेवा समय (मिलीसेकंड)।
%उपयोग: I/O संचालन के लिए एक सेकंड का कितना प्रतिशत उपयोग किया जाता है, या I/O कतार एक सेकंड का कितना हिस्सा गैर-रिक्त है।
4.3 iotop कमांड
iotop कमांड एक शीर्ष उपकरण है जिसका उपयोग डिस्क I/O उपयोग की निगरानी के लिए किया जाता है। iotop में शीर्ष के समान एक यूआई है, जिसमें पीआईडी, उपयोगकर्ता, आई/ओ, प्रक्रिया और अन्य संबंधित जानकारी शामिल है। लिनक्स के अंतर्गत अधिकांश IO सांख्यिकी उपकरण, जैसे iostat और nmon, केवल प्रति डिवाइस की रीडिंग और राइटिंग की गणना कर सकते हैं। यदि आप जानना चाहते हैं कि प्रत्येक प्रक्रिया IO का उपयोग कैसे करती है, तो यह परेशानी भरा होगा इसे आसानी से जांचें.
iotop के आमतौर पर उपयोग किए जाने वाले पैरामीटर इस प्रकार हैं:
-संस्करण प्रोग्राम संस्करण संख्या देखें
-h, -help सहायता जानकारी देखें
-o, -केवल IO संचालन वाली प्रक्रियाएं देखें
-b, -बैच गैर-इंटरैक्टिव मोड
-n, - iter= पुनरावृत्तियों की संख्या निर्धारित करें
-d, -विलंब ताज़ा आवृत्ति, डिफ़ॉल्ट 1 सेकंड है
-p, -pid निर्दिष्ट प्रक्रिया संख्या का IO देखें, डिफ़ॉल्ट सभी प्रक्रियाएं
-u है , -उपयोगकर्ता उपयोगकर्ता प्रक्रियाओं के निर्दिष्ट IO को देखता है, डिफ़ॉल्ट सभी उपयोगकर्ता
-P है, -प्रोसेस केवल प्रक्रियाओं को देखता है, थ्रेड्स को नहीं
-a, -संचित संचित IO को देखता है, वास्तविक समय IO को नहीं
-k, KB में -किलोबाइट्स IO को सबसे अनुकूल इकाई में प्रदर्शित करने के बजाय इकाइयों में देखें
-t, -time प्रत्येक पंक्ति में एक टाइमस्टैम्प जोड़ें, और डिफ़ॉल्ट रूप से -batch
-q सक्षम करें, - छोड़ें हेडर जानकारी प्रदर्शित नहीं करता है
निष्पादन प्रभाव इस प्रकार है:
4.4 lsof कमांड
खुली हुई फ़ाइलों की सूची बनाएं: lsof. इसका उपयोग आमतौर पर सभी खुली फाइलों और प्रक्रियाओं को एक सूची में प्रदर्शित करने के लिए किया जाता है। खुली फ़ाइलों में डिस्क फ़ाइलें, नेटवर्क सॉकेट, पाइप, डिवाइस और प्रक्रियाएं शामिल हैं। इस कमांड का उपयोग करने की मुख्य स्थितियों में से एक तब होती है जब डिस्क को माउंट नहीं कर पाता है और एक त्रुटि संदेश प्रदर्शित करता है कि एक फ़ाइल का उपयोग किया जा रहा है या खोला जा रहा है। इस कमांड का उपयोग करके आप आसानी से देख सकते हैं कि कौन सी फाइल का उपयोग किया जा रहा है।
5. प्रक्रिया की निगरानी
5.1 aTOP कमांड
एटॉप कमांड एक टर्मिनल पर्यावरण निगरानी कमांड है। यह विभिन्न सिस्टम संसाधनों (सीपीयू, मेमोरी, नेटवर्क, आई/ओ, कर्नेल) का संयोजन दिखाता है और उच्च लोड स्थितियों के तहत रंग-कोडित होता है। एटॉप को टॉप का उन्नत संस्करण माना जा सकता है यदि एटॉप कमांड दिखाता है कि यह मौजूद नहीं है, तो आपको इसे स्थापित करने के लिए yum या apt-get की आवश्यकता है। प्रभाव इस प्रकार है:
संबंधित पैरामीटर विवरण:
ATOP कॉलम : यह कॉलम होस्ट नाम, सूचना नमूनाकरण दिनांक और समय बिंदु प्रदर्शित करता है
पीआरसी कॉलम: यह कॉलम प्रक्रिया की समग्र चल रही स्थिति को प्रदर्शित करता है
- Sys और usr फ़ील्ड क्रमशः कर्नेल मोड और उपयोगकर्ता मोड में प्रक्रिया के चलने का समय दर्शाते हैं।
- #proc फ़ील्ड प्रक्रियाओं की कुल संख्या को इंगित करता है
- #ज़ॉम्बी फ़ील्ड ज़ोंबी प्रक्रियाओं की संख्या को इंगित करता है
- #exit फ़ील्ड शीर्ष नमूनाकरण अवधि के दौरान बाहर निकलने वाली प्रक्रियाओं की संख्या को इंगित करता है
सीपीयू कॉलम : यह कॉलम संपूर्ण सीपीयू (यानी, संपूर्ण सीपीयू संसाधन के रूप में मल्टी-कोर सीपीयू) के उपयोग को प्रदर्शित करता है। हम जानते हैं कि सीपीयू का उपयोग प्रक्रियाओं को निष्पादित करने, व्यवधानों को संभालने या इसमें शामिल होने के लिए किया जा सकता है एक निष्क्रिय अवस्था (निष्क्रिय अवस्था को दो प्रकारों में विभाजित किया गया है, एक सक्रिय प्रक्रिया है जो डिस्क IO की प्रतीक्षा करती है जिसके कारण CPU निष्क्रिय हो जाता है, दूसरा पूरी तरह से निष्क्रिय है)
- जब प्रक्रिया को संसाधित करने के लिए सीपीयू का उपयोग किया जाता है तो sys और usr फ़ील्ड कर्नेल मोड और उपयोगकर्ता मोड में प्रक्रिया द्वारा लिए गए CPU समय के अनुपात को दर्शाते हैं।
- Irq फ़ील्ड उस समय के अनुपात को इंगित करता है जब सीपीयू ने व्यवधानों को संसाधित करने में खर्च किया था
- निष्क्रिय फ़ील्ड उस समय के अनुपात को इंगित करता है जब सीपीयू पूरी तरह से निष्क्रिय है।
- प्रतीक्षा क्षेत्र उस समय के अनुपात को इंगित करता है जब सीपीयू "प्रक्रिया डिस्क आईओ की प्रतीक्षा कर रही है जिससे सीपीयू निष्क्रिय हो गया है" की स्थिति में है।
सीपीयू कॉलम के प्रत्येक क्षेत्र में संकेतित मानों का योग N00% में परिणामित होता है, जहां N सीपीयू कोर की संख्या है।
सीपीयू कॉलम: यह कॉलम एक निश्चित कोर सीपीयू के उपयोग को प्रदर्शित करता है। प्रत्येक फ़ील्ड का अर्थ सीपीयू कॉलम में संदर्भित किया जा सकता है। प्रत्येक फ़ील्ड मान का योग 100% है।
सीपीएल कॉलम: यह कॉलम सीपीयू लोड प्रदर्शित करता है
- avg1, avg5, और avg15 फ़ील्ड: पिछले 1, 5 और 15 मिनट में रन कतार में प्रक्रियाओं की औसत संख्या
- सीएसडब्ल्यू फ़ील्ड संदर्भ स्वैप की संख्या को इंगित करता है
- इंट्र फ़ील्ड रुकावट की घटनाओं की संख्या को इंगित करता है
एमईएम कॉलम: यह कॉलम मेमोरी उपयोग को इंगित करता है
- टोट फ़ील्ड भौतिक मेमोरी की कुल मात्रा को इंगित करता है
- मुक्त फ़ील्ड मुक्त मेमोरी के आकार को इंगित करता है
- कैश फ़ील्ड पेज कैशिंग के लिए प्रयुक्त मेमोरी आकार को इंगित करता है
- बफ़ फ़ील्ड फ़ाइल कैशिंग के लिए उपयोग की जाने वाली मेमोरी आकार को इंगित करता है
- स्लैब फ़ील्ड सिस्टम कर्नेल द्वारा व्याप्त मेमोरी आकार को इंगित करता है।
SWP कॉलम: यह कॉलम स्वैप स्पेस उपयोग को इंगित करता है
- कुल फ़ील्ड स्वैप क्षेत्र की कुल मात्रा को इंगित करता है
- मुक्त फ़ील्ड मुक्त स्वैप स्थान के आकार को इंगित करता है
PAG कॉलम: यह कॉलम वर्चुअल मेमोरी पेजिंग स्थिति को इंगित करता है
स्विन, स्वाउट फ़ील्ड: अंदर और बाहर बदले गए मेमोरी पेजों की संख्या
DSK कॉलम : यह कॉलम डिस्क उपयोग को इंगित करता है। प्रत्येक डिस्क डिवाइस एक कॉलम से मेल खाता है, तो DSK जानकारी का एक अतिरिक्त कॉलम जोड़ा जाता है।
- एसडीए फ़ील्ड: डिस्क डिवाइस पहचान
- व्यस्त फ़ील्ड: डिस्क व्यस्त अनुपात
- पढ़ें, लिखें फ़ील्ड: पढ़ने और लिखने के अनुरोधों की संख्या
NET कॉलम : NET के कई कॉलम ट्रांसपोर्ट लेयर (टीसीपी और यूडीपी), आईपी लेयर और प्रत्येक सक्रिय नेटवर्क पोर्ट जानकारी सहित नेटवर्क स्थिति दिखाते हैं।
- XXXi फ़ील्ड प्रत्येक परत या सक्रिय नेटवर्क पोर्ट द्वारा प्राप्त पैकेटों की संख्या को इंगित करता है।
- XXXo फ़ील्ड प्रत्येक परत या सक्रिय नेटवर्क पोर्ट द्वारा भेजे गए पैकेटों की संख्या को इंगित करता है
5.2 htop कमांड
htop एक बहुत ही उन्नत इंटरैक्टिव रीयल-टाइम लिनक्स प्रक्रिया निगरानी उपकरण है। यह शीर्ष कमांड के समान है, लेकिन इसमें समृद्ध विशेषताएं हैं, जैसे उपयोगकर्ता के अनुकूल प्रक्रिया प्रबंधन, शॉर्टकट कुंजी, प्रक्रियाओं का लंबवत और क्षैतिज प्रदर्शन इत्यादि।
आदेश प्रभाव इस प्रकार है:
5.3 पीएस कमांड
ps (प्रक्रिया स्थिति, प्रक्रिया स्थिति) कमांड सबसे बुनियादी और बहुत शक्तिशाली प्रक्रिया देखने वाला कमांड है। सबसे अधिक इस्तेमाल किया जाने वाला कमांड ps aux
है - जो सभी मौजूदा प्रक्रियाओं को प्रदर्शित करता है
$ ps aux | grep root # 输出root用户的所有进程
$ ps -p <pid> -L # 显示进程<pid>的所有线程
$ ps -e -o pid,uname,pcpu,pmem,comm # 定制显示的列
$ ps -o lstart <pid> # 显示进程的启动时间
पीएस कमांड के आउटपुट को आंतरिक सॉर्ट कुंजी (कॉलम के उपनाम) का उपयोग करके किसी भी कॉलम द्वारा सॉर्ट किया जा सकता है, उदाहरण के लिए:
$ ps aux --sort=+rss # 按内存升序排列
$ ps aux --sort=-rss # 按内存降序排列
$ ps aux --sort=+%cpu # 按cpu升序排列
$ ps aux --sort=-%cpu # 按cpu降序排列
6. ऑल-इन-वन सिस्टम मॉनिटरिंग टूल
ऊपर साझा किए गए उपकरण लिनक्स सिस्टम डिस्क, सीपीयू, मेमोरी और अन्य संकेतकों को देखने के लिए सभी एकल उपकरण हैं। यदि हम वीपीएस होस्ट की प्रदर्शन बाधा का तुरंत पता लगाना चाहते हैं, तो हम निम्नलिखित "ऑल-इन-वन" टूल का उपयोग कर सकते हैं:
6.1 नज़र उपकरण
Glances एक GPL-लाइसेंस प्राप्त मुफ़्त सॉफ़्टवेयर है जिसका उपयोग GNU/Linux और FreeBSD ऑपरेटिंग सिस्टम की निगरानी के लिए किया जाता है। Glances के माध्यम से, हम CPU, लोड औसत, मेमोरी, नेटवर्क ट्रैफ़िक, डिस्क I/O, अन्य प्रोसेसर और फ़ाइल सिस्टम स्थान उपयोग की निगरानी कर सकते हैं। निगरानी के लिए wzfou.com इसका उपयोग करता है। सिंटैक्स: नज़र
स्थिति दर्शाने के लिए झलकियाँ निम्नलिखित रंगों का उपयोग करेंगी: हरा: ठीक है (सब कुछ सामान्य है) नीला: सावधान (ध्यान देने की आवश्यकता है) बैंगनी: चेतावनी (चेतावनी) लाल: गंभीर (गंभीर)। थ्रेशोल्ड को कॉन्फ़िगरेशन फ़ाइल में सेट किया जा सकता है, आम तौर पर, थ्रेशोल्ड डिफ़ॉल्ट रूप से (सावधान=50, चेतावनी=70, क्रिटिकल=90) पर सेट होता है। प्रभाव इस प्रकार है: (बड़ा करने के लिए क्लिक करें)
Glances अधिक शॉर्टकट कुंजियाँ भी प्रदान करता है जो चलने पर आउटपुट सूचना विकल्पों को चालू और बंद कर सकता है, उदाहरण के लिए:
ए - प्रक्रियाओं को स्वचालित रूप से क्रमबद्ध करें
सी - सीपीयू प्रतिशत के आधार पर प्रक्रियाओं को क्रमबद्ध करें
एम - मेमोरी प्रतिशत के आधार पर प्रक्रियाओं को क्रमबद्ध करें
पी - प्रक्रिया नाम के आधार पर प्रक्रियाओं को वर्णानुक्रम में क्रमबद्ध करें
i - पढ़ने और लिखने की आवृत्ति (I/O) के आधार पर प्रक्रियाओं को क्रमबद्ध करें
डी - डिस्क I/O आँकड़े दिखाएँ/छिपाएँ
एफ - फ़ाइल सिस्टम आँकड़े दिखाएँ/छिपाएँ
n - नेटवर्क इंटरफ़ेस आँकड़े दिखाएँ/छिपाएँ
s - सेंसर आँकड़े दिखाएँ/छिपाएँ
y - हार्ड ड्राइव तापमान आँकड़े दिखाएँ/छिपाएँ
एल - लॉग दिखाएँ/छिपाएँ (लॉग)
बी - नेटवर्क I/O इकाइयाँ स्विच करें (बाइट्स/बिट्स)
डब्ल्यू - चेतावनी लॉग हटाएं
x - चेतावनी और महत्वपूर्ण लॉग हटाएँ
1 - वैश्विक सीपीयू उपयोग और प्रति-सीपीयू उपयोग के बीच टॉगल करें
h - इस सहायता स्क्रीन को दिखाएँ/छिपाएँ
टी - समूहों में नेटवर्क I/O ब्राउज़ करें
यू - संचयी रूप में नेटवर्क I/O ब्राउज़ करें
q - बाहर निकलें ('ESC' और 'Ctrl&C' भी काम करते हैं)
6.2 डीस्टैट टूल
Dstat कमांड एक उपकरण है जिसका उपयोग vmstat, iostat, Netstat, nfsstat और ifstat कमांड को बदलने के लिए किया जाता है। यह एक सर्वांगीण सिस्टम सूचना सांख्यिकी उपकरण है। Sysstat की तुलना में, dstat में एक रंगीन इंटरफ़ेस होता है, जब मैन्युअल रूप से प्रदर्शन स्थितियों का अवलोकन किया जाता है, तो डेटा अधिक स्पष्ट और निरीक्षण करने में आसान होता है और dstat तत्काल ताज़ा करने का समर्थन करता है, उदाहरण के लिए, dstat 3 में प्रवेश करने से यह हर तीन सेकंड में एकत्र हो जाएगा; हर सेकंड ताज़ा रहें।
सीधे dstat का उपयोग करें। -cdngy पैरामीटर का उपयोग डिफ़ॉल्ट रूप से क्रमशः सीपीयू, डिस्क, नेट, पेज और सिस्टम जानकारी प्रदर्शित करने के लिए किया जाता है। आप अंत में जानकारी के एक टुकड़े को प्रदर्शित करने के लिए समय अंतराल निर्दिष्ट कर सकते हैं। उदाहरण के लिए, dstat 5 का अर्थ है कि जानकारी का एक टुकड़ा हर 5 सेकंड में प्रदर्शित किया जाएगा, और dstat 5 10 का मतलब है कि जानकारी का एक टुकड़ा हर 5 सेकंड में प्रदर्शित किया जाएगा। कुल 10 जानकारी प्रदर्शित की जाएंगी। निम्नलिखित नुसार:
डिफ़ॉल्ट आउटपुट द्वारा प्रदर्शित जानकारी का विवरण:
प्रोक्स
- आर: चल रही प्रक्रियाओं की संख्या और प्रतीक्षा (सीपीयू टाइम स्लाइस) इस मान का उपयोग यह निर्धारित करने के लिए भी किया जा सकता है कि क्या सीपीयू को बढ़ाने की आवश्यकता है (दीर्घकालिक 1 से अधिक)।
- बी: निर्बाध स्थिति में प्रक्रियाओं की संख्या सामान्य स्थितियाँ IO के कारण होती हैं।
याद
- swpd: स्वैप मेमोरी पर मेमोरी पर स्विच करें (KB में डिफ़ॉल्ट)। यदि swpd का मान 0 नहीं है, या अपेक्षाकृत बड़ा है, जैसे कि 100M से अधिक, लेकिन si और इतने का मान लंबे समय से 0 है, तो हमें इस स्थिति के बारे में चिंता करने की आवश्यकता नहीं है, और यह सिस्टम प्रदर्शन को प्रभावित नहीं करेगा.
- मुफ़्त: मुफ़्त भौतिक मेमोरी
- बफ़: बफर कैश मेमोरी के रूप में उपयोग किया जाता है, ब्लॉक डिवाइस के पढ़ने और लिखने को बफर करता है
- कैश: पेज कैश के रूप में मेमोरी, फ़ाइल सिस्टम कैश। यदि कैश मान बड़ा है, तो इसका मतलब है कि कैश में कई फ़ाइलें हैं। यदि बार-बार एक्सेस की जाने वाली फ़ाइलों को कैश किया जा सकता है, तो डिस्क का रीड IO bi बहुत छोटा होगा।
बदलना
- सी: मेमोरी उपयोग को स्वैप करें, डिस्क से मेमोरी में स्थानांतरित करें
- इसलिए: मेमोरी उपयोग को स्वैप करें, मेमोरी से डिस्क पर स्थानांतरित करें
जब पर्याप्त मेमोरी होती है, तो ये दोनों मान 0 होते हैं। यदि ये दोनों मान लंबे समय तक 0 से अधिक होते हैं, तो सिस्टम प्रदर्शन प्रभावित होगा। डिस्क IO और CPU संसाधनों का उपभोग किया जाएगा।
मैंने पाया कि कुछ मित्र सोचते हैं कि मेमोरी पर्याप्त नहीं है जब वे देखते हैं कि फ्री मेमोरी (फ्री) बहुत छोटी है या 0 के करीब है। वास्तव में, आप इसे सिर्फ देख नहीं सकते हैं, बल्कि सी और को जोड़ भी सकते हैं बहुत कम मुफ़्त है, लेकिन हाँ, बहुत कम भी हैं (अधिकतर 0), इसलिए चिंता न करें, इस समय सिस्टम का प्रदर्शन प्रभावित नहीं होगा।
डिस्क आईओ
- द्वि: ब्लॉक डिवाइस (रीड डिस्क) से पढ़े गए डेटा की कुल मात्रा (KB/s)
- बो: ब्लॉक डिवाइस पर लिखे गए डेटा की कुल मात्रा (डिस्क पर लिखें) (KB/s)
नोट: रैंडम डिस्क को पढ़ते और लिखते समय, ये दोनों मान जितने बड़े होंगे (जैसे कि 1M से अधिक), IO में CPU जिस मान की प्रतीक्षा कर रहा है वह उतना ही बड़ा दिखाई देगा।
प्रणाली
- में: प्रति सेकंड उत्पन्न व्यवधानों की संख्या
- सीएस: प्रति सेकंड संदर्भ स्विच की संख्या
उपरोक्त दो मान जितने बड़े होंगे, आप कर्नेल द्वारा खपत किया गया उतना ही अधिक CPU समय देखेंगे।
CPU
- यूएसआर: उपयोगकर्ता प्रक्रिया द्वारा उपभोग किए गए सीपीयू समय का प्रतिशत
जब हमारा मूल्य अपेक्षाकृत अधिक होता है, तो इसका मतलब है कि उपयोगकर्ता प्रक्रिया में बहुत अधिक CPU समय लगता है, लेकिन यदि यह लंबे समय तक 50% से अधिक उपयोग करता है, तो हमें प्रोग्राम एल्गोरिदम को अनुकूलित करने या <ept0 को तेज करने पर विचार करना चाहिए > (जैसे PHP/Perl)
- sys: कर्नेल प्रक्रिया द्वारा उपभोग किए गए CPU समय का प्रतिशत
जब sys का मान अधिक होता है, तो इसका मतलब है कि सिस्टम कर्नेल बहुत सारे CPU संसाधनों का उपभोग करता है। यह एक सौम्य प्रदर्शन नहीं है और हमें इसका कारण जांचना चाहिए।
- वाई: आईओ प्रतीक्षा द्वारा उपभोग किए गए सीपीयू समय का प्रतिशत
जब wa का मान अधिक होता है, तो इसका मतलब है कि IO प्रतीक्षा गंभीर है। यह डिस्क पर बड़ी संख्या में रैंडम एक्सेस के कारण हो सकता है, या यह डिस्क की बैंडविड्थ में एक बाधा (ब्लॉक ऑपरेशन) हो सकता है।
- आईडीएल: सीपीयू के निष्क्रिय अवस्था में रहने का प्रतिशत
7. सारांश
उपरोक्त आदेशों के लिए, उनमें से कुछ लिनक्स सिस्टम के साथ आते हैं और आप उन्हें सीधे निष्पादित कर सकते हैं। कुछ तृतीय-पक्ष कमांड हैं, लेकिन उनमें से अधिकांश को सीधे Yum install xxx या apt-get intall xxx के माध्यम से इंस्टॉल किया जा सकता है। हालाँकि ये कमांड छोटे हैं, लेकिन हमारे सर्वर पर समस्याएँ आने पर ये विशेष रूप से उपयोगी होंगे।
सर्वर समस्याओं का निवारण करने के लिए, हमें आम तौर पर व्यापक विश्लेषण और निर्णय के लिए कई संकेतकों को संयोजित करने की आवश्यकता होती है। उदाहरण के लिए, यदि आपको संदेह है कि वीपीएस होस्ट के आईओ पढ़ने और लिखने में कोई समस्या है, तो आप पढ़ने और लिखने की वास्तविक समय की गति की जांच करने के लिए iotop का उपयोग कर सकते हैं, और शीर्ष कमांड का उपयोग यह जांचने के लिए कर सकते हैं कि कौन सी प्रक्रियाएं सीपीयू पर कब्जा करती हैं और मेमोरी। इस तरह, आप कई डेटा को मिलाकर सही परिणाम प्राप्त कर सकते हैं।