2011-04-20 12 views
6

यह लगभग procps पैकेज, उपयोगिता ps लिनक्स के लिए है।ps उपयोगिता, कैसे जांचें कि कौन सी सीपीयू का उपयोग किया जाता है

क्या यह प्रत्येक प्रक्रिया (थ्रेड) के लिए अंतिम उपयोग किए गए CPU की संख्या मुद्रित कर सकता है?

अद्यतन: नहीं एक सीपीयू समय (10 सेकंड), लेकिन एक सीपीयू संख्या (CPU0, CPU5, CPU123)

उत्तर

3

कई प्रोसेसर की जो? यह मैनपेज के अनुसार उस के लिए एक विकल्प नहीं प्रदान करता है। लेकिन मेरे डेबियन स्थिर सिस्टम पर यह स्रोत देखने के बाद गैर-दस्तावेजी -o cpu


स्वीकार करता है, और ps L के उत्पादन में, मेरा मानना ​​है कि आपका जवाब या तो cpuid या sgi_p उत्पादन विकल्प, स्तंभ आईडी CPUID और पी क्रमश है।
और 'cpu' चाहिए output.c में इस नोट के अनुसार काम करते हैं, लेकिन यह वर्तमान में 'nop' उत्पादन pr_nop() से जुड़ा हुआ है:

{"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */

+0

नहीं, ऐसा नहीं है। एक सीपीयू समय नहीं, लेकिन 'पिछली बार इस्तेमाल की गई सीपीयू' (सीपीयू 0, सीपीयू 1, सीपीयू 2) की संख्या के रूप में यह 'शीर्ष' "एफ" "जे" में है: जे = पी = अंतिम इस्तेमाल सीपीयू (एसएमपी) ' – osgx

+0

लेकिन' शीर्ष ' उसी 'procps' से कर सकते हैं। – osgx

+0

मैं इसे देखता हूं और सहमत हूं। लेकिन मैनपेज द्वारा दस्तावेज किए गए पीएस में ऐसा कोई विकल्प नहीं है। –

16

ps (1) आदमी पेज कहते हैं कि आप psr फ़ील्ड का उपयोग कर सकते हैं:

psr  PSR  processor that process is currently assigned to. 
$ ps -o pid,psr,comm 
    PID PSR COMMAND 
7871 1 bash 
9953 3 ps 

या आप cpuid फ़ील्ड का उपयोग कर सकते हैं, जो वही काम करता है।

$ ps -o pid,cpuid,comm 
    PID CPUID COMMAND 
7871  1 bash 
10746  3 ps 

दो नामों के लिए कारण Solaris (psr) और NetBSD/OpenBSD (cpuid) के साथ संगतता के लिए है।

धागे भी प्राप्त करने के लिए, -L विकल्प (और lwp फ़ील्ड जोड़ें यदि आप -o का उपयोग कर रहे हैं)।

धागे के बिना

:

$ ps -U $USER -o pid,psr,comm | egrep 'chromi|PID' | head -4 
    PID PSR COMMAND 
6457 3 chromium-browse 
6459 0 chromium-browse 
6461 2 chromium-browse 
धागे के साथ

:

$ ps -U $USER -L -o pid,lwp,psr,comm | egrep 'chromi|PID' | head -4 
    PID LWP PSR COMMAND 
6457 6457 3 chromium-browse 
6457 6464 1 chromium-browse 
6457 6465 2 chromium-browse 

वहाँ भी एक गैर-दस्तावेजी -P विकल्प है, जो सामान्य क्षेत्रों के लिए psr कहते है: इसके अलावा

$ ps -U $USER -LP | egrep 'chromi|PID' | head -4 
    PID LWP PSR TTY   TIME CMD 
6457 6457 3 ?  00:01:19 chromium-browse 
6457 6464 1 ?  00:00:00 chromium-browse 
6457 6465 2 ?  00:00:00 chromium-browse 
+0

+ 1 तो ऐसा करता है। उसे नहीं देखा! –

+0

एक '-P' विकल्प भी है, जिसे दस्तावेज नहीं किया गया है, लेकिन कुछ टाइपिंग बचाता है। – Mikel

+0

यह इतनी बड़ी संख्या में अनियंत्रित विकल्पों के साथ एक आदमी-नरक है! – osgx

3

ज्यादा underrated:

mpstat -I ALL 1 | less -SR 
+0

क्या यह पुरानी उबंटू में उपलब्ध है? – osgx

+1

यह पहले से ही [डैपर (2006)] (http://packages.ubuntu.com/dapper/sysstat) में उपलब्ध था और पैकेज 'sysstat' में रहता है। – sehe

+0

दुर्भाग्यवश, मेरे पास sysstat स्थापित करने के लिए कोई रूट अधिकार नहीं है, पीछे पीछे नहीं देखा है। – osgx

संबंधित मुद्दे

 संबंधित मुद्दे