क्या हम किसी शीर्ष कमांड में विशिष्ट कॉलम प्राप्त कर सकते हैं, उदाहरण के लिए मैं केवल मेमोरी उपयोग और सीपीयू उपयोग कॉलम में रुचि रखता हूं।
मैं शीर्ष कमांड के प्रदर्शित कॉलमों को केवल उपरोक्त दो कॉलमों तक कैसे कम कर सकता हूं?
top -h
)।
क्या हम किसी शीर्ष कमांड में विशिष्ट कॉलम प्राप्त कर सकते हैं, उदाहरण के लिए मैं केवल मेमोरी उपयोग और सीपीयू उपयोग कॉलम में रुचि रखता हूं।
मैं शीर्ष कमांड के प्रदर्शित कॉलमों को केवल उपरोक्त दो कॉलमों तक कैसे कम कर सकता हूं?
top -h
)।
जवाबों:
नोट: मान लें कि आपके पास top
(procps) का यह संस्करण है । आप इस कमांड से देख सकते हैं:
$ top --version
top: procps version 3.2.8
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
प्राप्स अक्सर top
फेडोरा / सेंटोस / आरएचईएल और अन्य वेरिएंट के साथ शामिल किए जाने का संस्करण है।
यदि आप मैन पेज top
देखते हैं , तो आपको "2b। SELECTING और ORDERING कॉलम" शीर्षक वाला एक खंड दिखाई देगा। विभिन्न क्षेत्रों / स्तंभों के लिए टॉगल दृश्यता के लिए कीबोर्ड शॉर्टकट हैं।
उदाहरण के लिए:
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
F or O . Select sort field
<,> . Move sort field: '<' next col left; '>' next col right
आप कुंजी का उपयोग कर सकते हैं f, जबकि में top
एक माध्यमिक स्क्रीन जहाँ आप जो कॉलम दृश्य या नहीं चालू किए जाने की जानी चाहिए निर्दिष्ट कर सकते हैं पाने के लिए:
उदाहरण के लिए:
Current Fields: ANOPQRSTUVbcdefgjlmyzWHIKX for window 3:Mem
Toggle fields via field letter, type any other key to return
* A: PID = Process Id * W: S = Process Status
* N: %MEM = Memory usage (RES) * H: PR = Priority
* O: VIRT = Virtual Image (kb) * I: NI = Nice value
* P: SWAP = Swapped size (kb) * K: %CPU = CPU usage
* Q: RES = Resident size (kb) * X: COMMAND = Command name/line
* R: CODE = Code size (kb)
...
और भी हैं, ये सिर्फ एक नमूना हैं। जब आप अपने इच्छित स्तंभों को टॉगल कर रहे हों, Escतो चयन स्क्रीन से बाहर निकलने के लिए उपयोग करें ।
आप अपने परिवर्तनों को सहेजने के लिए Shift+ Wका उपयोग कर सकते हैं ताकि वे डिफॉल्ट हों:
W Write configuration file
फ़ाइल यहाँ संग्रहीत है $HOME/.toprc
, और इस तरह दिखता है:
$ more .toprc
RCfile for "top with windows" # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=1.000, Curwin=2
Def fieldscur=AEHIoqTWKNMBcdfgjpLrsuvyzX
winflags=129016, sortindx=19, maxtasks=0
summclr=2, msgsclr=5, headclr=7, taskclr=7
Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
winflags=63416, sortindx=13, maxtasks=0
summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
winflags=65464, sortindx=13, maxtasks=0
summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX
winflags=65464, sortindx=12, maxtasks=0
summclr=3, msgsclr=3, headclr=2, taskclr=7
अधिक विवरण के लिए मैन पेज का खंड 5 देखें, "5. फ़ाइलें"।
[सेंटोस -6 | Ubuntu 12.10] यह cmd सीपीयू उपयोग द्वारा 4 शीर्ष प्रक्रियाओं को प्रिंट करता है
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
उत्पादन
%CPU %MEM COMMAND
7.7 0.2 top
0.0 0.3 init
0.0 0.0 kthreadd
0.0 0.0 migration/0
नोट: हेड-एन 5 4 के बजाय क्योंकि हमारे पास कॉलम नाम भी है
कॉलम $ 9, $ 10, $ 12 का मतलब CPU, MEM, COMMAND है। कॉलम नंबर प्राप्त करने के लिए 'टॉप' कमांड का उपयोग करें
MEMORY USAGE द्वारा सॉर्ट करें (इसे चलाने के लिए आपका 'शीर्ष' का समर्थन करना होगा)
# this work on my centos-6 machine, NOT work on my Ubuntu 12.10
top -m -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
json फॉर्मेट में देखने और हेडर को हटाने के लिए,
top -bn 1 | grep "^ " | awk '{ printf("%s%s%s\n","{CPU:"$9",","MEM:"$10",","CMD:"$12"}"); }' | head -n 6 | tail -n +2
नीचे की तरह उत्पादन,
{CPU:6.4,MEM:0.3,CMD:gnome-terminal}
{CPU:6.4,MEM:1.9,CMD:chrome}
{CPU:0.0,MEM:0.0,CMD:init}
{CPU:0.0,MEM:0.0,CMD:kthreadd}
{CPU:0.0,MEM:0.0,CMD:ksoftirqd/0}
grep | awk | head | tail
एक एकल में coalesced किया जा सकता है awk
।
कमांड लाइन कॉन्फ़िगरेशन
मैं उपयोगकर्ता को अधिलेखित करके अपने पूरे उपयोगकर्ता को प्रभावित नहीं करना चाहता था .toprc
, इसलिए मैं उपयोग-केस के प्रति एक अलग कॉन्फ़िगरेशन के समाधान के साथ आया था।
आप top
अपने उपयोगकर्ता होम निर्देशिका में एक के बजाय एक कस्टम कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं ।
बस HOME
चर को कस्टम निर्देशिका में बदलें, जिसमें .toprc
आपकी आवश्यकताओं के लिए फ़ाइल हो।
# TOPRC_PROFILE_DIRECTORY contains .toprc (or can be created by saving using shift+w after configuring using keybindings)
TOPRC_PROFILE_DIRECTORY="<your-directory>"
HOME="$TOPRC_PROFILE_DIRECTORY" top
top
संस्करण? दर्जनों शीर्ष कार्यान्वयन हैं।