मैं उच्चतम लोड के साथ प्रक्रिया कैसे खोजूं?


10

मेरे पास लोड कोर के साथ एक एकल कोर वीपीएस है जो कई बार 25 से आगे निकल जाता है। जब यह उस तक पहुंच जाता है, तो यह असहनीय रूप से धीमा हो जाता है, और यहां तक ​​कि कमांड भी चलता है dash, जो तेज है और कम रैम का उपयोग करता है bash, चलाने में कुछ समय लगता है। मैं कैसे ट्रैक कर सकता हूं कि उच्च लोड के कारण क्या प्रक्रिया हो रही है?


2
sudo apt install htopआपको इस उद्देश्य के लिए एक उपयोगी टेक्स्ट-मोड टूल देता है (मानक से अधिक उपयोगकर्ता के अनुकूल top)। लेकिन topअगर आप छोटा फुट-प्रिंट चाहते हैं तो अच्छा है।
सपोडस

2
लोड कतार की लंबाई यह इंगित करती है कि सीपीयू का उपयोग करने के लिए कितनी प्रक्रियाएं तैयार हैं। यह जरूरी नहीं कि समस्या पैदा करने वाली एकल प्रक्रिया हो।
Thorbjørn Ravn Andersen

जवाबों:


16

आप स्थापित कर सकते हैं htop। इसके बारे htopमें अच्छी बात यह है कि यह आपको प्रति सीपीयू में आपके उपयोग को दिखाएगा, साथ ही आपकी मेमोरी का एक सार्थक टेक्स्ट ग्राफ और शीर्ष पर दाईं ओर स्वैप उपयोग भी दिखाएगा।

स्थापित करने के लिए htop:

sudo apt-get install htop

शुरू करें:

htop

यहाँ छवि विवरण दर्ज करें

F6प्रक्रियाओं को सॉर्ट करने के लिए दबाएं , फिर नेविगेशन कुंजी का उपयोग करके आप चुन सकते हैं PERCENT_CPUऔर एंटर दबा सकते हैं ।

यहाँ छवि विवरण दर्ज करें

या आप topइस तरह से उपयोग कर सकते हैं ( स्रोत ):

top -b -n 1 | head -n 12

2
एक शॉर्टकट के रूप में, आप Pप्रोसेसर के उपयोग, Mमेमोरी के Tलिए या समय के लिए सॉर्ट tकरने के लिए और ट्री लेआउट पर वापस जाने के लिए उपयोग कर सकते हैं ।
डेल्टैब

दिलचस्प है, htopकुछ बुनियादी माउस का समर्थन है। यदि आप कॉलम पर क्लिक करते हैं, तो यह आपको उनके द्वारा भी सॉर्ट करने की अनुमति देगा (यदि मैं गलत नहीं हूँ)। कुछ अन्य ऑपरेशन हैं जो आपके माउस के साथ काम करते हैं।
इस्माइल मिगुएल

11

नीचे यूनिक्स से केवल चोरी की गई है। सीपीयू का उपयोग 60% से अधिक होने पर अधिकतम सीपीयू का उपयोग करने वाली प्रक्रिया का पता लगाएं? , हालांकि बेशक इस सवाल के लिए अनुकूल है।

विशिष्ट CPU उपयोग द्वारा सूची प्रक्रियाओं

ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'

यह उन प्रक्रियाओं की एक सूची देता है जिनमें CPU उपयोग >0.0% होता है, आप अपनी आवश्यकताओं के अनुसार इस मान को बदल सकते हैं, जैसे >50.0। प्रत्येक पंक्ति में CPU उपयोग प्रतिशत, PID और प्रक्रिया की फ़ाइल है।

सबसे सीपीयू उपयोग के साथ सूची प्रक्रियाओं

ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'

यह NR<=5वर्तमान में शीर्ष 5 ( ) प्रक्रियाओं को दिखाता है जिससे वर्तमान में सबसे अधिक सीपीयू लोड होता है।


1

कल मैं पढ़ रहा था awkऔर मैं अन्य दो उत्तरों के साथ खेला। यहाँ परिणाम है:

  • सबसे अधिक CPU उपयोग के साथ केवल प्रक्रिया प्राप्त करें, का उपयोग कर ps aux:

    ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
    
  • सबसे उच्च सीपीयू उपयोग के साथ तीन प्रक्रियाएँ प्राप्त करें top:

    top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
    
  • सबसे उच्च सीपीयू उपयोग के साथ तीन प्रक्रियाएँ प्राप्त करें ps aux:

    ps auxh --sort=-c | awk 'NR<=3 {printf "ps:  %5s %6d %s\n",$3,$2,$11}'
    

मैंने पिछले दो आदेशों को एक साथ चलाने की कोशिश की है (साथ <command>; wait; <command>और <command> & <command> &), लेकिन फिर मुझे एहसास हुआ कि यह बिल्कुल संभव नहीं है :)


संदर्भ:


अंतिम सीपीयू सबसे सीपीयू उपयोग के साथ प्रक्रिया को नहीं दिखाता है, लेकिन दूसरे के साथ शुरू होता है, आप शायद NR>=2वहां थे - यह बताता है कि हेडर लाइन को छोड़ता है जो psविकल्प प्रदान करता है h, मेरा अद्यतन उत्तर देखें।
मिठाई

@ डर्टर्ट, आप सही कह रहे हैं, पहले यह था NR>=2, लेकिन NR>1छोटा है :) मैंने जवाब अपडेट कर दिया है।
पा ०४०80०

1

topकमांड का उपयोग करें

top- लिनक्स प्रक्रियाओं को प्रदर्शित करें

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

स्रोत

अच्छा यूट्यूब ट्यूटोरियल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.