अंग्रेज़ीफ्रेंचस्पेनिश

Ad


ऑनवर्क्स फ़ेविकॉन

इनोटॉप - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में इनोटॉप चलाएं

यह कमांड इनोटॉप है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


इनोटॉप - MySQL और InnoDB लेनदेन/स्थिति मॉनिटर।

SYNOPSIS


सर्वर की सामान्य रूप से निगरानी करने के लिए:

निर्दोष

किसी फ़ाइल से InnoDB स्थिति की जानकारी की निगरानी करने के लिए:

इनोटॉप /var/log/mysql/mysqld.err

पाइप-और-फ़िल्टर कॉन्फ़िगरेशन में इनोटॉप को गैर-इंटरैक्टिव रूप से चलाने के लिए:

इनोटॉप--गिनती 5 -डी 1 -एन

किसी विशेष उपयोगकर्ता नाम और पासवर्ड का उपयोग करके किसी अन्य सिस्टम पर डेटाबेस की निगरानी करने के लिए:

इनोटॉप-यू -पी -एच

वर्णन


इनोटॉप MySQL सर्वर पर नज़र रखता है। इसका प्रत्येक मोड आपको उसका एक अलग पहलू दिखाता है
सर्वर में हो रहा है. उदाहरण के लिए, प्रतिकृति की निगरानी के लिए एक मोड है
प्रश्न, और एक लेनदेन के लिए। इनोटॉप अपने डेटा को समय-समय पर ताज़ा करता है, ताकि आप देख सकें
अद्यतन दृश्य.

इनोटॉप में पावर उपयोगकर्ताओं के लिए बहुत सारी सुविधाएं हैं, लेकिन आप इसे वर्चुअली शुरू और चला सकते हैं
कोई कॉन्फ़िगरेशन नहीं. यदि आप अभी शुरुआत कर रहे हैं, तो "क्विक-स्टार्ट" देखें। प्रेस '?' किसी पर
संदर्भ-संवेदनशील सहायता के लिए इनोटॉप चलाते समय समय।

जल्दी शुरू


इनोटॉप प्रारंभ करने के लिए, एक टर्मिनल या कमांड प्रॉम्प्ट खोलें। यदि आपने इनोटॉप ऑन इंस्टॉल किया है
आपका सिस्टम, आपको बस "इनोटॉप" टाइप करने और एंटर दबाने में सक्षम होना चाहिए; अन्यथा, आप
इनोटॉप की निर्देशिका में परिवर्तन करना होगा और "perl innotop" टाइप करना होगा।

कोई विकल्प निर्दिष्ट नहीं होने पर, इनोटॉप लोकलहोस्ट पर एक MySQL सर्वर से कनेक्ट करने का प्रयास करेगा
अन्य कनेक्शन पैरामीटर के लिए mysql_read_default_group=client का उपयोग करना। अगर आप की जरूरत है
एक अलग उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें, क्रमशः -u और -p विकल्पों का उपयोग करें। को
किसी अन्य होस्ट पर MySQL डेटाबेस की निगरानी करें, -h विकल्प का उपयोग करें।

आपके कनेक्ट होने के बाद, इनोटॉप आपको निम्नलिखित जैसा कुछ दिखाएगा:

[आरओ] क्वेरी सूची (? सहायता के लिए) लोकलहोस्ट, 01:11:19, 449.44 क्यूपीएस, 14/7/163 कॉन/रन

CXN जब लोड QPS धीमा QCacheHit KCacheHit BpsIn BpsOut
लोकलहोस्ट कुल 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

सीएक्सएन सीएमडी आईडी यूजर होस्ट डीबी टाइम क्वेरी
लोकलहोस्ट क्वेरी 766446598 परीक्षण 10.0.0.1 फू 00:02 तालिका में सम्मिलित करें (

(यह नमूना दाईं ओर छोटा कर दिया गया है ताकि 'मैन' चलाते समय यह टर्मिनल पर फिट हो सके
इनोटॉप')

यदि आपका सर्वर व्यस्त है, तो आपको अधिक आउटपुट दिखाई देगा। स्क्रीन पर पहली पंक्ति पर ध्यान दें,
जो आपको बताता है कि रीडओनली सत्य ([आरओ]) पर सेट है, आप किस मोड में हैं और किस सर्वर पर हैं
आप इससे जुड़े हुए हैं. आप कीस्ट्रोक्स के साथ अन्य मोड में बदल सकते हैं; स्विच करने के लिए 'T' दबाएँ
उदाहरण के लिए, InnoDB लेनदेन की सूची में।

दबाओ '?' यह देखने के लिए कुंजी कि वर्तमान मोड में कौन सी कुंजी सक्रिय हैं। आप इनमें से कोई भी दबा सकते हैं
ये कुंजियाँ और इनोटॉप या तो अनुरोधित कार्रवाई करेंगे या आपको अधिक इनपुट के लिए संकेत देंगे।
यदि आपके सिस्टम में टर्म::रीडलाइन समर्थन है, तो आप स्वत: पूर्ण करने के लिए TAB और अन्य कुंजियों का उपयोग कर सकते हैं
और इनपुट संपादित करें.

इनोटॉप छोड़ने के लिए, 'q' कुंजी दबाएँ।

विकल्प


इनोटॉप को ज्यादातर इसकी कॉन्फ़िगरेशन फ़ाइल के माध्यम से कॉन्फ़िगर किया गया है, लेकिन कुछ कॉन्फ़िगरेशन
विकल्प कमांड लाइन से आ सकते हैं। आप InnoDB की निगरानी के लिए एक फ़ाइल भी निर्दिष्ट कर सकते हैं
स्थिति आउटपुट; अधिक विवरण के लिए "फ़ाइल की निगरानी करना" देखें।

आप विकल्प नाम के पहले --नहीं लगाकर कुछ विकल्पों को नकार सकते हैं। उदाहरण के लिए, --noinc
(या --no-inc) "--inc" को नकारता है।

--रंग
टर्मिनल रंग सक्षम या अक्षम करें. "रंग" कॉन्फ़िग फ़ाइल सेटिंग के अनुरूप है।

--कॉन्फ़िगरेशन
पढ़ने के लिए एक कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करता है। कहने का तात्पर्य यह है कि यह विकल्प चिपचिपाहट रहित है
कॉन्फ़िगरेशन फ़ाइल पर ही कायम नहीं रहता है।

--गिनती
बाहर निकलने से पहले केवल निर्दिष्ट संख्या (टिक) को ताज़ा करें। प्रत्येक ताज़ा एक है
"अंतराल" सेकंड के लिए रुकें, इसके बाद MySQL कनेक्शन से डेटा का अनुरोध करें
इसे टर्मिनल पर प्रिंट करना।

--विलंब
टिक (रीफ्रेश) के बीच रुकने के समय की मात्रा निर्दिष्ट करता है। के अनुरूप है
कॉन्फ़िगरेशन विकल्प "अंतराल"।

--मदद
कमांड-लाइन उपयोग और निकास का सारांश प्रिंट करें।

--मेज़बान
कनेक्ट करने के लिए होस्ट.

--इंक
निर्दिष्ट करता है कि क्या इनोटॉप को निरपेक्ष संख्याएँ या सापेक्ष संख्याएँ (ऑफ़सेट) प्रदर्शित करनी चाहिए
उनके पिछले मूल्यों से)। कॉन्फ़िगरेशन विकल्प "status_inc" के अनुरूप है।

--तरीका
उस मोड को निर्दिष्ट करता है जिसमें इनोटॉप प्रारंभ होना चाहिए। कॉन्फ़िगरेशन के अनुरूप है
विकल्प "मोड"।

--nonint
गैर-संवादात्मक संचालन सक्षम करें. अधिक जानकारी के लिए "गैर-इंटरैक्टिव ऑपरेशन" देखें।

--पासवर्ड
कनेक्शन के लिए उपयोग किया जाने वाला पासवर्ड.

--बंदरगाह
कनेक्शन के लिए उपयोग किया जाने वाला पोर्ट.

--स्किपसेंट्रल
केंद्रीय कॉन्फ़िगरेशन फ़ाइल न पढ़ें.

--उपयोगकर्ता
कनेक्शन के लिए उपयोगकर्ता का उपयोग करें.

--संस्करण
आउटपुट संस्करण की जानकारी और बाहर निकलें।

--लिखो
कॉन्फ़िगरेशन विकल्प "केवल पढ़ने के लिए" को 0 पर सेट करता है, जिससे इनोटॉप रनिंग लिखता है
के लिए कॉन्फ़िगरेशन ~/.innotop/innotop.conf बाहर निकलने पर, यदि कोई कॉन्फ़िगरेशन फ़ाइल लोड नहीं की गई थी
प्रारंभ होने पर।

हॉटकी


इनोटॉप इंटरैक्टिव है, और आप इसे की-प्रेस से नियंत्रित करते हैं।

· अपरकेस कुंजियाँ मोड के बीच स्विच करती हैं।

· लोअरकेस कुंजियाँ वर्तमान मोड के भीतर कुछ कार्रवाई शुरू करती हैं।

· अन्य कुंजियाँ कुछ विशेष कार्य करती हैं जैसे कॉन्फ़िगरेशन बदलना या इनोटॉप लाइसेंस दिखाना।

प्रेस '?' किसी भी समय वर्तमान में सक्रिय कुंजियाँ और वे क्या करती हैं यह देखने के लिए।

मोड


इनोटॉप का प्रत्येक मोड सर्वर से एक विशेष प्रकार का डेटा पुनर्प्राप्त और प्रदर्शित करता है
आप निगरानी कर रहे हैं. आप अपरकेस कुंजियों के साथ मोड के बीच स्विच करते हैं। निम्नलिखित है एक
प्रत्येक विधा का वर्णानुक्रम में संक्षिप्त विवरण। मोड पर स्विच करने के लिए, दबाएँ
निम्नलिखित सूची में इसके शीर्षक के सामने सूचीबद्ध कुंजी:

बी: इनोडीबी बफ़र्स
यह मोड InnoDB बफ़र पूल, पेज आँकड़े, इंसर्ट के बारे में जानकारी प्रदर्शित करता है
बफर, और अनुकूली हैश इंडेक्स। डेटा SHOW INNODB STATUS से आता है।

इस मोड में "बफ़र_पूल", "पेज_स्टैटिस्टिक्स", "इंसर्ट_बफ़र्स" और शामिल हैं
डिफ़ॉल्ट रूप से "adaptive_hash_index" तालिकाएँ।

सी: कमांड सारांश
यह मोड mytop के कमांड सारांश मोड के समान है। यह "cmd_summary" दिखाता है
तालिका, जो कुछ इस प्रकार दिखती है:

कमांड सारांश (? सहायता के लिए) लोकलहोस्ट, 25+07:16:43, 2.45 क्यूपीएस, 3 टीएचडी, 5.0.40
_____________________ कमांड सारांश _____________________
नाम मूल्य प्रतिशत अंतिम वेतन वृद्धि प्रतिशत
चयन_स्कैन 3244858 69.89% 2 100.00%
चयन_श्रेणी 1354177 29.17% 0 0.00%
चयन_पूर्ण_जुड़ें 39479 0.85% 0 0.00%
सेलेक्ट_फुल_रेंज_जॉइन 4097 0.09% 0 0.00%
चयन_रेंज_चेक 0 0.00% 0 0.00%

कमांड सारांश तालिका "STATUS_VARIABLES" से वेरिएबल निकालकर बनाई गई है।
चर संख्यात्मक होने चाहिए और "cmd_filter" द्वारा दिए गए उपसर्ग से मेल खाने चाहिए
कॉन्फ़िगरेशन चर. फिर चरों को अवरोही मान के आधार पर क्रमबद्ध किया जाता है
अंतिम चर की तुलना में, जैसा कि ऊपर दिखाया गया है। प्रतिशत कॉलम प्रतिशत हैं
तालिका में सभी चरों के कुल योग का, ताकि आप इसका सापेक्ष भार देख सकें
चर।

उदाहरण दिखाता है कि यदि उपसर्ग "Select_" है तो आप क्या देखते हैं। डिफ़ॉल्ट उपसर्ग है
"कॉम_"। आप 's' कुंजी के साथ एक उपसर्ग चुन सकते हैं.

यह मेमोरी और अच्छे के साथ "प्रीफिक्स%" जैसे शो वेरिएबल चलाने जैसा है
स्वरूपण।

मान सभी सर्वरों पर एकत्रित होते हैं। Pct कॉलम ठीक से नहीं हैं
अनेक सर्वरों पर एकत्रित। यह समूहीकरण की एक ज्ञात सीमा है
एल्गोरिदम जिसे भविष्य में ठीक किया जा सकता है।

डी: इनोडीबी डेडलॉक
यह मोड अंतिम InnoDB गतिरोध में शामिल लेनदेन को दिखाता है। एक दूसरी तालिका
प्रत्येक लेनदेन के लिए रखे गए और प्रतीक्षा किए गए लॉक को दिखाता है। गतिरोध एक चक्र के कारण होता है
वेट-फॉर ग्राफ़ में, इसलिए दो ताले होने चाहिए और एक के लिए प्रतीक्षा की जानी चाहिए
गतिरोध की जानकारी काट दी गई है।

InnoDB SHOW INNODB में कुछ अन्य सूचनाओं से पहले गतिरोध सूचना डालता है
स्थिति आउटपुट. यदि बहुत सारे ताले हैं, तो गतिरोध की जानकारी बहुत बढ़ सकती है
बड़ा, और SHOW INNODB STATUS आउटपुट के आकार पर एक सीमा है। एक बड़ा
गतिरोध पूरे आउटपुट को भर सकता है, या यहां तक ​​कि छोटा भी किया जा सकता है, और आपको देखने से रोक सकता है
अन्य जानकारी बिल्कुल। यदि आप किसी अन्य मोड में इनोटॉप चला रहे हैं, उदाहरण के लिए टी
मोड, और अचानक आपको कुछ भी दिखाई नहीं देता है, हो सकता है कि आप जांचना चाहें और देखें कि क्या
गतिरोध ने आपके आवश्यक डेटा को मिटा दिया है।

यदि ऐसा है, तो आप बड़े गतिरोध को बदलने के लिए एक छोटा गतिरोध बना सकते हैं। 'डब्ल्यू' कुंजी का प्रयोग करें
बड़े गतिरोध को छोटे गतिरोध से 'मिटाना'। यह तब तक काम नहीं करेगा जब तक आपके पास न हो
कनेक्शन के लिए एक गतिरोध तालिका परिभाषित की गई है ("सर्वर कनेक्शन" देखें)।

जब किसी बड़े गतिरोध की आवश्यकता हो तो आप स्वचालित रूप से पता लगाने के लिए इनोटॉप को कॉन्फ़िगर भी कर सकते हैं
एक छोटे से प्रतिस्थापित किया जाए (देखें "auto_wipe_dl")।

यह मोड डिफ़ॉल्ट रूप से "deadlock_transactions" और "deadlock_locks" तालिकाएँ प्रदर्शित करता है।

एफ: InnoDB विदेशी कुंजी त्रुटियाँ
यह मोड अंतिम InnoDB विदेशी कुंजी त्रुटि जानकारी दिखाता है, जैसे कि तालिका कहाँ
ऐसा हुआ, कब, किसने और किस प्रश्न के कारण ऐसा किया, इत्यादि।

InnoDB में विदेशी कुंजी त्रुटि संदेशों की एक विशाल विविधता है, और उनमें से कई बस हैं
विश्लेषण करना कठिन है. इनोटॉप हमेशा यहां सबसे अच्छा काम नहीं करता है, लेकिन बहुत अधिक कोड है
इस गन्दे, अप्राप्य आउटपुट को पार्स करने के लिए समर्पित है जो इनोटॉप के कभी नहीं होने की संभावना है
इस संबंध में बिल्कुल सही. यदि इनोटॉप आपको वह नहीं दिखाता जो आपको देखना चाहिए, तो बस देखें
सीधे स्थिति पाठ पर।

यह मोड डिफ़ॉल्ट रूप से "fk_error" तालिका प्रदर्शित करता है।

मैं: InnoDB I/O जानकारी
यह मोड I/O थ्रेड, लंबित I/O, फ़ाइल सहित InnoDB के I/O आँकड़े दिखाता है
I/O विविध, और लॉग आँकड़े। यह "io_threads", "pending_io", प्रदर्शित करता है
डिफ़ॉल्ट रूप से "file_io_misc", और "log_statistics" तालिकाएँ।

एल: ताले
यह मोड वर्तमान ताले के बारे में जानकारी दिखाता है। फिलहाल केवल InnoDB लॉक हैं
समर्थित है, और डिफ़ॉल्ट रूप से आपको केवल वही लॉक दिखाई देंगे जिनके लिए लेनदेन प्रतीक्षा कर रहे हैं।
यह जानकारी InnoDB स्थिति पाठ के लेनदेन अनुभाग से आती है। अगर
आपका सर्वर बहुत व्यस्त है, आपको बार-बार लॉक की प्रतीक्षा करनी पड़ सकती है; यह सक्षम होने में मदद करता है
देखें कि कौन सी तालिकाएँ और अनुक्रमणिका तालों के लिए "हॉट स्पॉट" हैं। यदि आपका सर्वर चल रहा है
बहुत बढ़िया, इस मोड को कुछ भी नहीं दिखाना चाहिए।

आप लेनदेन के लिए न केवल लॉक की निगरानी के लिए MySQL और innotop को कॉन्फ़िगर कर सकते हैं
इंतज़ार कर रहा है, लेकिन जो वर्तमान में रुके हुए हैं, वे भी। आप इसे InnoDB लॉक के साथ कर सकते हैं
निगरानी करना (http://dev.mysql.com/doc/en/innodb-monitor.html>). इसका दस्तावेजीकरण नहीं किया गया है
MySQL मैनुअल, लेकिन निम्नलिखित कथन के साथ लॉक मॉनिटर भी बना रहा हूं
SHOW INNODB STATUS के आउटपुट को प्रभावित करता है, जिसका innotop उपयोग करता है:

तालिका बनाएं innodb_lock_monitor(a int) इंजन=INNODB;

इसके कारण InnoDB हर 16 सेकंड में अपना आउटपुट MySQL फ़ाइल में प्रिंट कर लेता है
मैनुअल में कहा गया है, लेकिन यह सामान्य SHOW INNODB STATUS आउटपुट को भी शामिल करता है
लॉक जानकारी, जिसे इनोटॉप पार्स और प्रदर्शित कर सकता है (वह अनिर्दिष्ट है
सुविधा)।

इसका मतलब है कि आप वह कर सकते हैं जो असंभव लग सकता है: एक सीमित सीमा तक (InnoDB
आउटपुट में कुछ जानकारी को छोटा कर देता है), आप देख सकते हैं कि कौन सा लेनदेन धारण करता है
ताले किसी और चीज़ का इंतज़ार कर रहे हैं। आप InnoDB लॉक को सक्षम और अक्षम भी कर सकते हैं
इस मोड में कुंजी मैपिंग के साथ मॉनिटर करें।

यह मोड डिफ़ॉल्ट रूप से "innodb_locks" तालिका प्रदर्शित करता है। यहाँ स्क्रीन का एक नमूना है
जब एक कनेक्शन ताले की प्रतीक्षा कर रहा होता है तो दूसरा कनेक्शन लॉक हो जाता है:

____________________________________ InnoDB ताले ____________________________
सीएक्सएन आईडी प्रकार प्रतीक्षा प्रतीक्षा सक्रिय मोड डीबी टेबल इंडेक्स
लोकलहोस्ट 12 रिकॉर्ड 1 00:10 00:10 एक्स टेस्ट टी1 प्राथमिक
लोकलहोस्ट 12 तालिका 0 00:10 00:10 IX परीक्षण t1
लोकलहोस्ट 12 रिकॉर्ड 1 00:10 00:10 एक्स टेस्ट टी1 प्राथमिक
लोकलहोस्ट 11 तालिका 0 00:00 00:25 IX परीक्षण t1
लोकलहोस्ट 11 रिकॉर्ड 0 00:00 00:25 एक्स टेस्ट टी1 प्राथमिक

आप देख सकते हैं कि पहला कनेक्शन, आईडी 12, प्राथमिक कुंजी पर लॉक की प्रतीक्षा कर रहा है
test.t1, और 10 सेकंड से प्रतीक्षा कर रहा है। दूसरा कनेक्शन इंतज़ार नहीं कर रहा है,
क्योंकि वेटिंग कॉलम 0 है, लेकिन यह उसी इंडेक्स पर लॉक रखता है। वह आपको बताता है
कनेक्शन 11, कनेक्शन 12 को अवरुद्ध कर रहा है।

एम: मास्टर/स्लेव प्रतिकृति स्थिति
यह मोड तीन में शो स्लेव स्टेटस और शो मास्टर स्टेटस का आउटपुट दिखाता है
टेबल. पहले दो स्लेव की स्थिति को SQL और I/O थ्रेड स्थिति में विभाजित करते हैं, और
अंतिम मास्टर स्थिति दिखाता है। गैर-गुलाम सर्वरों को ख़त्म करने के लिए फ़िल्टर लागू किए जाते हैं
स्लेव टेबल, और मास्टर टेबल से गैर-मास्टर सर्वर।

यह मोड "slave_sql_status", "slave_io_status" और "master_status" प्रदर्शित करता है
डिफ़ॉल्ट रूप से तालिकाएँ।

ओ: टेबल खोलें
यह अनुभाग MySQL के SHOW OPEN TABLES कमांड से आता है। डिफ़ॉल्ट रूप से इसे फ़िल्टर किया जाता है
उन तालिकाओं को दिखाने के लिए जो एक या अधिक प्रश्नों द्वारा उपयोग में हैं, ताकि आप उन पर त्वरित नज़र डाल सकें
कौन सी टेबल 'हॉट' हैं. आप इसका उपयोग यह अनुमान लगाने के लिए कर सकते हैं कि कौन सी तालिकाएँ लॉक हो सकती हैं
परोक्ष रूप से।

यह मोड डिफ़ॉल्ट रूप से "open_tables" मोड प्रदर्शित करता है।

प्रश्न: क्वेरी सूची
यह मोड, पूरी प्रक्रिया सूची दिखाएं से आउटपुट प्रदर्शित करता है मेरा शीर्षकी क्वेरी सूची
तरीका। यह मोड करता है नहीं InnoDB से संबंधित जानकारी दिखाएं। यह शायद इनमें से एक है
सामान्य उपयोग के लिए सबसे उपयोगी मोड।

एक सूचनात्मक हेडर है जो आपके बारे में सामान्य स्थिति की जानकारी दिखाता है
सर्वर. आप इसे 'h' कुंजी से चालू और बंद कर सकते हैं। डिफ़ॉल्ट रूप से, इनोटॉप छिप जाता है
निष्क्रिय प्रक्रियाएँ और उसकी अपनी प्रक्रिया। आप इन्हें 'i' से चालू और बंद कर सकते हैं
और 'ए' कुंजी.

आप 'ई' कुंजी के साथ इस मोड से किसी क्वेरी को समझा सकते हैं। यह क्वेरी प्रदर्शित करता है
पूर्ण पाठ, EXPLAIN के परिणाम, और नए MySQL संस्करणों में, यहां तक ​​कि अनुकूलित भी
EXPLAIN EXTENDED से उत्पन्न क्वेरी। इनोटॉप कुछ प्रश्नों को फिर से लिखने का भी प्रयास करता है
उन्हें समझाने योग्य बनाने के लिए। उदाहरण के लिए, INSERT/SELECT कथन पुनः लिखने योग्य हैं।

यह मोड डिफ़ॉल्ट रूप से "q_header" और "processlist" तालिकाओं को प्रदर्शित करता है।

आर: इनोडीबी पंक्ति संचालन और सेमाफोर
यह मोड InnoDB पंक्ति संचालन, पंक्ति संचालन विविध, सेमाफोर और दिखाता है
प्रतीक्षा सारणी से जानकारी. यह "पंक्ति_संचालन" प्रदर्शित करता है,
डिफ़ॉल्ट रूप से "row_operation_misc", "सेमाफोर्स", और "wait_array" तालिकाएँ।

एस: चर और स्थिति
यह मोड आंकड़ों की गणना करता है, जैसे प्रति सेकंड क्वेरीज़, और उन्हें प्रिंट करता है
कई अलग-अलग शैलियाँ। आप बीच में निरपेक्ष मान या वृद्धिशील मान दिखा सकते हैं
टिक्स।

आप एक कुंजी दबाकर दृश्यों के बीच स्विच कर सकते हैं। 'एस' कुंजी एक पंक्ति प्रिंट करती है
हर बार स्क्रीन इसी शैली में अपडेट होती है vmstat. 'जी' कुंजी दृश्य को बदल देती है
समान संख्याओं का एक ग्राफ़, कुछ इस तरह tload. 'v' कुंजी दृश्य को a में बदल देती है
बाईं ओर वेरिएबल नामों की पिवोटेड तालिका, जिसमें लगातार अपडेट स्क्रॉल हो रहे हैं
स्क्रीन बाएँ से दाएँ। आप चुन सकते हैं कि स्क्रीन पर कितने अपडेट डालने हैं
"num_status_sets" कॉन्फ़िगरेशन चर के साथ।

इंटरैक्टिव ऑपरेशन में स्क्रीन पर फिट होने के लिए हेडर को संक्षिप्त किया जा सकता है। आप चुनते हैं
'सी' कुंजी के साथ कौन से वेरिएबल प्रदर्शित करने हैं, जो पूर्वनिर्धारित सेटों में से चयन करता है, या
आपको अपने स्वयं के सेट बनाने की सुविधा देता है। आप वर्तमान सेट को 'ई' कुंजी से संपादित कर सकते हैं।

यह मोड वास्तव में अन्य मोड की तरह कोई तालिका प्रदर्शित नहीं करता है। इसके बजाय, यह a का उपयोग करता है
तालिका परिभाषा डेटा को निकालने और प्रारूपित करने के लिए है, लेकिन फिर यह परिणाम को बदल देती है
इसे आउटपुट करने से पहले विशेष तरीके। इसके लिए यह "var_status" तालिका परिभाषा का उपयोग करता है
इस।

टी: इनोडीबी लेनदेन
यह मोड InnoDB मॉनिटर के आउटपुट से लेनदेन दिखाता है ऊपर का-जैसा प्रारूप.
इसी विधा के कारण मैंने इनोटॉप लिखा।

आप 'k' और 'x' कुंजियों से प्रश्नों या प्रक्रियाओं को समाप्त कर सकते हैं, और किसी प्रश्न को समझा सकते हैं
'ई' या 'एफ' कुंजी. InnoDB लेन-देन में पूरी क्वेरी प्रिंट नहीं करता है, इसलिए
यदि क्वेरी को छोटा कर दिया गया है तो व्याख्या करना सही ढंग से काम नहीं करेगा।

सूचनात्मक हेडर को 'h' कुंजी से चालू और बंद किया जा सकता है। डिफ़ॉल्ट रूप से,
इनोटॉप निष्क्रिय लेनदेन और अपने स्वयं के लेनदेन को छुपाता है। आप इसे टॉगल ऑन कर सकते हैं
और 'i' और 'a' कुंजी के साथ बंद करें।

यह मोड डिफ़ॉल्ट रूप से "t_header" और "innodb_transactions" तालिकाएँ प्रदर्शित करता है।

इनोटॉप स्थिति


इनोटॉप डिस्प्ले की पहली पंक्ति एक प्रकार की "स्टेटस बार" है। इसमें क्या शामिल है यह इस पर निर्भर करता है
आप किस मोड में हैं, और आप किस सर्वर की निगरानी कर रहे हैं। पहले कुछ शब्द हमेशा होते हैं
[आरओ] (यदि केवल पढ़ने के लिए 1 पर सेट है), इनोटॉप मोड, जैसे टी मोड के लिए "इनोडीबी टीएक्सएनएस",
इसके बाद '?' दबाने का अनुस्मारक आता है। किसी भी समय मदद के लिए.

ONE सर्वर
सबसे सरल मामला तब होता है जब आप किसी एकल सर्वर की निगरानी कर रहे होते हैं। इस मामले में, का नाम
कनेक्शन स्टेटस लाइन पर अगला है। यह वह नाम है जो आपने इसे बनाते समय दिया था
कनेक्शन - संभवतः MySQL सर्वर का होस्टनाम। इसके बाद सर्वर का नंबर आता है
अपटाइम.

यदि आप InnoDB मोड में हैं, जैसे कि T या B, तो अगला शब्द "InnoDB" है जिसके बाद कुछ
स्क्रीन को रेंडर करने के लिए उपयोग किए जाने वाले SHOW INNODB STATUS आउटपुट के बारे में जानकारी। पहला शब्द
अंतिम SHOW INNODB स्थिति के बाद से सेकंड की संख्या है, जिसका उपयोग InnoDB गणना करने के लिए करता है
कुछ प्रति सेकंड आँकड़े। अगला एक स्माइली चेहरा है जो दर्शाता है कि क्या InnoDB
आउटपुट छोटा कर दिया गया है. यदि स्माइली चेहरा :-) है, तो सब ठीक है; कोई काट-छांट नहीं है. ए
:^| इसका मतलब है कि लेन-देन की सूची इतनी लंबी है, InnoDB ने केवल कुछ का ही प्रिंट आउट लिया है
लेन-देन. अंत में, एक नाराजगी :-( का अर्थ है कि आउटपुट अधूरा है, जो संभवतः देय है
बहुत अधिक लॉक जानकारी प्रिंट करने वाले गतिरोध के लिए (देखें "D: InnoDB डेडलॉक")।

अगले दो शब्द सर्वर की क्वेरी प्रति सेकंड (क्यूपीएस) और कितने थ्रेड दर्शाते हैं
(कनेक्शन) मौजूद हैं. अंत में, सर्वर का संस्करण क्रमांक लाइन पर अंतिम चीज़ है।

एकाधिक सर्वर
यदि आप एकाधिक सर्वरों की निगरानी कर रहे हैं ("सर्वर कनेक्शन" देखें), तो स्थिति रेखा ऐसा करती है
व्यक्तिगत सर्वरों के बारे में कोई विवरण न दिखाएं। इसके बजाय, यह के नाम दिखाता है
कनेक्शन जो सक्रिय हैं. फिर, ये आपके द्वारा निर्दिष्ट कनेक्शन नाम हैं, जो हैं
सर्वर का होस्टनाम होने की संभावना है। जिस कनेक्शन में कोई त्रुटि है उसके पहले एक लगा दिया जाता है
विस्मयादिबोधक बिंदु।

यदि आप सर्वरों के एक समूह की निगरानी कर रहे हैं ("सर्वर समूह" देखें), तो स्थिति रेखा दिखाती है
समूह का नाम. यदि समूह में किसी भी कनेक्शन में कोई त्रुटि है, तो समूह का नाम है
इसके बाद उन कनेक्शनों का अंश आता है जिनमें त्रुटियाँ नहीं हैं।

इनोटॉप की त्रुटि प्रबंधन के बारे में अधिक जानकारी के लिए "त्रुटि प्रबंधन" देखें।

निगरानी A फ़ाइल
यदि आप कमांड लाइन पर फ़ाइल नाम देते हैं, तो इनोटॉप किसी भी सर्वर से कनेक्ट नहीं होगा
सभी। यह InnoDB स्थिति आउटपुट के लिए निर्दिष्ट फ़ाइल को देखेगा और उसे अपने डेटा के रूप में उपयोग करेगा
स्रोत। यह हमेशा 'फ़ाइल' नामक एक एकल कनेक्शन दिखाएगा। और चूंकि यह नहीं हो सकता
किसी सर्वर से कनेक्ट करें, यह यह निर्धारित नहीं कर सकता कि जिस सर्वर की वह निगरानी कर रहा है वह कितने समय से चालू है;
इसलिए यह सर्वर के अपटाइम की गणना उस समय के रूप में करता है जब से इनोटॉप चलना शुरू हुआ है।

सर्वर शासन प्रबंध


जबकि इनोटॉप मुख्य रूप से एक मॉनिटर है जो आपको अपने सर्वर को देखने और उसका विश्लेषण करने की सुविधा देता है, यह ऐसा कर सकता है
सर्वर को कमांड भी भेजें। सबसे अधिक उपयोगी कमांड प्रश्नों को खत्म करना है
और गुलामों को रोकना या शुरू करना।

आप किसी कनेक्शन को ख़त्म कर सकते हैं, या MySQL के नए संस्करणों में किसी क्वेरी को ख़त्म कर सकते हैं, लेकिन नहीं
कनेक्शन, "क्यू: क्वेरी सूची" और "टी: इनोडीबी लेनदेन" मोड से। ए जारी करने के लिए 'k' दबाएँ
किल कमांड, या किल क्वेरी कमांड जारी करने के लिए 'x'। इनोटॉप आपको इसके लिए संकेत देगा
खत्म करने के लिए सर्वर और/या कनेक्शन आईडी (यदि केवल एक ही है तो इनोटॉप आपको संकेत नहीं देता है
किसी भी इनपुट के लिए संभावित विकल्प)। innotop सबसे लंबे समय तक चलने वाली क्वेरी का पूर्व-चयन करता है, या
सबसे पुराना कनेक्शन. 'y' से कमांड की पुष्टि करें।

"स्लेव प्रतिकृति स्थिति" में "एम: मास्टर मोड में, आप स्लेव को प्रारंभ और बंद कर सकते हैं
क्रमशः 'ए' और 'ओ' कुंजी। आप ये कमांड एक साथ कई गुलामों को भेज सकते हैं.
इनोटॉप आपके लिए START SLAVE या STOP SLAVE का एक डिफ़ॉल्ट कमांड भरता है, लेकिन आप ऐसा कर सकते हैं
वास्तव में कमांड को संपादित करें और अपनी इच्छानुसार कुछ भी भेजें, जैसे सेट ग्लोबल
SQL_SLAVE_SKIP_COUNTER=1 ताकि दास एक बिनलॉग इवेंट शुरू होने पर उसे छोड़ दे।

आप इनोटॉप से ​​​​किसी भी दास द्वारा उपयोग में आने वाले शुरुआती बिनलॉग की गणना करने और एक जारी करने के लिए भी कह सकते हैं
मास्टर पर पर्ज मास्टर लॉग। इसके लिए 'बी' कुंजी का प्रयोग करें। इनोटॉप आपको इसके लिए संकेत देगा
मास्टर पर कमांड चलाने के लिए, फिर आपको उस मास्टर के कनेक्शन नाम के लिए संकेत दें
दास (इनोटॉप के पास स्वयं इसे विश्वसनीय रूप से निर्धारित करने का कोई तरीका नहीं है)। इनोटॉप मिलेगा
इन स्लेव कनेक्शनों द्वारा उपयोग में आने वाला न्यूनतम बिनलॉग और इसे तर्क के रूप में सुझाएं
पर्ज मास्टर लॉग्स।

सर्वर कनेक्शन


जब आप '@' का उपयोग करके एक सर्वर कनेक्शन बनाते हैं, तो इनोटॉप आपसे इनपुट की एक श्रृंखला मांगता है
इस प्रकार है:

डीएसएन ए डीएसएन एक डेटा स्रोत नाम है, जो डीबीआई मॉड्यूल को दिया गया प्रारंभिक तर्क है
किसी सर्वर से कनेक्ट करने के लिए. यह आमतौर पर फॉर्म का होता है

DBI:mysql:;mysql_read_default_group=mysql;host=HOSTNAME

चूँकि यह DSN DBD::mysql ड्राइवर को भेज दिया गया है, आपको ड्राइवर को पढ़ना चाहिए
दस्तावेज़ीकरण "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm" में "http: के लिए
सभी विकल्पों पर सटीक विवरण आप ड्राइवर को डीएसएन में दे सकते हैं। तुम पढ़ सकते हो
डीबीआई के बारे में अधिक जानकारी परhttp://dbi.perl.org/docs/>, और विशेषकर पर
<http://search.cpan.org/~timb/DBI/DBI.pm>.

Mysql_read_default_group=mysql विकल्प DBD ड्राइवर को आपके MySQL विकल्पों को पढ़ने देता है
फ़ाइलें, जैसे ~/.my.cnf UNIX-ish सिस्टम पर. निर्दिष्ट करने से बचने के लिए आप इसका उपयोग कर सकते हैं
कनेक्शन के लिए उपयोगकर्ता नाम या पासवर्ड.

InnoDB डेडलॉक टेबल
यह वैकल्पिक आइटम इनोटॉप को एक तालिका नाम बताता है जिसका उपयोग यह जानबूझकर बनाने के लिए कर सकता है
छोटा गतिरोध (देखें "D: InnoDB डेडलॉक")। यदि आप इस विकल्प को निर्दिष्ट करते हैं, तो आपको बस इसकी आवश्यकता है
यह सुनिश्चित करने के लिए कि तालिका मौजूद नहीं है, और वह इनोटॉप तालिका बना और हटा सकता है
InnoDB स्टोरेज इंजन के साथ। यदि आप डिफ़ॉल्ट को सुरक्षित रूप से छोड़ सकते हैं या स्वीकार कर सकते हैं
इसका उपयोग करने का इरादा नहीं है.

उपयोगकर्ता नाम
इनोटॉप आपसे पूछेगा कि क्या आप उपयोगकर्ता नाम निर्दिष्ट करना चाहते हैं। यदि आप 'य' कहेंगे तो यह हो जाएगा
आपको उपयोगकर्ता नाम के लिए संकेत दें। यदि आपके पास एक MySQL विकल्प फ़ाइल है जो आपकी निर्दिष्ट करती है
उपयोक्तानाम, आपको उपयोक्तानाम निर्दिष्ट करने की आवश्यकता नहीं है।

जिस सिस्टम पर आप इनोटॉप चला रहे हैं, उस पर उपयोगकर्ता नाम आपके लॉगिन नाम पर डिफ़ॉल्ट होता है।

पासवर्ड
इनोटॉप आपसे पूछेगा कि क्या आप पासवर्ड निर्दिष्ट करना चाहते हैं। उपयोगकर्ता नाम की तरह,
पासवर्ड वैकल्पिक है, लेकिन एक अतिरिक्त संकेत है जो पूछता है कि क्या आप सहेजना चाहते हैं
इनोटॉप कॉन्फ़िगरेशन फ़ाइल में पासवर्ड। यदि आप इसे सेव नहीं करते हैं
कॉन्फ़िगरेशन फ़ाइल, इनोटॉप हर बार प्रारंभ होने पर आपको पासवर्ड के लिए संकेत देगा।
इनोटॉप कॉन्फ़िगरेशन फ़ाइल में पासवर्ड सादे पाठ में सहेजे जाते हैं, एन्क्रिप्टेड नहीं
किसी भी तरह।

एक बार जब आप इन प्रश्नों का उत्तर देना समाप्त कर लें, तो आपको एक सर्वर से कनेक्ट हो जाना चाहिए। लेकिन
इनोटॉप किसी एक सर्वर की निगरानी तक सीमित नहीं है; आप कई सर्वर परिभाषित कर सकते हैं
कनेक्शन और '@' कुंजी दबाकर उनके बीच स्विच करें। देखें "बीच में स्विच करना
सम्बन्ध"।

सर्वर समूह


यदि आपके पास एकाधिक MySQL उदाहरण हैं, तो आप उन्हें नामित समूहों में डाल सकते हैं, जैसे 'सभी',
'मालिक', और 'गुलाम', जो इनोटॉप सभी पर एक साथ निगरानी रख सकता है।

आप '#' कुंजी से चुन सकते हैं कि किस समूह की निगरानी करनी है, और आप TAB कुंजी दबा सकते हैं
अगले समूह पर स्विच करें. यदि आप वर्तमान में किसी समूह की निगरानी नहीं कर रहे हैं, तो TAB दबाएँ
पहले समूह का चयन करता है.

ग्रुप बनाने के लिए '#' कुंजी दबाएं और अपने नए ग्रुप का नाम टाइप करें, फिर टाइप करें
उन कनेक्शनों के नाम जिन्हें आप समूह में रखना चाहते हैं।

स्विचन बीच कनेक्शन


इनोटॉप आपको तुरंत स्विच करने देता है कि आप किन सर्वरों की निगरानी कर रहे हैं। सबसे बुनियादी तरीका है
'@' कुंजी दबाएं और उस कनेक्शन का नाम टाइप करें जिसका आप उपयोग करना चाहते हैं। यह
सेटिंग प्रति-मोड है, इसलिए आप प्रत्येक मोड और इनोटॉप में अलग-अलग कनेक्शन की निगरानी कर सकते हैं
यह याद रखता है कि आपने कौन सा कनेक्शन चुना है।

आप 'एन' कुंजी के साथ वर्णमाला क्रम में 'अगले' कनेक्शन पर तुरंत स्विच कर सकते हैं।
यदि आप किसी सर्वर समूह की निगरानी कर रहे हैं ("सर्वर समूह" देखें) तो यह पहले पर स्विच हो जाएगा
कनेक्शन।

आप कई कनेक्शन नाम भी टाइप कर सकते हैं, और इनोटॉप उनसे डेटा लाएगा और प्रदर्शित करेगा
सभी। बस कनेक्शन नामों को रिक्त स्थान से अलग करें, उदाहरण के लिए "सर्वर1 सर्वर2।"
दोबारा, यदि आप किसी ऐसे कनेक्शन का नाम टाइप करते हैं जो मौजूद नहीं है, तो इनोटॉप आपको संकेत देगा
कनेक्शन की जानकारी के लिए और कनेक्शन बनाएं।

एक साथ कई कनेक्शनों की निगरानी करने का दूसरा तरीका सर्वर समूहों के साथ है। आप उपयोग कर सकते हैं
वर्णमाला क्रम में 'अगले' समूह पर स्विच करने के लिए TAB कुंजी, या यदि आप नहीं हैं
किसी भी समूह की निगरानी करते हुए, TAB पहले समूह पर स्विच हो जाएगा।

इनोटॉप कनेक्शन से समानांतर में डेटा नहीं लाता है, इसलिए यदि आप किसी बड़ी निगरानी कर रहे हैं
समूह या कई कनेक्शन, आप टिकों के बीच बढ़ी हुई देरी देख सकते हैं।

जब आप एक से अधिक कनेक्शन की निगरानी करते हैं, तो इनोटॉप की स्थिति पट्टी बदल जाती है। देखें "INNOTOP
दर्जा"।

त्रुटि हैंडलिंग


एकल कनेक्शन की निगरानी करते समय त्रुटि प्रबंधन उतना महत्वपूर्ण नहीं है, लेकिन महत्वपूर्ण है
जब आपके पास कई सक्रिय कनेक्शन हों. क्रैश हुआ सर्वर या खोया हुआ कनेक्शन नहीं होना चाहिए
क्रैश इनोटॉप. परिणामस्वरूप, कोई त्रुटि होने पर भी इनोटॉप चलता रहेगा; यह
बस उस कनेक्शन से कोई भी जानकारी प्रदर्शित नहीं होगी जिसमें कोई त्रुटि हो। की वजह से
इनोटॉप का यह व्यवहार आपको भ्रमित कर सकता है। यह एक सुविधा है, बग नहीं!

इनोटॉप उन कनेक्शनों को क्वेरी करना जारी नहीं रखता जिनमें त्रुटियाँ हैं, क्योंकि वे धीमे हो सकते हैं
इनोटॉप और इसका उपयोग करना कठिन बना दें, खासकर यदि त्रुटि कनेक्ट करने में समस्या हो और
लम्बे टाइम-आउट का कारण बनता है। इसके बजाय, इनोटॉप यह देखने के लिए कभी-कभी कनेक्शन को पुनः प्रयास करता है
त्रुटि अभी भी मौजूद है. यदि हां, तो यह भविष्य में किसी बिंदु तक प्रतीक्षा करेगा। इंतज़ार
फाइबोनैचि श्रृंखला के रूप में समय टिकों में बढ़ता है, इसलिए यह समय के रूप में कम बार प्रयास करता है
गुजरता।

चूँकि SQL कमांड जारी होने के कारण त्रुटियाँ केवल कुछ मोड में ही हो सकती हैं
वे मोड, इनोटॉप ट्रैक करते हैं कि किस मोड में त्रुटि हुई। यदि आप ए पर स्विच करते हैं
भिन्न मोड, इनोटॉप प्रतीक्षा करने के बजाय कनेक्शन का पुनः प्रयास करेगा।

डिफ़ॉल्ट रूप से इनोटॉप समस्या को पहली तालिका के नीचे लाल पाठ में प्रदर्शित करेगा
स्क्रीन पर। आप इस व्यवहार को "show_cxn_errors_in_tbl" से अक्षम कर सकते हैं
कॉन्फ़िगरेशन विकल्प, जो डिफ़ॉल्ट रूप से सक्षम है। यदि "डीबग" विकल्प सक्षम है,
इनोटॉप केवल पहली तालिका में ही नहीं, बल्कि प्रत्येक तालिका के निचले भाग में त्रुटि प्रदर्शित करेगा। और अगर
"show_cxn_errors" सक्षम है, innotop त्रुटि टेक्स्ट को STDOUT पर भी प्रिंट करेगा। गलती
संदेश केवल उस मोड में प्रदर्शित हो सकते हैं जिसके कारण त्रुटि हुई, यह मोड और पर निर्भर करता है
क्या इनोटॉप उस कनेक्शन पर सवाल उठाने से बच रहा है।

गैर-इंटरैक्टिव संचालन


आप इनोटॉप को गैर-इंटरैक्टिव मोड में चला सकते हैं, ऐसी स्थिति में यह पूरी तरह से नियंत्रित होता है
कॉन्फ़िगरेशन फ़ाइल और कमांड-लाइन विकल्प। गैर-इंटरैक्टिव में इनोटॉप शुरू करने के लिए
मोड, L"<--nonint"> कमांड-लाइन विकल्प दें। इससे इनोटॉप का व्यवहार बदल जाता है
निम्नलिखित तरीके:

· कुछ पर्ल मॉड्यूल लोड नहीं किए गए हैं। टर्म::रीडलाइन इनोटॉप के बाद से लोड नहीं हुई है
अंतःक्रियात्मक रूप से संकेत नहीं देता. टर्म::ANSIColor और Win32::Console::ANSI मॉड्यूल हैं
लोड नहीं। टर्म::रीडकी का अभी भी उपयोग किया जाता है, क्योंकि इनोटॉप को इसके लिए संकेत देना पड़ सकता है
प्रारंभ करते समय कनेक्शन पासवर्ड।

· इनोटॉप प्रत्येक टिक के बाद स्क्रीन को साफ़ नहीं करता है।

· इनोटॉप कॉन्फ़िगरेशन फ़ाइल में कोई परिवर्तन जारी नहीं रखता है।

· यदि "--गिनती" दी गई है और इनोटॉप वृद्धिशील मोड में है ("status_inc" देखें और
"--inc"), इनोटॉप वास्तव में निर्दिष्ट से एक बार अधिक रीफ्रेश करता है ताकि यह प्रिंट कर सके
वृद्धिशील आँकड़े. यह पहले टिक के दौरान आउटपुट को दबा देता है, इसलिए इनोटॉप हो सकता है
लटके हुए दिखाई देते हैं.

· इनोटॉप प्रत्येक मोड में केवल पहली तालिका प्रदर्शित करता है। ऐसा आउटपुट हो सकता है
अन्य कमांड-लाइन उपयोगिताओं जैसे कि awk और sed के साथ आसानी से संसाधित किया जा सकता है। को बदलने
प्रत्येक मोड में कौन सी तालिकाएँ प्रदर्शित होती हैं, "TABLES" देखें। चूँकि "Q: क्वेरी सूची" मोड ऐसा है
महत्वपूर्ण, इनोटॉप स्वचालित रूप से "q_header" तालिका को अक्षम कर देता है। यह सुनिश्चित करता है कि आप ऐसा करेंगे
"प्रोसेसलिस्ट" तालिका देखें, भले ही आपने q_header दिखाने के लिए innotop को कॉन्फ़िगर किया हो
इंटरैक्टिव ऑपरेशन के दौरान तालिका। इसी तरह, "T: InnoDB लेनदेन" मोड में,
"t_header" तालिका दबा दी गई है इसलिए आपको केवल "innodb_transactions" तालिका दिखाई देती है।

· सभी आउटपुट को व्हाइटस्पेस के साथ कॉलम-संरेखित करने के बजाय टैब-पृथक किया गया है, और
इनोटॉप केवल एक स्क्रीनफुल प्रिंट करने के बजाय प्रत्येक तालिका की पूरी सामग्री प्रिंट करता है
समय पर।

· इनोटॉप प्रत्येक टिक के बजाय कॉलम हेडर को केवल एक बार प्रिंट करता है (देखें "hide_hdr")।
इनोटॉप तालिका कैप्शन प्रिंट नहीं करता है ("display_table_captions" देखें)। इनोटॉप सुनिश्चित करता है
आउटपुट में कोई खाली पंक्तियाँ नहीं हैं.

· इनोटॉप "छोटा" परिवर्तन का सम्मान नहीं करता है, जो आम तौर पर कुछ को छोटा करता है
मानव-पठनीय प्रारूपों में संख्याएँ।

· इनोटॉप स्टेटस लाइन प्रिंट नहीं करता है ("इनोटॉप स्टेटस" देखें)।

विन्यस्त


इनोटॉप के बारे में लगभग हर चीज़ कॉन्फ़िगर करने योग्य है। अधिकांश चीज़ों में बदलाव संभव है
अंतर्निहित कमांड, लेकिन आप कॉन्फ़िगरेशन फ़ाइल को संपादित भी कर सकते हैं।

इनोटॉप चलाते समय, कॉन्फ़िगरेशन संपादन संवाद लाने के लिए '$' कुंजी दबाएँ।
जिस प्रकार का डेटा आप संपादित करना चाहते हैं उसे चुनने के लिए दूसरी कुंजी दबाएँ:

एस: स्टेटमेंट स्लीप टाइम्स
SQL स्टेटमेंट स्लीप डिले को संपादित करता है, जो निर्दिष्ट मात्रा के लिए इनोटॉप को रोक देता है
किसी कथन को निष्पादित करने के बाद का समय। प्रत्येक की परिभाषा के लिए "SQL स्टेटमेंट्स" देखें
कथन और यह क्या करता है। डिफ़ॉल्ट रूप से इनोटॉप किसी भी कथन के बाद देरी नहीं करता है।

यह सुविधा शामिल की गई है ताकि आप निगरानी के कारण होने वाले दुष्प्रभावों को अनुकूलित कर सकें
आपका सर्वर. हो सकता है कि आपको कोई प्रभाव न दिखे, लेकिन कुछ इनोटॉप उपयोगकर्ताओं ने इस पर ध्यान दिया है
InnoDB सक्षम होने पर बहुत अधिक लोड के तहत कुछ MySQL संस्करण सामान्य से अधिक समय लेते हैं
वैश्विक स्थिति दिखाएं निष्पादित करने के लिए। यदि इनोटॉप कॉल तुरंत पूर्ण प्रक्रिया सूची दिखाएं
इसके बाद, प्रक्रिया सूची में मशीन के वास्तविक औसत से अधिक प्रश्न होते हैं
किसी भी क्षण. SHOW GLOBAL पर कॉल करने के बाद थोड़ी देर रुकने के लिए इनोटॉप को कॉन्फ़िगर करना
स्थिति इस प्रभाव को कम करती है।

नींद का समय कॉन्फ़िगरेशन फ़ाइल के "stmt_sleep_times" अनुभाग में संग्रहीत किया जाता है।
आपके हार्डवेयर की सीमाओं के अधीन, फ्रैक्शनल-सेकंड स्लीप समर्थित हैं।

सी: कॉलम संपादित करें
प्रदर्शित तालिकाओं में से किसी एक पर तालिका संपादक प्रारंभ करता है। "टेबल संपादक" देखें। एक
कॉन्फ़िगरेशन संवाद दर्ज किए बिना तालिका संपादक प्रारंभ करने का वैकल्पिक तरीका है
'^' कुंजी के साथ.

जी: सामान्य विन्यास
वैश्विक और मोड-विशिष्ट कॉन्फ़िगरेशन को संपादित करने के लिए कॉन्फ़िगरेशन संपादक प्रारंभ करता है
चर ("मोड" देखें)। इनोटॉप आपको इनमें से एक वेरिएबल चुनने के लिए प्रेरित करता है
वर्तमान मोड के आधार पर वैश्विक और मोड-विशिष्ट।

k: पंक्ति-रंग नियम
प्रदर्शित तालिका में से किसी एक पर पंक्ति-रंग नियम संपादक प्रारंभ करता है। "रंग" देखें
ब्योरा हेतु।

पी: प्लगइन्स प्रबंधित करें
प्लगइन कॉन्फ़िगरेशन संपादक प्रारंभ करता है. विवरण के लिए "प्लगइन्स" देखें।

s: सर्वर समूह
आपको सर्वर समूह बनाने और संपादित करने देता है। "सर्वर समूह" देखें।

टी: प्रदर्शित तालिकाएँ चुनें
आपको यह चुनने देता है कि इस मोड में कौन सी तालिकाएँ प्रदर्शित करनी हैं। "मोड" और "टेबल्स" देखें।

विन्यास फ़ाइल


इनोटॉप की डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल स्थान $HOME/.innotop और हैं
/etc/innotop/innotop.conf, और उन्हें उसी क्रम में खोजा जाता है। यदि प्रथम
कॉन्फ़िगरेशन फ़ाइल मौजूद है, दूसरी संसाधित नहीं की जाएगी. उनको ओवरराइड किया जा सकता है
"--config" कमांड-लाइन विकल्प। आप इसे सुरक्षित रूप से हाथ से संपादित कर सकते हैं, हालांकि इनोटॉप पढ़ता है
कॉन्फ़िगरेशन फ़ाइल जब प्रारंभ होती है, और, यदि केवल पढ़ने के लिए 0 पर सेट है, तो इसे फिर से लिखता है
जब यह बाहर निकलता है. इस प्रकार, यदि केवल पढ़ने के लिए 0 पर सेट किया गया है, तो कोई भी परिवर्तन आप इनोटॉप के दौरान हाथ से करते हैं
चल रहा है खो जाएगा.

इनोटॉप अपने संपूर्ण कॉन्फ़िगरेशन को कॉन्फ़िगरेशन फ़ाइल में संग्रहीत नहीं करता है। इसमें बहुत बड़ा है
डिफ़ॉल्ट कॉन्फ़िगरेशन मानों का सेट जो इसे केवल मेमोरी और कॉन्फ़िगरेशन में रखता है
फ़ाइल केवल इन डिफ़ॉल्टों को ओवरराइड करती है। जब आप एक डिफ़ॉल्ट सेटिंग को अनुकूलित करते हैं, तो innotop
नोटिस, और फिर अनुकूलन को फ़ाइल में संग्रहीत करता है। इससे फ़ाइल का आकार कम रहता है,
इसे संपादित करना आसान बनाता है, और अपग्रेड करना आसान बनाता है।

एक कॉन्फ़िगरेशन फ़ाइल केवल-पढ़ने के लिए डिफ़ॉल्ट होती है। आप इसे "--write" से ओवरराइड कर सकते हैं। देखना
"केवल पढ़ने के लिए"।

कॉन्फ़िगरेशन फ़ाइल को INI फ़ाइल की तरह अनुभागों में व्यवस्थित किया गया है। प्रत्येक अनुभाग प्रारंभ होता है
[अनुभाग-नाम] के साथ और [/अनुभाग-नाम] पर समाप्त होता है। प्रत्येक अनुभाग की प्रविष्टियों में एक है
उन्हें संग्रहीत करने के लिए आवश्यक डेटा के आधार पर भिन्न सिंटैक्स। आप इसमें टिप्पणियाँ डाल सकते हैं
फ़ाइल; # वर्ण से शुरू होने वाली कोई भी पंक्ति एक टिप्पणी है। इनोटॉप नहीं पढ़ेगा
टिप्पणियाँ, इसलिए बाहर निकलने पर यह उन्हें फ़ाइल में वापस नहीं लिखेगा। पढ़ने में टिप्पणियाँ-
हालाँकि, केवल कॉन्फ़िगरेशन फ़ाइलें ही उपयोगी हैं।

फ़ाइल की पहली पंक्ति इनोटॉप का संस्करण क्रमांक है। यह इनोटॉप को नोटिस देता है जब
फ़ाइल स्वरूप पश्चगामी-संगत नहीं है, और आपके को नष्ट किए बिना आसानी से अपग्रेड करें
अनुकूलित विन्यास.

निम्न सूची कॉन्फ़िगरेशन फ़ाइल के प्रत्येक अनुभाग और उसके डेटा का वर्णन करती है
शामिल हैं:

सामान्य
'सामान्य' अनुभाग में वैश्विक कॉन्फ़िगरेशन चर और वेरिएबल शामिल हो सकते हैं
मोड-विशिष्ट हो, लेकिन किसी अन्य अनुभाग से संबंधित न हो। वाक्यविन्यास सरल है
कुंजी=मूल्य सूची. फ़ाइल को संपादित करने में आपकी सहायता के लिए इनोटॉप प्रत्येक मान के ऊपर एक टिप्पणी लिखता है
हाथ से।

S_func
एस मोड प्रस्तुति को नियंत्रित करता है ("एस: वेरिएबल्स और स्थिति" देखें)। यदि g, तो मान हैं
रेखांकन; यदि s, मान vmstat की तरह हैं; यदि p, मान एक पिवोटेड तालिका में हैं।

एस_सेट
निर्दिष्ट करता है कि "एस: वेरिएबल्स और स्टेटस" मोड में वेरिएबल्स का कौन सा सेट प्रदर्शित किया जाए। देखना
"परिवर्तनीय सेट"।

ऑटो_वाइप_डीएल
बड़े गतिरोधों को नोटिस करने पर इनोटॉप को स्वचालित रूप से उन्हें मिटाने का निर्देश देता है।
जब ऐसा होता है तो आपको थोड़ी देरी दिखाई दे सकती है। अगले टिक पर, आप करेंगे
आम तौर पर वह जानकारी देखते हैं जो बड़े गतिरोध के कारण कम हो रही थी।

चारसेट
निर्दिष्ट करता है कि "no_ctrl_char" के माध्यम से किस प्रकार के वर्णों की अनुमति दी जानी है
परिवर्तन. यह गैर-मुद्रण योग्य वर्णों को टर्मिनल को भ्रमित करने से बचाता है
जब आप उन क्वेरीज़ की निगरानी करते हैं जिनमें बाइनरी डेटा होता है, जैसे कि छवियां।

डिफ़ॉल्ट 'ascii' है, जो सामान्य ASCII के बाहर किसी भी चीज़ को a मानता है
नियंत्रण चरित्र. अन्य स्वीकार्य मान 'यूनिकोड' और 'कोई नहीं' हैं। 'कोई नहीं'
प्रत्येक चरित्र को एक नियंत्रण चरित्र मानता है, जो ढहने के लिए उपयोगी हो सकता है
प्रश्नों में सभी पाठ फ़ील्ड.

cmd_फ़िल्टर
यह वह उपसर्ग है जो "C: Command Summary" मोड में वेरिएबल्स को फ़िल्टर करता है।

रंग
क्या टर्मिनल को रंगने की अनुमति है.

cxn_timeout
MySQL संस्करण 4.0.3 और नए पर, इस वेरिएबल का उपयोग कनेक्शन सेट करने के लिए किया जाता है
टाइमआउट, इसलिए यदि कुछ समय तक इसका उपयोग नहीं किया जाता है तो MySQL कनेक्शन बंद नहीं करता है।
ऐसा इसलिए हो सकता है क्योंकि किसी कनेक्शन की किसी विशेष मोड में निगरानी नहीं की जाती है
उदाहरण।

डिबग
यह विकल्प अधिक वर्बोज़ त्रुटियों को सक्षम बनाता है और कुछ में इनोटॉप को अधिक सख्त बनाता है
स्थान। यह फ़िल्टर और अन्य उपयोगकर्ता-परिभाषित कोड को डीबग करने में मदद कर सकता है। यह भी
क्रैश होने पर इनोटॉप "डीबगफाइल" में बहुत सारी जानकारी लिखता है।

डिबगफाइल
एक फ़ाइल जिसमें क्रैश होने पर इनोटॉप जानकारी लिखेगा। देखना
"फ़ाइलें"।

डिस्प्ले_टेबल_कैप्शन
इनोटॉप अधिकांश तालिकाओं के ऊपर एक तालिका कैप्शन प्रदर्शित करता है। यह चर या को दबा देता है
वैश्विक स्तर पर सभी तालिकाओं पर कैप्शन दिखाता है। कुछ तालिकाओं को इसके साथ कॉन्फ़िगर किया गया है
Hide_caption संपत्ति, जो इसे ओवरराइड करती है।

वैश्विक
क्या वैश्विक चर और स्थिति दिखानी है। इनोटॉप केवल ऐसा करने का प्रयास करता है
सर्वर जो वैरिएबल दिखाने और स्थिति दिखाने के लिए वैश्विक विकल्प का समर्थन करते हैं। में
कुछ MySQL संस्करणों में, ऐसा करने के लिए आपको कुछ विशेषाधिकारों की आवश्यकता होती है; यदि आपके पास नहीं है
उन्हें, इनोटॉप कोई भी वैरिएबल और स्थिति डेटा लाने में सक्षम नहीं होगा। यह
कॉन्फ़िगरेशन वैरिएबल आपको इनोटॉप चलाने और आप कौन सा डेटा प्राप्त कर सकते हैं उसे लाने की सुविधा देता है
उन्नत विशेषाधिकारों के बिना.

मैं अब उस स्थिति को ढूंढ या पुनरुत्पादित नहीं कर सकता जहां ग्लोबल की अनुमति नहीं थी, लेकिन मैं
पता है वहाँ एक था.

ग्राफ_चार
"एस: वेरिएबल्स और स्टेटस" मोड में ग्राफ़ बनाते समय उपयोग किए जाने वाले वर्ण को परिभाषित करता है।

हेडर_हाइलाइट
कॉलम हेडर को हाइलाइट करने का तरीका परिभाषित करता है। यह केवल तभी काम करता है जब टर्म::ANSIColor है
उपलब्ध। मान्य मान 'बोल्ड' और 'अंडरलाइन' हैं।

Hide_hdr
विश्व स्तर पर कॉलम हेडर छुपाता है।

अंतराल
वह अंतराल जिस पर इनोटॉप अपने डेटा (टिक्स) को ताज़ा करेगा। अंतराल है
इसे टिकों के बीच सोने के समय के रूप में लागू किया गया है, इसलिए वास्तविक अंतराल अलग-अलग होगा
यह इस पर निर्भर करता है कि इनोटॉप को डेटा लाने और प्रस्तुत करने में कितना समय लगता है।

यह वेरिएबल एक सेकंड के अंशों को स्वीकार करता है।

मोड
वह मोड जिसमें इनोटॉप प्रारंभ होना चाहिए। स्वीकार्य तर्क वही हैं
कुंजी दबाएँ जो अंतःक्रियात्मक रूप से एक मोड का चयन करती हैं। "मोड" देखें।

यदि num_digits
भिन्नात्मक संख्याओं और प्रतिशतों में कितने अंक दिखाने हैं। इस चर की सीमा
0 और 9 के बीच है और इसे सीधे "S: वेरिएबल्स और स्टेटस" मोड से सेट किया जा सकता है
'+' और '-' कुंजी. इसका उपयोग "set_precision", "shorten", और "percent" में किया जाता है
परिवर्तन।

num_status_sets
नियंत्रित करता है कि पिवोटेड "एस: वेरिएबल्स और में स्टेटस वेरिएबल्स के कितने सेट प्रदर्शित किए जाएं
स्टेटस" मोड। यह इनोटॉप में रखे गए वेरिएबल्स के पुराने सेटों की संख्या को भी नियंत्रित करता है
इसकी मेमोरी में, इसलिए यह वेरिएबल जितना बड़ा होगा, इनोटॉप उतनी ही अधिक मेमोरी का उपयोग करेगा।

प्लगइन_डीआईआर
निर्दिष्ट करता है कि प्लगइन्स कहाँ मिल सकते हैं। डिफ़ॉल्ट रूप से, इनोटॉप प्लगइन्स को स्टोर करता है
आपके इनोटॉप कॉन्फ़िगरेशन निर्देशिका की 'प्लगइन्स' उपनिर्देशिका।

सिफ़ पढ़िये
क्या कॉन्फ़िगरेशन फ़ाइल केवल पढ़ने योग्य है. इसे अंतःक्रियात्मक रूप से सेट नहीं किया जा सकता.

show_cxn_errors
STDOUT में इनोटॉप प्रिंट कनेक्शन त्रुटियाँ बनाता है। "त्रुटि प्रबंधन" देखें।

show_cxn_errors_in_tbl
स्क्रीन पर पहली तालिका में पंक्तियों के रूप में इनोटॉप डिस्प्ले कनेक्शन त्रुटियाँ बनाता है। देखना
"त्रुटि प्रबंधन"।

show_percent
"प्रतिशत" परिवर्तन द्वारा लौटाए गए मान के बाद एक '%' वर्ण जोड़ता है।

show_statusbar
नियंत्रित करता है कि डिस्प्ले में स्टेटस बार दिखाना है या नहीं। "इनोटॉप स्थिति" देखें।

स्किप_इन्नोडब
यदि आपके सर्वर में InnoDB नहीं है, तो SHOW INNODB स्थिति प्राप्त करना अक्षम कर देता है
सक्षम है और आप नहीं चाहते कि innotop इसे लाने का प्रयास करे। ये भी उपयोगी हो सकता है
जब आपके पास SHOW INNODB STATUS चलाने के लिए आवश्यक सुपर विशेषाधिकार नहीं है।

status_inc
स्थिति चर के लिए निरपेक्ष या वृद्धिशील मान दिखाना है या नहीं। इंक्रीमेंटल
मूल्यों की गणना उसके लिए इनोटॉप द्वारा देखे गए अंतिम मूल्य से ऑफसेट के रूप में की जाती है
चर। यह एक वैश्विक सेटिंग है, लेकिन संभवतः यह मोड-विशिष्ट बन जाएगी
बात में दम है। अभी इसे थोड़ा असंगत रूप से सम्मानित किया जाता है; कुछ तरीके भुगतान नहीं करते
इस पर ध्यान दें.

plugins
यह अनुभाग सक्रिय प्लगइन्स के पैकेज नामों की एक सूची रखता है। यदि प्लगइन मौजूद है,
इनोटॉप इसे सक्रिय कर देगा। अधिक जानकारी के लिए "प्लगइन्स" देखें।

फ़िल्टर
यह अनुभाग उपयोगकर्ता-परिभाषित फ़िल्टर रखता है ("फ़िल्टर" देखें)। प्रत्येक पंक्ति प्रारूप में है
फ़िल्टर_नाम=पाठ='फ़िल्टर पाठ' tbls='तालिका सूची'।

फ़िल्टर टेक्स्ट सबरूटीन के कोड का टेक्स्ट है। तालिका सूची की एक सूची है
तालिकाएँ जिन पर फ़िल्टर लागू हो सकता है। डिफ़ॉल्ट रूप से, उपयोगकर्ता-परिभाषित फ़िल्टर लागू होते हैं
तालिका जिसके लिए वे बनाई गई थीं, लेकिन आप उसे संपादित करके मैन्युअल रूप से ओवरराइड कर सकते हैं
कॉन्फ़िगरेशन फ़ाइल में परिभाषा.

सक्रिय_फ़िल्टर
यह अनुभाग संग्रहीत करता है कि प्रत्येक तालिका पर कौन से फ़िल्टर सक्रिय हैं। प्रत्येक पंक्ति में है
प्रारूप तालिका_नाम = फ़िल्टर_सूची।

tbl_meta
यह अनुभाग उपयोगकर्ता-परिभाषित या उपयोगकर्ता-अनुकूलित कॉलम संग्रहीत करता है ("कॉलम" देखें)। प्रत्येक
लाइन col_name=properties प्रारूप में है, जहां गुण a हैं
नाम=उद्धृत-मूल्य सूची।

कनेक्शन
यह अनुभाग आपके द्वारा परिभाषित सर्वर कनेक्शन रखता है। प्रत्येक पंक्ति में है
प्रारूप नाम=गुण, जहां गुण एक नाम=मूल्य सूची हैं। गुण
स्व-व्याख्यात्मक हैं, और एकमात्र ऐसा विषय है जिसका विशेष रूप से इलाज किया जाता है वह है 'पास' जो कि है
केवल तभी उपस्थित होता है जब 'सेवपास' सेट हो। कॉन्फ़िगरेशन फ़ाइल का यह अनुभाग होगा
यदि कोई डीएसएन, उपयोगकर्ता नाम, या पासवर्ड कमांड-लाइन विकल्प का उपयोग किया जाता है तो छोड़ दिया जाता है। देखें "सर्वर
सम्बन्ध"।

active_connections
यह अनुभाग प्रत्येक मोड में कौन से कनेक्शन सक्रिय हैं इसकी एक सूची रखता है। प्रत्येक पंक्ति है
प्रारूप mode_name=connection_list में।

सर्वर_समूह
यह अनुभाग सर्वर समूह रखता है. प्रत्येक पंक्ति नाम=कनेक्शन_सूची प्रारूप में है।
"सर्वर समूह" देखें।

सक्रिय_सर्वर_समूह
यह अनुभाग प्रत्येक मोड में कौन सा सर्वर समूह सक्रिय है इसकी एक सूची रखता है। प्रत्येक पंक्ति है
प्रारूप mode_name=server_group में।

max_values_seen
यह अनुभाग चरों के लिए देखे गए अधिकतम मान रखता है। इसका उपयोग स्केल करने के लिए किया जाता है
"एस: वेरिएबल्स और स्टेटस" मोड में ग्राफ़। प्रत्येक पंक्ति नाम=मान प्रारूप में है।

सक्रिय_कॉलम
यह अनुभाग तालिका स्तंभ सूचियाँ रखता है। प्रत्येक पंक्ति प्रारूप में है
tbl_name=column_list. "कॉलम" देखें।

sort_cols
यह अनुभाग सॉर्ट परिभाषा रखता है। प्रत्येक पंक्ति प्रारूप में है
tbl_name=column_list. यदि किसी कॉलम के पहले '-' लगा है, तो वह कॉलम नीचे की ओर क्रमबद्ध होता है।
"सॉर्टिंग" देखें।

दृश्य_टेबल
यह अनुभाग परिभाषित करता है कि प्रत्येक मोड में कौन सी तालिकाएँ दृश्यमान हैं। प्रत्येक पंक्ति में है
प्रारूप मोड_नाम = तालिका_सूची। "टेबल्स" देखें।

वर्सेट्स
यह अनुभाग "एस: स्थिति और चर" मोड में उपयोग के लिए चर सेट को परिभाषित करता है। प्रत्येक पंक्ति
प्रारूप name=variable_list में है। "परिवर्तनीय सेट" देखें।

रंग
यह अनुभाग रंगीकरण नियमों को परिभाषित करता है। प्रत्येक पंक्ति प्रारूप में है
tbl_name=संपत्ति_सूची. "रंग" देखें।

stmt_sleep_times
इस अनुभाग में कथन नींद का समय शामिल है। प्रत्येक पंक्ति प्रारूप में है
कथन_नाम=नींद_समय. देखें "एस: स्टेटमेंट स्लीप टाइम्स"।

द्वारा समूह बनाएं
इस अनुभाग में तालिका ग्रुप_बाय अभिव्यक्तियों के लिए कॉलम सूचियां हैं। प्रत्येक पंक्ति में है
प्रारूप tbl_name=column_list. "ग्रुपिंग" देखें।

अनुरूपण


आप इनोटॉप को काफी हद तक कस्टमाइज़ कर सकते हैं। उदाहरण के लिए, आप यह कर सकते हैं:

· चुनें कि कौन सी तालिकाएँ प्रदर्शित करनी हैं, और किस क्रम में।

· चुनें कि उन तालिकाओं में कौन से कॉलम हैं, और नए कॉलम बनाएं।

· फ़िल्टर करें कि कौन सी पंक्तियाँ अंतर्निहित फ़िल्टर, उपयोगकर्ता-परिभाषित फ़िल्टर और त्वरित- के साथ प्रदर्शित होती हैं
फिल्टर।

· महत्वपूर्ण डेटा को पहले रखने के लिए पंक्तियों को क्रमबद्ध करें या संबंधित पंक्तियों को एक साथ समूहित करें।

· पंक्तियों को रंग से हाइलाइट करें.

· स्तंभों के संरेखण, चौड़ाई और स्वरूपण को अनुकूलित करें, और परिवर्तन लागू करें
स्तंभों से उनके मानों के कुछ हिस्सों को निकालने या अपनी इच्छानुसार मानों को प्रारूपित करने के लिए (के लिए)।
उदाहरण के लिए, बड़ी संख्याओं को परिचित इकाइयों में छोटा करना)।

· आवश्यकतानुसार डेटा निकालने और संयोजित करने के लिए अपनी स्वयं की अभिव्यक्तियाँ डिज़ाइन करें। यह आपको देता है
असीमित लचीलापन.

इन सभी तथा और भी बहुत कुछ को निम्नलिखित अनुभागों में समझाया गया है।

टेबल
एक तालिका वह है जिसकी आप अपेक्षा करते हैं: स्तंभों का एक संग्रह। इसके कुछ अन्य गुण भी हैं,
जैसे कि एक कैप्शन. फ़िल्टर, सॉर्टिंग नियम और रंगीकरण नियम तालिकाओं से संबंधित हैं
बाद के अनुभागों में शामिल हैं।

आंतरिक रूप से, तालिका मेटा-डेटा को %tbl_meta नामक डेटा संरचना में परिभाषित किया गया है। यह हैश
सभी अंतर्निहित तालिका परिभाषाएँ रखता है, जिसमें बहुत सारे डिफ़ॉल्ट निर्देश होते हैं
innotop. मेटा-डेटा में कैप्शन, उपयोगकर्ता द्वारा अनुकूलित किए गए कॉलम की एक सूची शामिल है
स्तंभों की सूची, दृश्यमान स्तंभों की सूची, फ़िल्टर की सूची, रंग नियम, सॉर्ट-कॉलम
सूची, क्रमबद्ध दिशा, और तालिका के डेटा स्रोतों के बारे में कुछ जानकारी। इसमें से अधिकांश
तालिका संपादक के माध्यम से अनुकूलन योग्य है ("टेबल संपादक" देखें)।

आप '$' कुंजी दबाकर चुन सकते हैं कि कौन सी तालिकाएँ दिखानी हैं। "मोड" और "टेबल्स" देखें।

तालिका का जीवन-चक्र इस प्रकार है:

· प्रत्येक तालिका एक डेटा स्रोत से शुरू होती है, जो हैश की एक सरणी है। के लिए नीचे देखें
डेटा स्रोतों पर विवरण.

· डेटा स्रोत का प्रत्येक तत्व अंतिम तालिका में एक पंक्ति बन जाता है।

· डेटा स्रोत में प्रत्येक तत्व के लिए, इनोटॉप स्रोत से मान निकालता है
एक पंक्ति बनाता है. यह पंक्ति एक और हैश है, जिसे बाद के चरण $set के रूप में संदर्भित करेंगे।
इनोटॉप अर्क का मान तालिका के कॉलम द्वारा निर्धारित किया जाता है। प्रत्येक कॉलम में एक है
निष्कर्षण सबरूटीन, एक अभिव्यक्ति से संकलित (देखें "अभिव्यक्तियाँ")। परिणामस्वरूप
पंक्ति एक हैश है जिसकी कुंजियों का नाम कॉलम नाम के समान ही रखा गया है।

· इनोटॉप पंक्तियों को फ़िल्टर करता है, उन पंक्तियों को हटा देता है जिन्हें प्रदर्शित करने की आवश्यकता नहीं है। देखना
"फ़िल्टर"।

· इनोटॉप पंक्तियों को क्रमबद्ध करता है। "सॉर्टिंग" देखें।

यदि निर्दिष्ट हो तो इनोटॉप पंक्तियों को एक साथ समूहित करता है। "ग्रुपिंग" देखें।

· इनोटॉप पंक्तियों को रंगीन करता है। "रंग" देखें।

· इनोटॉप प्रत्येक पंक्ति में कॉलम मानों को बदल देता है। "परिवर्तन" देखें।

· इनोटॉप वैकल्पिक रूप से पंक्तियों को पिवोट करता है ("पिवोटिंग" देखें), फिर उन्हें फ़िल्टर और सॉर्ट करता है।

· इनोटॉप प्रारूप और पंक्तियों को एक तालिका के रूप में उचित ठहराता है। इस चरण के दौरान, इनोटॉप लागू होता है
संरेखण, अधिकतम और न्यूनतम सहित, कॉलम मानों को और स्वरूपित करना
चौड़ाई. इनोटॉप यह सुनिश्चित करने के लिए अंतिम त्रुटि जाँच भी करता है कि इसके कारण कोई दुर्घटना न हो
अपरिभाषित मान. यदि निर्दिष्ट किया गया है तो innotop एक कैप्शन जोड़ता है, और तालिका तैयार हो जाती है
प्रिंट।

जैसा कि ऊपर बताया गया है, यदि तालिका को घुमाया जाए तो जीवनचक्र थोड़ा अलग होता है। स्पष्ट करना,
यदि तालिका को पिवोट किया गया है, तो प्रक्रिया एक्सट्रेक्ट, ग्रुप, ट्रांसफ़ॉर्म, पिवोट, फ़िल्टर, सॉर्ट, है
बनाएं। यदि इसे घुमाया नहीं गया है, तो प्रक्रिया है अर्क, फ़िल्टर, सॉर्ट, समूह, रंग,
बदलना, बनाना. यह थोड़ी सी जटिल प्रक्रिया SQL पर इतनी अच्छी तरह से मैप नहीं करती है, लेकिन
धुरी बनाना चीज़ों को बहुत अधिक जटिल बना देता है। मोटे तौर पर बोलना, फ़िल्टर करना और सॉर्ट करना
अंतिम परिणाम को प्रभावित करने के लिए जितनी देर की आवश्यकता हो उतनी देर से घटित हो, जितनी आप उम्मीद कर सकते हैं, लेकिन जितनी जल्दी हो सके
दक्षता के लिए संभव है.

प्रत्येक अंतर्निर्मित तालिका नीचे वर्णित है:

अनुकूली_हैश_सूचकांक
InnoDB के अनुकूली हैश इंडेक्स के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

बफ़र_पूल
InnoDB के बफ़र पूल के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

cmd_सारांश
भारित स्थिति चर प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

गतिरोध_ताले
दिखाता है कि अंतिम पता लगाए गए गतिरोध तक कौन से ताले पकड़े गए थे और प्रतीक्षा की गई थी। आंकड़े
स्रोत: "DEADLOCK_LOCKS"।

गतिरोध_लेनदेन
अंतिम पता लगाए गए गतिरोध में शामिल लेनदेन दिखाता है। डेटा स्रोत:
"DEADLOCK_TRANSACTIONS"।

समझाना
EXPLAIN का आउटपुट दिखाता है। डेटा स्रोत: "स्पष्ट करें"।

फ़ाइल_io_misc
InnoDB की फ़ाइल और I/O संचालन के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत:
"STATUS_VARIABLES"।

fk_error
InnoDB की अंतिम विदेशी कुंजी त्रुटि के बारे में विभिन्न डेटा प्रदर्शित करता है। डेटा स्रोत:
"STATUS_VARIABLES"।

innodb_locks
InnoDB ताले प्रदर्शित करता है। डेटा स्रोत: "INNODB_LOCKS"।

innodb_transactions
InnoDB के वर्तमान लेनदेन के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत:
"INNODB_TRANSACTIONS"।

Insert_buffers
InnoDB के सम्मिलित बफ़र के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

io_threads
InnoDB के I/O थ्रेड के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "IO_THREADS"।

log_statistics
InnoDB के लॉगिंग सिस्टम के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

मास्टर_स्थिति
प्रतिकृति मास्टर स्थिति प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

open_tables
खुली हुई तालिकाएँ प्रदर्शित करता है. डेटा स्रोत: "OPEN_TABLES"।

पृष्ठ_आँकड़े
InnoDB पृष्ठ आँकड़े प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

लंबित_io
InnoDB लंबित I/O परिचालन प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

प्रक्रिया सूची
वर्तमान MySQL प्रक्रियाओं (थ्रेड्स/कनेक्शन) को प्रदर्शित करता है। डेटा स्रोत: "प्रोसेसलिस्ट"।

q_header
विभिन्न स्थिति मान प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

पंक्ति_संचालन_विविध
InnoDB के पंक्ति संचालन के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

पंक्ति_संचालन
InnoDB के पंक्ति संचालन के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

सेमाफोर
InnoDB के सेमाफोर और म्यूटेक्स के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

गुलाम_आईओ_स्थिति
स्लेव I/O थ्रेड के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

स्लेव_एसक्यूएल_स्टेटस
स्लेव SQL थ्रेड के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

t_शीर्षलेख
विभिन्न InnoDB स्थिति मान प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

var_status
उपयोगकर्ता-कॉन्फ़िगर करने योग्य डेटा प्रदर्शित करता है। डेटा स्रोत: "STATUS_VARIABLES"।

प्रतीक्षा_सरणी
InnoDB के OS प्रतीक्षा सरणी के बारे में डेटा प्रदर्शित करता है। डेटा स्रोत: "OS_WAIT_ARRAY"।

कॉलम
कॉलम तालिकाओं से संबंधित हैं। आप '^' कुंजी दबाकर तालिका के कॉलम चुन सकते हैं, जो
"टेबल संपादक" प्रारंभ करता है और आपको कॉलम चुनने और संपादित करने देता है। भीतर से 'ई' दबाना
तालिका संपादक आपको कॉलम के गुणों को संपादित करने देता है:

· एचडीआर: एक कॉलम हेडर. यह तालिका की पहली पंक्ति में दिखाई देता है.

· बस: औचित्य. '-' का अर्थ है वाम-उचित और '' का अर्थ है दाएँ-उचित, ठीक वैसे ही
प्रिंटफ फ़ॉर्मेटिंग कोड के साथ (संयोग नहीं)।

· dec: दशमलव बिंदु पर कॉलम को और संरेखित करना है या नहीं।

· संख्या: क्या कॉलम संख्यात्मक है. यह प्रभावित करता है कि मूल्यों को कैसे क्रमबद्ध किया जाता है (शाब्दिक रूप से या)।
संख्यात्मक रूप से)।

· लेबल: कॉलम के बारे में एक छोटा नोट, जो उपयोगकर्ता की मदद करने वाले संवादों में दिखाई देता है
कॉलम चुनें.

· src: एक अभिव्यक्ति जिसका उपयोग इनोटॉप अपने स्रोत से कॉलम के डेटा को निकालने के लिए करता है (देखें)।
"डेटा स्रोत")। अभिव्यक्तियों पर अधिक जानकारी के लिए "अभिव्यक्तियाँ" देखें।

· न्यूनतम: न्यूनतम प्रदर्शन चौड़ाई निर्दिष्ट करता है। यह डिस्प्ले को स्थिर करने में मदद करता है, जो
यदि डेटा बार-बार बदल रहा हो तो इसे पढ़ना आसान हो जाता है।

· मैक्सव: मिनव के समान।

· ट्रांस: कॉलम परिवर्तनों की एक सूची। "परिवर्तन" देखें।

· एजीजी: एक समग्र कार्य। "ग्रुपिंग" देखें। डिफ़ॉल्ट "प्रथम" है।

· एगगोनली: नियंत्रित करता है कि क्या कॉलम केवल तभी दिखता है जब टेबल पर ग्रुपिंग सक्षम होती है
(देखें "ग्रुपिंग")। डिफ़ॉल्ट रूप से, यह अक्षम है. इसका मतलब है कि कॉलम हमेशा रहेंगे
डिफ़ॉल्ट रूप से दिखाया गया है, चाहे समूहीकरण सक्षम है या नहीं। यदि किसी कॉलम का एगगोनली सेट किया गया है
सच है, जब आप टेबल पर ग्रुपिंग टॉगल करेंगे तो कॉलम दिखाई देगा। अनेक स्तम्भ
इस प्रकार सेट किए गए हैं, जैसे "प्रोसेसलिस्ट" और "innodb_transactions" पर गिनती कॉलम,
इसलिए जब समूहीकरण सक्षम नहीं होता है तो आपको कोई गिनती दिखाई नहीं देती है, लेकिन जब यह सक्षम होती है तो आप गिनती देखते हैं।

फिल्टर
फ़िल्टर डिस्प्ले से पंक्तियाँ हटा देते हैं। वे SQL में WHERE क्लॉज की तरह व्यवहार करते हैं।
इनोटॉप में कई अंतर्निहित फ़िल्टर हैं, जो निष्क्रिय जैसी अप्रासंगिक जानकारी को हटा देते हैं
प्रश्न, लेकिन आप अपना खुद का भी परिभाषित कर सकते हैं। इनोटॉप आपको त्वरित-फ़िल्टर बनाने की सुविधा भी देता है,
जो कॉन्फ़िगरेशन फ़ाइल में सहेजे नहीं जाते हैं, और त्वरित रूप से देखने का एक आसान तरीका हैं
केवल कुछ पंक्तियाँ.

आप किसी भी टेबल पर फ़िल्टर को सक्षम या अक्षम कर सकते हैं। '%' कुंजी दबाएँ (स्मरणीय: % दिखता है
दो वृत्तों के बीच फ़िल्टर की जा रही एक रेखा की तरह) और चुनें कि आप कौन सी तालिका चाहते हैं
यदि पूछा जाए तो फ़िल्टर करें। फिर आपको संभावित फ़िल्टर की एक सूची और फ़िल्टर की एक सूची दिखाई देगी
वर्तमान में उस तालिका के लिए सक्षम है। उन फ़िल्टर के नाम टाइप करें जिन्हें आप लागू करना चाहते हैं और दबाएँ
दर्ज करें।

उपयोगकर्ता परिभाषित फिल्टर

यदि आप कोई ऐसा नाम टाइप करते हैं जो मौजूद नहीं है, तो इनोटॉप आपको फ़िल्टर बनाने के लिए संकेत देगा।
यदि आप पर्ल को जानते हैं तो फ़िल्टर बनाना आसान है, और यदि नहीं तो कठिन नहीं है। क्या आप कर रहे हैं
एक सबरूटीन बना रहा है जो पंक्ति प्रदर्शित होने पर सत्य लौटाता है। पंक्ति एक है
हैश संदर्भ आपके सबरूटीन को $set के रूप में पास कर दिया गया है।

उदाहरण के लिए, कल्पना करें कि आप प्रक्रिया सूची तालिका को फ़िल्टर करना चाहते हैं ताकि आपको केवल वही क्वेरीज़ दिखाई दें
पाँच मिनट से अधिक समय से चल रहे हैं। अपने फ़िल्टर के लिए एक नया नाम टाइप करें, और कब
सबरूटीन बॉडी के लिए संकेत दिया जाए, तो अपने टर्मिनल का स्वत: समापन शुरू करने के लिए TAB दबाएं।
आप "प्रोसेसलिस्ट" तालिका में कॉलम के नाम देखेंगे (इनोटॉप आमतौर पर ऐसा करने का प्रयास करता है
स्वत: पूर्णता सूचियों में आपकी सहायता करें)। आप 'समय' कॉलम पर फ़िल्टर करना चाहते हैं। लिखें
जब क्वेरी पांच मिनट से अधिक पुरानी हो तो सत्य लौटाने के लिए "$set->{time} > 300" टेक्स्ट करें।
आपको बस इतना ही करना है।

दूसरे शब्दों में, जो कोड आप टाइप कर रहे हैं वह एक अंतर्निहित संदर्भ से घिरा हुआ है, जो दिखता है
इस तरह:

उप फ़िल्टर {
मेरा ($ सेट ) = @_;
# आपका कोड यहां
}

यदि आपका फ़िल्टर काम नहीं करता है, या कोई अन्य चीज़ अचानक अलग व्यवहार करती है, तो आप ऐसा कर सकते हैं
आपके फ़िल्टर में कोई त्रुटि हुई है, और इनोटॉप चुपचाप त्रुटि पकड़ रहा है। कोशिश
इसके बजाय इनोटॉप में त्रुटि उत्पन्न करने के लिए "डीबग" को सक्षम करना।

त्वरित-फ़िल्टर

इनोटॉप के त्वरित-फ़िल्टर एक अस्थायी फ़िल्टर बनाने का एक शॉर्टकट हैं जो कायम नहीं रहता है
जब आप इनोटॉप को पुनः आरंभ करते हैं। त्वरित-फ़िल्टर बनाने के लिए, '/' कुंजी दबाएँ। इनोटॉप विल
आपको कॉलम नाम और फ़िल्टर टेक्स्ट के लिए संकेत देगा। फिर से, आप स्वत: पूर्णता का उपयोग कर सकते हैं
स्तंभ नाम. फ़िल्टर टेक्स्ट केवल वह टेक्स्ट हो सकता है जिसे आप "खोजना" चाहते हैं। के लिए
उदाहरण के लिए, उत्पाद तालिका को संदर्भित करने वाले प्रश्नों पर "प्रक्रिया सूची" तालिका को फ़िल्टर करने के लिए,
'/' टाइप करें और फिर 'जानकारी उत्पाद' टाइप करें।

फ़िल्टर टेक्स्ट वास्तव में कोई भी पर्ल नियमित अभिव्यक्ति हो सकता है, लेकिन निश्चित रूप से शाब्दिक
'उत्पाद' जैसी स्ट्रिंग नियमित अभिव्यक्ति के रूप में ठीक काम करती है।

पर्दे के पीछे इनोटॉप त्वरित-फ़िल्टर को एक विशेष रूप से टैग किए गए फ़िल्टर में संकलित करता है
अन्यथा किसी भी अन्य फ़िल्टर की तरह। यह कॉन्फ़िगरेशन फ़ाइल में सहेजा नहीं गया है।

त्वरित-फ़िल्टर साफ़ करने के लिए, '\' कुंजी दबाएँ और इनोटॉप उन सभी को एक ही बार में साफ़ कर देगा।

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

सॉर्ट संवाद प्रारंभ करने के लिए, "तालिका संपादक" को '^' कुंजी से प्रारंभ करें, यदि कोई तालिका चुनें
आवश्यक है, और 's' कुंजी दबाएँ। आपको उन स्तंभों की एक सूची दिखाई देगी जिनका उपयोग आप सॉर्ट में कर सकते हैं
अभिव्यक्ति और वर्तमान प्रकार की अभिव्यक्ति, यदि कोई हो। उन स्तंभों की सूची दर्ज करें जिनके द्वारा आप
सॉर्ट करना चाहते हैं और एंटर दबाएँ। यदि आप रिवर्स सॉर्ट करना चाहते हैं, तो कॉलम नाम के पहले a लगाएं
ऋण चिह्न। उदाहरण के लिए, यदि आप कॉलम ए को आरोही क्रम में क्रमबद्ध करना चाहते हैं, तो कॉलम बी
अवरोही क्रम में 'ए-बी' टाइप करें। आप अपने इच्छित कॉलम के सामने स्पष्ट रूप से + भी जोड़ सकते हैं
आरोही क्रम में लगाएं, लेकिन इसकी आवश्यकता नहीं है।

कुछ मोड में इस संवाद को सीधे खोलने के लिए और त्वरित रूप से रिवर्स सॉर्ट करने के लिए कुंजियाँ मैप की गई हैं
दिशा। प्रेस '?' हमेशा की तरह यह देखने के लिए कि कौन सी कुंजियाँ किसी भी मोड में मैप की गई हैं।

समूहीकरण
इनोटॉप पंक्तियों को एक साथ समूहित या एकत्रित कर सकता है (शब्दों का उपयोग परस्पर विनिमय के लिए किया जाता है)। यह
SQL GROUP BY क्लॉज के काफी समान है। आप कुछ स्तंभों पर समूह निर्दिष्ट कर सकते हैं,
या यदि आप कोई निर्दिष्ट नहीं करते हैं, तो पंक्तियों के पूरे सेट को एक समूह माना जाता है। यह है
अब तक काफी हद तक SQL की तरह, लेकिन SQL के विपरीत, आप अन-ग्रुप्ड कॉलम भी चुन सकते हैं। innotop
वास्तव में प्रत्येक कॉलम को एकत्रित करता है। यदि आप समूहीकरण फ़ंक्शन को स्पष्ट रूप से निर्दिष्ट नहीं करते हैं,
डिफ़ॉल्ट 'प्रथम' है. यह मूल रूप से एक सुविधा है इसलिए आपको कोई निर्दिष्ट करने की आवश्यकता नहीं है
परिणाम में आपके इच्छित प्रत्येक कॉलम के लिए समग्र फ़ंक्शन।

आप '=' कुंजी के साथ किसी तालिका पर समूहीकरण को शीघ्रता से टॉगल कर सकते हैं, जो इसके समुच्चय को टॉगल करता है
संपत्ति। यह गुण कॉन्फ़िग फ़ाइल पर कायम नहीं रहता है।

जिन स्तंभों द्वारा तालिका को समूहीकृत किया गया है, वे इसके Group_by गुण में निर्दिष्ट हैं। कब
आप ग्रुपिंग चालू करते हैं, इनोटॉप ग्रुप_बाय कॉलम को तालिका के सबसे बाईं ओर रखता है,
भले ही वे दृश्यमान न हों। शेष दृश्यमान कॉलम दिखाई देते हैं
उनके बाद ऑर्डर करें.

दो तालिकाओं में डिफ़ॉल्ट ग्रुप_बाय सूचियाँ और एक गिनती कॉलम बनाया गया है: "प्रोसेसलिस्ट" और
"innodb_transactions"। समूहीकरण कनेक्शन और स्थिति के आधार पर होता है, इसलिए आप तुरंत देख सकते हैं
आपके द्वारा मॉनिटर किए जा रहे प्रत्येक सर्वर पर दी गई स्थिति में कितने प्रश्न या लेनदेन हैं।
समय स्तंभों को योग के रूप में एकत्रित किया जाता है; अन्य कॉलम डिफ़ॉल्ट 'पहले' पर छोड़े गए हैं
एकत्रीकरण।

डिफ़ॉल्ट रूप से, "एस: वेरिएबल्स और स्टेटस" मोड में दिखाई गई तालिका भी ग्रुपिंग का उपयोग करती है ताकि आप कर सकें
कई सर्वरों पर चर और स्थिति की निगरानी करें। डिफ़ॉल्ट एकत्रीकरण फ़ंक्शन
यह मोड 'औसत' है.

मान्य समूहीकरण फ़ंक्शन %agg_funcs हैश में परिभाषित किए गए हैं। वे सम्मिलित करते हैं

प्रथम
समूह में पहला तत्व लौटाता है।

गणना
समूह में तत्वों की संख्या लौटाता है, जिसमें अपरिभाषित तत्व भी शामिल हैं
SQL की COUNT(*).

avg समूह में परिभाषित तत्वों का औसत लौटाता है।

योग समूह में तत्वों का योग लौटाता है।

यहां कार्यस्थल पर समूहीकरण का एक उदाहरण दिया गया है। मान लीजिए कि आपके पास सैकड़ों लोगों वाला एक बहुत व्यस्त सर्वर है
खुले कनेक्शनों की संख्या, और आप देखना चाहते हैं कि कितने कनेक्शन किस स्थिति में हैं। का उपयोग करते हुए
अंतर्निहित समूहीकरण नियमों के अनुसार, आप "क्यू: क्वेरी सूची" मोड में प्रवेश करने के लिए 'क्यू' दबा सकते हैं। '=' दबाएँ
ग्रुपिंग को टॉगल करने के लिए (यदि आवश्यक हो, संकेत मिलने पर "प्रोसेसलिस्ट" तालिका का चयन करें)।

आपका प्रदर्शन अब निम्नलिखित जैसा दिख सकता है:

क्वेरी सूची (? सहायता के लिए) लोकलहोस्ट, 32:33, 0.11 क्यूपीएस, 1 टीएचडी, 5.0.38-लॉग

सीएक्सएन सीएमडी सीएनटी आईडी उपयोगकर्ता होस्ट समय क्वेरी
लोकलहोस्ट क्वेरी 49 12933 वेबसर लोकलहोस्ट 19:38 चुनें *से
लोकलहोस्ट दा 23 2383 वेबसर लोकलहोस्ट 12:43 भेज रहा है col1 चुनें,
लोकलहोस्ट स्लीप 120 140 वेबएसआर लोकलहोस्ट 5:18:12
लोकलहोस्ट सांख्यिकी 12 19213 वेबसर लोकलहोस्ट 01:19 चयन करें *से

यह वास्तव में काफी चिंताजनक तस्वीर है. आपके पास बहुत सारे निष्क्रिय कनेक्शन हैं (स्लीप),
और कुछ कनेक्शन क्वेरी निष्पादित कर रहे हैं (क्वेरी और डेटा भेजना)। यह ठीक है, लेकिन आप
सांख्यिकी स्थिति में भी बहुत कुछ है, सामूहिक रूप से एक मिनट से अधिक खर्च करना। इसका मतलब है
क्वेरी ऑप्टिमाइज़र को आपके कथनों को अनुकूलित करने में वास्तव में कठिनाई हो रही है। थोड़ा है
गलत; प्रश्नों को अनुकूलित करने में सामान्यतः मिलीसेकेंड का समय लगना चाहिए। आपने नहीं देखा होगा
यदि आपने अपने कनेक्शनों को समग्र रूप से नहीं देखा है तो यह पैटर्न। (यह एक बना हुआ है
उदाहरण, लेकिन यह वास्तविक जीवन में हो सकता है)।

पिवट
इनोटॉप अधिक कॉम्पैक्ट डिस्प्ले के लिए एक टेबल को पिवोट कर सकता है, पिवट टेबल के समान
स्प्रेडशीट (क्रॉसटैब के रूप में भी जाना जाता है)। किसी तालिका को घुमाने से स्तंभ पंक्तियों में बदल जाते हैं। मान लीजिए
आप इस तालिका से प्रारंभ करें:

फू बार
=== ===
1 3
2 4

पिवोटिंग के बाद, तालिका इस तरह दिखेगी:

नाम सेट0 सेट1
==== ==== ====
फू 1 2
बार २ १

उचित परिणाम प्राप्त करने के लिए, आपको समूह बनाने के साथ-साथ धुरी बनाने की भी आवश्यकता हो सकती है। वर्तमान में इनोटॉप
यह "एस: वेरिएबल्स और स्टेटस" मोड के लिए करता है।

रंग
डिफ़ॉल्ट रूप से, इनोटॉप पंक्तियों को रंग से हाइलाइट करता है ताकि आप एक नज़र में देख सकें कि कौन सी पंक्तियाँ हैं
अधिक महत्वपूर्ण। आप रंगीकरण नियमों को अनुकूलित कर सकते हैं और किसी भी तालिका में अपना स्वयं का जोड़ सकते हैं।
तालिका संपादक को '^' कुंजी से खोलें, यदि आवश्यक हो तो एक तालिका चुनें और खोलने के लिए 'o' दबाएँ
रंग संपादक संवाद.

रंग संपादक संवाद तालिका पर लागू नियमों को उनके क्रम में प्रदर्शित करता है
मूल्यांकन किया गया। यह देखने के लिए कि क्या नियम पंक्ति से मेल खाता है, प्रत्येक पंक्ति का मूल्यांकन प्रत्येक नियम के विरुद्ध किया जाता है; अगर
ऐसा होता है, पंक्ति को निर्दिष्ट रंग मिलता है, और आगे किसी नियम का मूल्यांकन नहीं किया जाता है। नियम
निम्नलिखित की तरह दिखें:

राज्य eq लॉक्ड ब्लैक ऑन_रेड
सीएमडी ईक्यू स्लीप व्हाइट
उपयोगकर्ता ईक्यू सिस्टम उपयोगकर्ता सफेद
सीएमडी ईक्यू सफेद कनेक्ट करें
सीएमडी ईक्यू बिनलॉग डंप सफेद
समय > 600 लाल
समय > 120 पीला
समय > 60 हरा
समय > 30 सियान

यह "प्रोसेसलिस्ट" तालिका के लिए निर्धारित डिफ़ॉल्ट नियम है। प्राथमिकता के क्रम में ये
नियम लॉक की गई क्वेरी को लाल पृष्ठभूमि पर काला कर देते हैं, कनेक्शन को "ग्रे आउट" कर देते हैं
प्रतिकृति और स्लीपिंग क्वेरीज़, और क्वेरीज़ चलते समय सियान से लाल हो जाती हैं
लंबे समय तक।

(किसी कारण से, एएनएसआई रंग कोड "सफ़ेद" वास्तव में हल्का भूरा है। आपका टर्मिनल
प्रदर्शन भिन्न हो सकता है; अपने पसंदीदा रंग ढूंढने के लिए प्रयोग करें)।

आप नियमों को ऊपर और नीचे ले जाने के लिए कीस्ट्रोक्स का उपयोग कर सकते हैं, जो उनकी प्राथमिकता को पुनः व्यवस्थित करता है। आप
नियम हटा भी सकते हैं और नए जोड़ भी सकते हैं. यदि आप कोई नया नियम जोड़ते हैं, तो इनोटॉप आपको इसके लिए संकेत देता है
स्तंभ, तुलना के लिए एक ऑपरेटर, एक मान जिसके विरुद्ध स्तंभ की तुलना की जाती है,
और यदि नियम मेल खाता है तो निर्दिष्ट करने के लिए एक रंग। प्रत्येक पर स्वत: पूर्णता और संकेत है
कदम।

तीसरे चरण में मूल्य सही ढंग से उद्धृत किया जाना चाहिए। इनोटॉप उद्धृत करने का प्रयास नहीं करता है
मान क्योंकि यह नहीं जानता कि इसे मान को एक स्ट्रिंग के रूप में माना जाना चाहिए या नहीं
संख्या। यदि आप किसी स्ट्रिंग के विरुद्ध कॉलम की तुलना करना चाहते हैं, उदाहरण के लिए पहले में
उपरोक्त नियम के अनुसार, आपको उद्धरण चिह्नों से घिरा 'लॉक्ड' दर्ज करना चाहिए। यदि आपको कोई त्रुटि संदेश मिलता है
एक अनाड़ी शब्द के बारे में, संभवतः आपको कुछ उद्धृत करना चाहिए था।

अभिव्यक्ति
इनोटॉप कैसे काम करता है इसके मूल में अभिव्यक्तियाँ हैं, और यही आपको विस्तार करने में सक्षम बनाती हैं
इनोटॉप जैसा आप चाहें। "TABLES" में बताए गए तालिका जीवनचक्र को याद करें। अभिव्यक्तियाँ हैं
शुरुआती चरण में उपयोग किया जाता है, जहां यह पंक्तियों को बनाने के लिए डेटा स्रोत से मान निकालता है।

यह प्रत्येक कॉलम के लिए एक सबरूटीन को कॉल करके, इसे स्रोत डेटा सेट को पास करके करता है
वर्तमान मानों का सेट, और पिछले मानों का एक सेट। ये सभी आवश्यक हैं इसलिए
सबरूटीन इस टिक और पिछले के बीच अंतर जैसी चीजों की गणना कर सकता है
टिकटिक।

सेट से डेटा निकालने वाले सबरूटीन्स को अभिव्यक्तियों से संकलित किया जाता है। यह
कॉलम भरने के लिए मानों को नाम देने की तुलना में यह काफी अधिक शक्ति देता है, क्योंकि यह
कॉलम के मान की गणना आवश्यक डेटा से करने की अनुमति देता है, लेकिन इससे बचता है
जटिल और लंबा पर्ल कोड लिखने की जरूरत है।

इनोटॉप टेक्स्ट की एक स्ट्रिंग से शुरू होता है जो किसी मान के नाम या उसके समान सरल दिख सकता है
पूर्ण विकसित पर्ल अभिव्यक्ति के रूप में जटिल। यह प्रत्येक 'बेयरवर्ड' टोकन को देखता है
स्ट्रिंग और यह तय करता है कि इसे $set हैश में एक कुंजी माना जाए या नहीं। एक नंगे शब्द एक है
गैर-उद्धृत मूल्य जो पहले से ही डॉलर चिह्न या घुंघराले जैसी कोड-ईश चीज़ों से घिरा नहीं है
कोष्ठक। यदि इनोटॉप यह निर्णय लेता है कि बेयरवर्ड कोई फ़ंक्शन या अन्य वैध पर्ल कोड नहीं है,
यह इसे हैश एक्सेस में परिवर्तित करता है। संपूर्ण स्ट्रिंग संसाधित होने के बाद, इनोटॉप संकलित होता है
एक सबरूटीन, इस तरह:

उप कंप्यूट_कॉलम_वैल्यू {
मेरा ($सेट, $cur, $pre ) = @_;
मेरी $val = # विस्तारित स्ट्रिंग यहां जाती है
वापसी $ वैल;
}

यहां एक ठोस उदाहरण दिया गया है, जो "Q: क्वेरी सूची" मोड में हेडर तालिका "q_header" से लिया गया है।
यह अभिव्यक्ति क्यूपीएस, या प्रति सेकंड क्वेरीज़, कॉलम के मानों की गणना करती है
स्थिति दिखाएं द्वारा लौटाए गए मान:

प्रश्न/अपटाइम_हायर्स

इनोटॉप निर्णय लेता है कि दोनों शब्द नंगे शब्द हैं, और इस अभिव्यक्ति को में बदल देता है
निम्नलिखित पर्ल कोड:

$सेट->{प्रश्न}/$सेट->{अपटाइम_हायर्स}

जब सबरूटीन के बाकी कोड से घिरा होता है, तो यह निष्पादन योग्य पर्ल होता है
उच्च-रिज़ॉल्यूशन क्वेरी-प्रति-सेकंड मान की गणना करता है।

सबरूटीन के तर्कों को $set, $cur, और $pre नाम दिया गया है। ज्यादातर मामलों में, $set और
$cur वही मान होंगे। हालाँकि, यदि "status_inc" सेट है, तो $cur समान नहीं होगा
$set के रूप में, क्योंकि $set में पहले से ही वे मान शामिल होंगे जो वृद्धिशील अंतर हैं
$cur और $pre के बीच.

इनोटॉप में प्रत्येक कॉलम की गणना उसी तरीके से संकलित सबरूटीन्स द्वारा की जाती है। वहाँ है
इनोटॉप के अंतर्निर्मित कॉलम और उपयोगकर्ता-परिभाषित कॉलम के बीच कोई अंतर नहीं है। ये रहता है
चीजें सुसंगत और पूर्वानुमानित।

परिवर्तनों
परिवर्तन यह बदल देते हैं कि किसी मूल्य को कैसे प्रस्तुत किया जाता है। उदाहरण के लिए, वे अनेक ले सकते हैं
सेकंड और इसे H:M:S प्रारूप में प्रदर्शित करें। निम्नलिखित परिवर्तन परिभाषित हैं:

प्रतिबद्ध करना
प्रत्येक तीन दशमलव स्थानों पर बड़ी संख्याओं में अल्पविराम जोड़ता है।

dulint_to_int
दो अहस्ताक्षरित पूर्णांकों को स्वीकार करता है और उन्हें एक लॉन्गलांग में परिवर्तित करता है। यह है
InnoDB के साथ कुछ परिचालनों के लिए उपयोगी है, जो लेनदेन के रूप में दो पूर्णांकों का उपयोग करता है
उदाहरण के लिए, पहचानकर्ता.

no_ctrl_char
मूल्य से उद्धृत नियंत्रण वर्ण हटा देता है। यह "वर्णसेट" से प्रभावित है
विन्यास चर।

यह परिवर्तन केवल उद्धृत स्ट्रिंग्स के भीतर ही संचालित होता है, उदाहरण के लिए, SET के मान
अद्यतन कथन में खंड। यह अद्यतन कथन को नहीं बदलेगा, लेकिन बदलेगा
वर्णसेट के आधार पर उद्धृत स्ट्रिंग को [बाइनरी] या [टेक्स्ट] में संक्षिप्त करें।

प्रतिशत
किसी संख्या को दो से गुणा करके, उसे फ़ॉर्मेट करके प्रतिशत में परिवर्तित करता है
दशमलव बिंदु के बाद "num_digits" अंक, और वैकल्पिक रूप से प्रतिशत चिह्न जोड़ना (देखें)।
"शो_प्रतिशत").

secs_to_time
कुछ सेकंड को समय के रूप में दिन+घंटे:मिनट:सेकंड प्रारूप में प्रारूपित करता है।

set_precision
दशमलव बिंदु के बाद अंकों की संख्या "num_digits" के साथ संख्याओं को प्रारूपित करता है।

छोटा करना
किसी संख्या को 1024 (k/M/G/T) की इकाई के रूप में और "num_digits" अंकों की संख्या के साथ प्रारूपित करता है
दशमलव बिंदु के बाद.

टेबल संपादक
इनोटॉप टेबल संपादक आपको कीस्ट्रोक्स के साथ तालिकाओं को अनुकूलित करने देता है। आप टेबल शुरू करें
'^' कुंजी के साथ संपादक. यदि स्क्रीन पर एक से अधिक टेबल हैं, तो यह आपको संकेत देगा
उनमें से एक को चुनने के लिए. एक बार जब आप ऐसा कर लेंगे, तो इनोटॉप आपको कुछ इस तरह दिखाएगा:

बफ़र पूल के लिए संपादन तालिका परिभाषा। प्रेस ? मदद के लिए, q को छोड़ना होगा।

नाम एचडीआर लेबल स्रोत
cxn CXN कनेक्शन जिससे cxn
buf_pool_size आकार बफ़र पूल आकार IB_bp_buf_poo
buf_free मुफ़्त बफ़्स बफ़र्स b IB_bp_buf_fre में मुफ़्त
पेज_कुल पेज पेज कुल आईबी_बीपी_पेज_टी
पेज_संशोधित गंदे पेज पेज संशोधित (गंदे आईबी_बीपी_पेज_एम
buf_pool_hit_rate हिट दर बफ़र पूल हिट दर IB_bp_buf_poo
total_mem_alloc मेमोरी कुल मेमोरी IB_bp_total_m आवंटित करती है
add_pool_alloc Add'l पूल Additonal पूल alloca IB_bp_add_poo

पहली पंक्ति दिखाती है कि आप कौन सी तालिका संपादित कर रहे हैं, और आपको '?' दबाने के लिए फिर से याद दिलाती है। एक के लिए
कुंजी मैपिंग की सूची. शेष तालिका के स्तंभों का सारणीबद्ध प्रतिनिधित्व है,
क्योंकि संभवतः आप यही संपादित करने का प्रयास कर रहे हैं। हालाँकि, आप इससे अधिक भी संपादित कर सकते हैं
तालिका के कॉलम; यह स्क्रीन फ़िल्टर संपादक, रंग नियम संपादक और बहुत कुछ प्रारंभ कर सकती है।

डिस्प्ले की प्रत्येक पंक्ति उस तालिका में एक कॉलम दिखाती है जिसे आप संपादित कर रहे हैं, साथ में
इसके कुछ गुण जैसे इसका हेडर और स्रोत अभिव्यक्ति ("एक्सप्रेशन" देखें)।

मुख्य मैपिंग विम-शैली में हैं, जैसा कि कई अन्य स्थानों पर होता है। 'j' और 'k' दबाने से गति होती है
ऊपर या नीचे हाइलाइट करें. फिर आप हाइलाइट किए गए कॉलम को (डी) हटा सकते हैं या (ई) संपादित कर सकते हैं। तुम कर सकते हो
(ए) तालिका में एक कॉलम भी जोड़ें। यह वास्तव में पहले से मौजूद स्तंभों में से केवल एक को सक्रिय करता है
तालिका के लिए परिभाषित; यह आपको उपलब्ध कॉलमों में से चुनने के लिए प्रेरित करता है, लेकिन नहीं
वर्तमान में प्रदर्शित. अंत में, आप '+' और '-' कुंजियों के साथ कॉलम को फिर से व्यवस्थित कर सकते हैं।

आप तालिका संपादक के साथ केवल कॉलम संपादित करने के अलावा और भी बहुत कुछ कर सकते हैं, आप अन्य कार्य भी संपादित कर सकते हैं
गुण, जैसे तालिका की सॉर्ट अभिव्यक्ति और समूह-दर-अभिव्यक्ति। प्रेस '?' देखने के लिए
बेशक, पूरी सूची।

यदि आप केवल सक्रिय करने के बजाय वास्तव में अपना स्वयं का कॉलम अनुकूलित और बनाना चाहते हैं
एक अंतर्निर्मित जो वर्तमान में प्रदर्शित नहीं है, (n)ew कुंजी दबाएँ, और innotop होगा
आपको आवश्यक जानकारी के लिए संकेत दें:

· कॉलम का नाम: यह बिना किसी अजीब अक्षर वाला शब्द होना चाहिए, उदाहरण के लिए बस
अक्षर, संख्याएँ और अंडरस्कोर।

· कॉलम हेडर: यह वह लेबल है जो कॉलम के शीर्ष पर दिखाई देता है
टेबल हेडर. इसमें रिक्त स्थान और मज़ेदार पात्र हो सकते हैं, लेकिन सावधान रहें कि ऐसा न करें
यह बहुत चौड़ा है और स्क्रीन पर जगह बर्बाद करता है।

· कॉलम का डेटा स्रोत: यह एक अभिव्यक्ति है जो यह निर्धारित करती है कि किस डेटा से
स्रोत ("टेबल्स" देखें) इनोटॉप कॉलम में डाल दिया जाएगा। ये सिर्फ नाम हो सकता है
स्रोत में एक आइटम, या यह अधिक जटिल अभिव्यक्ति हो सकती है, जैसा कि इसमें वर्णित है
"अभिव्यक्तियाँ"।

एक बार जब आप आवश्यक डेटा दर्ज कर लेते हैं, तो आपकी तालिका में एक नया कॉलम होता है। कोई नहीं है
इस कॉलम और अंतर्निर्मित कॉलम के बीच अंतर; इसमें सभी समान गुण हो सकते हैं
और व्यवहार. इनोटॉप कॉन्फ़िगरेशन फ़ाइल में कॉलम की परिभाषा लिखेगा, इसलिए
यह सभी सत्रों में जारी रहेगा.

यहां एक उदाहरण दिया गया है: मान लीजिए कि आप ट्रैक करना चाहते हैं कि आपके दासों ने कितनी बार पुनः प्रयास किया है
लेन-देन. MySQL मैनुअल के अनुसार, Slave_retried_transactions स्थिति
वेरिएबल आपको वह डेटा देता है: "स्टार्टअप के बाद से कुल कितनी बार
प्रतिकृति स्लेव SQL थ्रेड ने लेन-देन का पुनः प्रयास किया है। यह वेरिएबल संस्करण में जोड़ा गया था
5.0.4।" इसे "slave_sql_status" तालिका में जोड़ना उचित है।

कॉलम जोड़ने के लिए, 'एम' कुंजी के साथ प्रतिकृति-निगरानी मोड पर स्विच करें, और दबाएं
तालिका संपादक प्रारंभ करने के लिए '^' कुंजी। संकेत मिलने पर, स्लेव_एसक्यूएल_स्टैटस को चुनें
तालिका, फिर कॉलम बनाने के लिए 'n' दबाएँ। कॉलम नाम के रूप में 'पुनः प्रयास करें' टाइप करें, 'पुनः प्रयास करें'
कॉलम हेडर के रूप में, और स्रोत के रूप में 'Slave_retried_transactions'। अब कॉलम है
बनाया गया, और आपको तालिका संपादक स्क्रीन फिर से दिखाई देगी। तालिका संपादक से बाहर निकलने के लिए 'q' दबाएँ,
और आप तालिका के अंत में अपना कॉलम देखेंगे।

परिवर्तनशील सेट


अधिक आसानी से क्या परिभाषित करने के लिए वेरिएबल सेट का उपयोग "एस: वेरिएबल्स और स्टेटस" मोड में किया जाता है
वे वेरिएबल जिनकी आप निगरानी करना चाहते हैं. पर्दे के पीछे उन्हें एक सूची में संकलित किया गया है
अभिव्यक्तियाँ, और फिर एक कॉलम सूची में ताकि उन्हें किसी भी कॉलम की तरह ही माना जा सके
डेटा निष्कर्षण और परिवर्तन के संदर्भ में अन्य तालिका। हालाँकि, आप सुरक्षित हैं
एक वाक्यविन्यास द्वारा कठिन विवरणों से जो आपको बहुत स्वाभाविक लगना चाहिए: एक SQL SELECT
सूची।

वेरिएबल सेट और वास्तव में संपूर्ण एस मोड के लिए डेटा स्रोत, का संयोजन है
स्थिति दिखाएँ, चर दिखाएँ, और INNODB स्थिति दिखाएँ। कल्पना कीजिए कि आपके पास एक बड़ी मेज है
उन कथनों से प्रति चर एक कॉलम लौटाया गया। वह इसके लिए डेटा स्रोत है
परिवर्तनीय सेट. अब आप इस डेटा स्रोत से वैसे ही पूछताछ कर सकते हैं जैसे आप अपेक्षा करते हैं। उदाहरण के लिए:

प्रश्न, अपटाइम, क्यूपीएस के रूप में प्रश्न/अपटाइम

पर्दे के पीछे इनोटॉप उस वैरिएबल सेट को तीन अभिव्यक्तियों में विभाजित करेगा, संकलित करेगा
उन्हें बनाएं और उन्हें तालिका परिभाषा में बदलें, फिर हमेशा की तरह निकालें। यह एक हो जाता है
"वेरिएबल सेट," या "वेरिएबल की एक सूची जिसे आप मॉनिटर करना चाहते हैं।"

इनोटॉप आपको अपने वेरिएबल सेट को नाम देने और सहेजने देता है, और उन्हें कॉन्फ़िगरेशन में लिखता है
फ़ाइल। आप 'सी' कुंजी के साथ चुन सकते हैं कि आप कौन सा वेरिएबल सेट देखना चाहते हैं, या सक्रिय करें
'>' और '<' कुंजियों के साथ अगला और पिछला सेट। इसमें कई अंतर्निर्मित वैरिएबल सेट हैं
साथ ही, जिससे आपको अपना स्वयं का निर्माण करने के लिए एक अच्छी शुरुआत मिलनी चाहिए। संपादित करने के लिए 'ई' दबाएँ
वर्तमान चर सेट, या बस यह देखने के लिए कि इसे कैसे परिभाषित किया गया है। नया बनाने के लिए, बस दबाएँ
'सी' और उसका नाम टाइप करें।

आप इसे प्रारूपित करने में सहायता के लिए "ट्रांसफ़ॉर्मेशन" में सूचीबद्ध कुछ फ़ंक्शन का उपयोग करना चाह सकते हैं
परिणाम। विशेष रूप से, "set_precision" अक्सर आपके अंकों की संख्या को सीमित करने के लिए उपयोगी होता है
देखना। उपरोक्त उदाहरण का विस्तार करते हुए, यहां बताया गया है कि कैसे:

प्रश्न, अपटाइम, QPS के रूप में set_precision(प्रश्न/अपटाइम)।

दरअसल, इस पर अभी थोड़ा और काम करने की जरूरत है। यदि आपका "अंतराल" एक से कम है
दूसरा, आप शून्य से विभाजित कर सकते हैं क्योंकि इस मोड में अपटाइम वृद्धिशील है
गलती करना। इसके बजाय, Uptime_hires का उपयोग करें:

प्रश्न, अपटाइम, क्यूपीएस के रूप में सेट_प्रेसिजन(प्रश्न/अपटाइम_हायर)।

यह उदाहरण सरल है, लेकिन यह दिखाता है कि आप कौन सा वेरिएबल चुनना चाहते हैं यह चुनना कितना आसान है
निगरानी।

प्लगइन्स


इनोटॉप में एक सरल लेकिन शक्तिशाली प्लगइन तंत्र है जिसके द्वारा आप इसका विस्तार या संशोधन कर सकते हैं
मौजूदा कार्यक्षमता, और नई कार्यक्षमता जोड़ें। इनोटॉप की प्लगइन कार्यक्षमता है
ईवेंट-आधारित: ईवेंट घटित होने पर प्लगइन्स स्वयं को कॉल करने के लिए पंजीकृत करते हैं। फिर उनके पास है
घटना को प्रभावित करने का मौका.

इनोटॉप प्लगइन एक पर्ल मॉड्यूल है जिसे इनोटॉप की "प्लगइन_डीआईआर" निर्देशिका में रखा गया है। यूनिक्स पर
सिस्टम, आप वास्तविक फ़ाइल डालने के बजाय मॉड्यूल में एक प्रतीकात्मक लिंक डाल सकते हैं
वहाँ। इनोटॉप स्वचालित रूप से फ़ाइल को खोज लेता है। यदि इसमें कोई संगत प्रविष्टि है
"प्लगइन्स" कॉन्फ़िगरेशन फ़ाइल अनुभाग, इनोटॉप प्लगइन को लोड और सक्रिय करता है।

मॉड्यूल को इनोटॉप के प्लगइन इंटरफ़ेस के अनुरूप होना चाहिए। इसके अतिरिक्त, का स्रोत कोड
मॉड्यूल को इस तरह लिखा जाना चाहिए कि इनोटॉप फ़ाइल का निरीक्षण कर सके और निर्धारित कर सके
पैकेज का नाम और विवरण.

पैकेज स्रोत सम्मेलन
इनोटॉप पर्ल पैकेज नाम निर्धारित करने के लिए प्लगइन मॉड्यूल के स्रोत का निरीक्षण करता है। यह लगता है
"पैकेज फू;" फ़ॉर्म की एक पंक्ति के लिए और यदि पाया जाता है, तो प्लगइन के पैकेज नाम पर विचार करता है
फू हो. बेशक पैकेज का नाम डबल के साथ एक वैध पर्ल पैकेज नाम हो सकता है
अर्धविराम वगैरह.

प्लगइन संपादक को अधिक मानवीय बनाने के लिए, यह स्रोत कोड में एक विवरण भी ढूंढता है-
दोस्ताना। विवरण "# विवरण: फू" फ़ॉर्म की एक टिप्पणी पंक्ति है, जहां "फू" है
क्या इनोटॉप टेक्स्ट को प्लगइन का विवरण माना जाएगा।

लगाना इंटरफेस
इनोटॉप प्लगइन इंटरफ़ेस काफी सरल है: इनोटॉप को उम्मीद है कि प्लगइन एक ऑब्जेक्ट होगा-
उन्मुख मॉड्यूल पर यह कुछ विधियों को कॉल कर सकता है। तरीके हैं

नया(%चर)
यह प्लगइन का कंस्ट्रक्टर है. इसे इनोटॉप के वेरिएबल्स का एक हैश पास किया जाता है, जो
यह हेरफेर कर सकता है ("प्लगइन वेरिएबल्स" देखें)। इसे नए का संदर्भ लौटाना होगा
प्लगइन ऑब्जेक्ट बनाया गया।

निर्माण के समय, इनोटॉप ने केवल सामान्य कॉन्फ़िगरेशन लोड किया है और बनाया है
डिफ़ॉल्ट अंतर्निर्मित वैरिएबल उनकी डिफ़ॉल्ट सामग्री के साथ (जो काफी है)।
इसलिए, प्रोग्राम की स्थिति बिल्कुल इनोटॉप सोर्स कोड जैसी ही है, साथ ही
कॉन्फ़िगरेशन फ़ाइल में "सामान्य" अनुभाग से कॉन्फ़िगरेशन चर।

यदि आपका प्लगइन वेरिएबल्स में हेरफेर करता है, तो यह वैश्विक डेटा को बदल रहा है, जिसे साझा किया जाता है
इनोटॉप और सभी प्लगइन्स द्वारा। प्लगइन्स को उसी क्रम में लोड किया जाता है जिस क्रम में वे सूचीबद्ध हैं
कॉन्फ़िगरेशन फ़ाइल. आपका प्लगइन किसी अन्य प्लगइन से पहले या बाद में लोड हो सकता है, इसलिए एक है
यदि प्लगइन्स अन्य डेटा को संशोधित करते हैं तो उनके बीच संघर्ष या इंटरैक्शन की संभावना होती है
प्लगइन्स का उपयोग या संशोधन करें।

रजिस्टर_फॉर_इवेंट्स()
इस विधि को उन घटनाओं की एक सूची लौटानी होगी जिनमें प्लगइन रुचि रखता है, यदि कोई हो।
परिभाषित इवेंट के लिए "प्लगइन इवेंट" देखें। यदि प्लगइन कोई ईवेंट लौटाता है तो यह नहीं है
परिभाषित, घटना को नजरअंदाज कर दिया जाता है।

इवेंट संचालक
प्लगइन को प्रत्येक ईवेंट के समान नाम वाली एक विधि लागू करनी होगी जिसके लिए यह मौजूद है
दर्ज कराई। दूसरे शब्दों में, यदि प्लगइन qw(foo bar) लौटाता है
रजिस्टर_फॉर_इवेंट्स(), यह होनी चाहिए फू () और बार () तरीके. ये तरीके हैं
घटनाओं के लिए कॉलबैक. प्रत्येक इवेंट के बारे में अधिक जानकारी के लिए "प्लगइन इवेंट" देखें।

लगाना चर
प्लगइन के कंस्ट्रक्टर को इनोटॉप के वेरिएबल्स का एक हैश पास किया जाता है, जिसे वह हेरफेर कर सकता है।
यह संभवतः एक अच्छा विचार है यदि प्लगइन ऑब्जेक्ट बाद में उपयोग के लिए इसकी एक प्रति सहेजता है।
वेरिएबल्स को इनोटॉप वेरिएबल %pluggable_vars में परिभाषित किया गया है, और वे इस प्रकार हैं:

कार्रवाई_के लिए
कुंजी मैपिंग का एक हैशरेफ। ये इनोटॉप की वैश्विक हॉट-कुंजियाँ हैं।

agg_funcs
फ़ंक्शंस का एक हैशरेफ़ जिसका उपयोग समूहीकरण के लिए किया जा सकता है। "ग्रुपिंग" देखें।

विन्यास
वैश्विक कॉन्फ़िगरेशन हैश.

कनेक्शन
कनेक्शन विशिष्टताओं का एक हैशरेफ। ये केवल कैसे करें इसकी विशिष्टताएं हैं
किसी सर्वर से कनेक्ट करें.

डीबीएचएस
इनोटॉप के डेटाबेस कनेक्शन का एक हैशरेफ़। ये वास्तविक डीबीआई कनेक्शन ऑब्जेक्ट हैं।

फ़िल्टर
तालिका पंक्तियों पर फ़िल्टर का हैशरेफ़ लागू किया गया। अधिक के लिए "फ़िल्टर" देखें।

मोड
मोड का एक हैशरेफ। अधिक के लिए "मोड" देखें।

सर्वर_समूह
सर्वर समूहों का एक हैशरेफ। "सर्वर समूह" देखें।

tbl_meta
इनोटॉप की तालिका मेटा-डेटा का एक हैशरेफ़, प्रति तालिका एक प्रविष्टि के साथ (इसके लिए "TABLES" देखें)
अधिक जानकारी)।

trans_funcs
परिवर्तन कार्यों का एक हैशरेफ। "परिवर्तन" देखें।

var_sets
परिवर्तनीय सेटों का एक हैशरेफ। "परिवर्तनीय सेट" देखें।

लगाना आयोजन
प्रत्येक घटना को इनोटॉप स्रोत कोड में कहीं न कहीं परिभाषित किया गया है। जब innotop उस कोड को चलाता है,
यह प्रत्येक प्लगइन के लिए कॉलबैक फ़ंक्शन निष्पादित करता है जिसने इसमें अपनी रुचि व्यक्त की है
आयोजन। इनोटॉप प्रत्येक घटना के लिए कुछ डेटा पास करता है। घटनाओं को इसमें परिभाषित किया गया है
%event_listener_for वैरिएबल, और इस प्रकार हैं:

निकालें_मूल्य($सेट, $cur, $pre, $tbl)
यह घटना उस फ़ंक्शन के अंदर होती है जो डेटा स्रोत से मान निकालता है।
तर्क मानों का समूह, वर्तमान मान, पिछले मान और हैं
तालिका नाम।

set_to_tbl
इस सबरूटीन में कई स्थानों पर घटनाओं को परिभाषित किया गया है, जो मोड़ के लिए जिम्मेदार है
हैशरेफ़ का एक ऐरेरेफ़ लाइनों के एक ऐरेरेफ़ में जिसे स्क्रीन पर मुद्रित किया जा सकता है।
सभी ईवेंट एक ही डेटा पास करते हैं: पंक्तियों का एक एरेरेफ़ और तालिका का नाम
बनाया था। घटनाएँ set_to_tbl_pre_filter हैं,
set_to_tbl_pre_sort, set_to_tbl_pre_group, set_to_tbl_pre_colorize,
set_to_tbl_pre_transform, set_to_tbl_pre_pivot, set_to_tbl_pre_create,
set_to_tbl_post_create.

ड्रा_स्क्रीन($लाइनें)
यह घटना सबरूटीन के अंदर होती है जो स्क्रीन पर लाइनें प्रिंट करती है। $पंक्तियाँ
स्ट्रिंग्स का एक सारणी है।

सरल लगाना उदाहरण
प्लगइन कार्यक्षमता को समझाने का सबसे आसान तरीका संभवतः एक सरल उदाहरण है।
निम्नलिखित मॉड्यूल प्रत्येक तालिका की शुरुआत में एक कॉलम जोड़ता है और उसका मान निर्धारित करता है
1.

सख्त उपयोग करें;
चेतावनियों का उपयोग करें FATAL => 'सभी';

पैकेज इनोटॉप::प्लगइन::उदाहरण;
# विवरण: प्रत्येक तालिका में एक 'उदाहरण' कॉलम जोड़ता है

उप नया {
मेरा ($वर्ग, %vars ) = @_;
# $self में इनोटॉप के वेरिएबल्स का संदर्भ संग्रहित करें
मेरा $स्वयं = आशीर्वाद { %vars }, $class;

# उदाहरण कॉलम डिज़ाइन करें
मेरा $col = {
एचडीआर => 'उदाहरण',
बस => '',
दिसंबर => 0,
संख्या => 1,
लेबल => 'उदाहरण',
src => 'उदाहरण', # डेटा स्रोत में इस कॉलम से डेटा प्राप्त करें
टीबीएल => '',
ट्रांस => [],
};

# प्रत्येक तालिका में कॉलम जोड़ें.
मेरा $tbl_meta = $vars{tbl_meta};
मेरे $tbl की खोज करें (मान %$tbl_meta ) {
# कॉलम को परिभाषित कॉलम की सूची में जोड़ें
$tbl->{cols}->{उदाहरण} = $col;
# कॉलम को दृश्यमान कॉलम की सूची में जोड़ें
अनशिफ्ट @{$tbl->{दृश्यमान}}, 'उदाहरण';
}

# ऑब्जेक्ट का संदर्भ लौटाना सुनिश्चित करें।
वापसी $स्वयं;
}

# कृपया जब किसी डेटा सेट को तालिका में प्रस्तुत किया जा रहा हो तो मुझे बुलाया जाए।
उप रजिस्टर_for_events {
मेरा ($स्वयं) = @_;
वापसी qw(set_to_tbl_pre_filter);
}

# इवेंट सक्रिय होने पर इस विधि को कॉल किया जाएगा।
उप set_to_tbl_pre_filter {
मेरा ($स्वयं, $पंक्तियाँ, $tbl ) = @_;
# उदाहरण कॉलम के डेटा स्रोत को मान 1 पर सेट करें।
मेरी $पंक्ति की खोज करें (@$पंक्ति) {
$पंक्ति->{उदाहरण} = 1;
}
}

1;

लगाना संपादक (एडिटर)
प्लगइन संपादक आपको खोजे गए प्लगइन्स को देखने और सक्रिय या निष्क्रिय करने की सुविधा देता है
उन्हें। किसी भी मोड से कॉन्फ़िगरेशन संपादक प्रारंभ करने के लिए $ दबाकर संपादक प्रारंभ करें।
प्लगइन संपादक शुरू करने के लिए 'पी' कुंजी दबाएँ। आपको इनोटॉप प्लगइन्स की एक सूची दिखाई देगी
खोजा गया। हाइलाइट को इच्छित स्थान पर ले जाने के लिए आप 'j' और 'k' कुंजियों का उपयोग कर सकते हैं,
फिर इसे सक्रिय या निष्क्रिय करने के लिए * कुंजी दबाएँ। संपादक से बाहर निकलें और इनोटॉप को पुनरारंभ करें
परिवर्तनों को प्रभावी बनाने के लिए

एसक्यूएल कथन


इनोटॉप प्रदर्शन के लिए MySQL से डेटा पुनर्प्राप्त करने के लिए SQL कथनों के सीमित सेट का उपयोग करता है।
कथनों को सर्वर संस्करण के आधार पर अनुकूलित किया जाता है जिसके विरुद्ध उन्हें निष्पादित किया जाता है;
उदाहरण के लिए, MySQL 5 और नए पर, INNODB_STATUS "इंजन INNODB स्थिति दिखाएं" निष्पादित करता है।
जबकि पुराने संस्करणों पर यह "SHOW INNODB STATUS" निष्पादित करता है। कथन इस प्रकार हैं
इस प्रकार है:

कथन SQL निष्पादित किया गया
=================== =============================
INNODB_STATUS दिखाएँ [इंजन] INNODB स्थिति
किल_कनेक्शन किल
किल_क्वेरी किल क्वेरी
OPEN_TABLES खुली टेबलें दिखाएं
प्रक्रिया सूची पूर्ण प्रक्रिया सूची दिखाती है
SHOW_MASTER_LOGS मास्टर लॉग दिखाएं
SHOW_MASTER_STATUS मास्टर स्थिति दिखाएँ
SHOW_SLAVE_STATUS गुलाम स्थिति दिखाओ
SHOW_STATUS दिखाएँ [वैश्विक] स्थिति
SHOW_VARIABLES [वैश्विक] चर दिखाएं

आंकड़े स्रोत


हर बार जब इनोटॉप एक तालिका बनाने के लिए मान निकालता है ("एक्सप्रेशन" और "टेबल्स" देखें), तो यह
ऐसा किसी विशेष डेटा स्रोत से करता है। बड़े पैमाने पर निकाले गए जटिल डेटा के कारण
INNODB स्थिति दिखाएं, यह थोड़ा गड़बड़ है। SHOW INNODB STATUS में मिश्रण होता है
एकल मान और दोहराए गए मान जो नेस्टेड डेटा सेट बनाते हैं।

जब भी इनोटॉप MySQL से डेटा प्राप्त करता है, तो यह प्रत्येक सेट में दो अतिरिक्त बिट्स जोड़ता है: cxn और
अपटाइम_हायर्स। cxn उस कनेक्शन का नाम है जिससे डेटा आया है। अपटाइम_हायर्स
सर्वर के अपटाइम स्टेटस वेरिएबल का एक उच्च-रिज़ॉल्यूशन संस्करण है, जो महत्वपूर्ण है
आपकी "अंतराल" सेटिंग उप-सेकेंड है।

यहां डेटा स्रोतों के प्रकार दिए गए हैं जिनसे डेटा निकाला जाता है:

स्थिति_चर
यह सबसे व्यापक श्रेणी है, जिसमें अधिकांश प्रकार के डेटा आते हैं। इसकी शुरुआत होती है
स्थिति दिखाएं और चर दिखाएं का संयोजन, लेकिन अन्य स्रोत शामिल किए जा सकते हैं
आवश्यकतानुसार, उदाहरण के लिए, मास्टर स्टेटस दिखाएं और स्लेव स्टेटस दिखाएं, साथ ही कई
INNODB स्थिति दिखाएं से गैर-दोहराए गए मान।

डेडलॉक_लॉक
यह डेटा नवीनतम ज्ञात गतिरोध में लेनदेन सूची से निकाला गया है
INNODB स्थिति दिखाएं का अनुभाग। यह दो स्तरों पर गहराई से निहित है: लेनदेन, फिर
ताले।

गतिरोध_लेनदेन
यह डेटा SHOW के नवीनतम ज्ञात गतिरोध अनुभाग में लेनदेन सूची से है
इनोडब स्थिति। यह एक स्तर की गहराई में स्थित है।

व्याख्या
यह डेटा EXPLAIN द्वारा लौटाए गए परिणाम सेट से है।

INNODB_लेनदेन
यह डेटा SHOW INNODB STATUS के लेनदेन अनुभाग से है।

आईओ_THREADS
यह डेटा SHOW INNODB के फ़ाइल I/O अनुभाग में थ्रेड्स की सूची से है
स्थिति।

INNODB_LOCKS
यह डेटा SHOW INNODB STATUS के लेनदेन अनुभाग से है और दो नेस्टेड हैं
गहरे स्तर.

OPEN_TABLES
यह डेटा शो ओपन टेबल्स से है।

प्रक्रिया सूची
यह डेटा SHOW FULL PROCESSLIST से है।

OS_WAIT_ARRAY
यह डेटा SHOW INNODB STATUS के SEMAPHORES अनुभाग से है और एक स्तर पर नेस्टेड है
गहरा। यह उन पंक्तियों से आता है जो इस तरह दिखती हैं:

--थ्रेड 1568861104 ने btr0cur.c लाइन 424 पर प्रतीक्षा की है...

MYSQL विशेषाधिकार


· आपको एक उपयोगकर्ता के रूप में MySQL से जुड़ना होगा जिसके पास कई के लिए सुपर विशेषाधिकार है
कार्य करता है.

· यदि आपके पास सुपर विशेषाधिकार नहीं है, तो भी आप कुछ फ़ंक्शन चला सकते हैं, लेकिन आप ऐसा नहीं करेंगे
आवश्यक रूप से सभी समान डेटा देखें।

· Q मोड में वर्तमान में चल रहे प्रश्नों की सूची देखने के लिए आपको PROCESS विशेषाधिकार की आवश्यकता है।

· स्लेव सर्वर को प्रारंभ और बंद करने के लिए आपको विशेष विशेषाधिकार की आवश्यकता है।

· यदि आवश्यक हो तो गतिरोध तालिकाओं को बनाने और हटाने के लिए आपको उचित विशेषाधिकारों की आवश्यकता है (देखें)।
"सर्वर कनेक्शन").

प्रणाली आवश्यकताएँ


निःसंदेह, इनोटॉप चलाने के लिए आपको पर्ल की आवश्यकता होगी। आपको कुछ पर्ल मॉड्यूल की भी आवश्यकता है: डीबीआई,
DBD::mysql, टर्म::रीडकी, और टाइम::HiRes। इन्हें अधिकांश पर्ल के साथ शामिल किया जाना चाहिए
वितरण, लेकिन यदि वे नहीं हैं, तो मैं आपके साथ वितरित संस्करणों का उपयोग करने की सलाह देता हूं
ऑपरेटिंग सिस्टम या पर्ल वितरण, सीपीएएन से नहीं। टर्म::रीडकी विशेष रूप से है
यह ज्ञात है कि सीपीएएन से स्थापित होने पर समस्याएँ उत्पन्न हो सकती हैं।

यदि आपके पास टर्म::ANSIColor है, तो इनोटॉप इसका उपयोग हेडर को अधिक पठनीय रूप से प्रारूपित करने के लिए करेगा
सघन रूप से। (माइक्रोसॉफ्ट विंडोज के तहत, आपको टर्मिनल के लिए Win32::Console::ANSI की भी आवश्यकता है
सम्मानित किए जाने वाले फ़ॉर्मेटिंग कोड)। यदि आप टर्म::रीडलाइन स्थापित करते हैं, तो अधिमानतः
टर्म::रीडलाइन::जीएनयू, आपको अच्छा स्वतः-समापन समर्थन मिलेगा।

मैं जेंटू जीएनयू/लिनक्स, डेबियन और उबंटू पर इनोटॉप चलाता हूं और मुझे लोगों से फीडबैक मिला है
इसे Red Hat, CentOS, सोलारिस और Mac OSX पर सफलतापूर्वक चलाया जा रहा है। मुझे कोई कारण नजर नहीं आता
यह अन्य UNIX-ish ऑपरेटिंग सिस्टम पर काम क्यों नहीं करेगा, लेकिन मैं निश्चित रूप से नहीं जानता। यह भी
विंडोज़ पर ActivePerl के अंतर्गत बिना किसी समस्या के चलता है।

इनोटॉप का उपयोग MySQL संस्करण 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15 पर किया गया है।
और 5.2.3. यदि यह आपके लिए सही ढंग से नहीं चलता है, तो यह एक बग है जिसकी रिपोर्ट की जानी चाहिए।

onworks.net सेवाओं का उपयोग करके ऑनलाइन इनोटॉप का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

  • 1
    2टू3-3.5
    2टू3-3.5
    2to3-3.3 - Python2 से Python3 कनवर्टर
    ...
    2to3-3.5 चलाएं
  • 2
    2to3
    2to3
    2to3-2.7 - Python2 से Python3 कनवर्टर
    ...
    2to3 चलाएँ
  • 3
    cpqarrayd
    cpqarrayd
    cpqarrayd - Arraycontoller
    मॉनिटरिंगडेमन सिंटैक्स: cpqarrayd [-d]
    [-v] [-t होस्ट [-t होस्ट]] विवरण:
    यह प्रोग्राम एचपी की निगरानी करने में सक्षम है
    (कॉम्पैक) अरे...
    Cpqarrayd चलाएँ
  • 4
    cproto
    cproto
    सीप्रोटो - सी फ़ंक्शन प्रोटोटाइप उत्पन्न करें
    और फ़ंक्शन परिभाषाएँ परिवर्तित करें...
    सीप्रोटो चलाएँ
  • 5
    gbbin
    gbbin
    gbbin - बिन डेटा के लिए एक प्रोग्राम ...
    गबिन चलाओ
  • 6
    gbboot
    gbboot
    gbboot - बूटस्ट्रैप उपयोगकर्ता द्वारा प्रदान किया गया डेटा ...
    जीबीबूट चलाएं
  • अधिक "

Ad