cpu แต่ละ% ในเอาต์พุต 'บนสุด'


10

โดยปกติแล้วเพื่อดู cpu% แต่ละรายการเรากด '1' ในโหมดโต้ตอบของด้านบน

อย่างไรก็ตามฉันไม่สามารถหาตรรกะเพื่อให้ได้ผลลัพธ์เดียวกันในโหมดแบทช์เช่น

top -n1b

ฉันกำลังเปลี่ยนเส้นทางผลลัพธ์นี้ไปยังไฟล์เพื่อดูในภายหลังและอะไรทำนองนั้นดังนั้นฉันต้องการโหมดแบทช์ เป็นไปได้ไหม? การติดตั้งเครื่องมือแยกต่างหากสำหรับสิ่งนี้ไม่สามารถทำได้

ฉันกำลังมองหาตัวเลือกที่ฉันขาดหายไปหรือวิธีการจับเอาท์พุท

คำตอบ:


7

ในด้านบนโต้ตอบสลับไปยัง CPU แต่ละ% โดยพิมพ์แล้วเขียนการตั้งค่าปัจจุบันไปยังแฟ้มโดยการพิมพ์1 นี้จะสร้างW ~/.toprcตอนนี้top -n1bจะส่งออกต่อ CPU% เช่นกัน คุณอาจต้องคัดลอก.toprcไฟล์และเปลี่ยนสิทธิ์หากสคริปต์ของคุณทำงานในฐานะผู้ใช้อื่น


1
ถามถามโหมดแบทช์
Charles Stewart

2
ฉันจะพยายามที่จะชัดเจน: ฉันรู้ว่าไม่มีทางในบรรทัดคำสั่งที่จะบอกด้านบน "เมื่อคุณอยู่ในโหมดแบทช์พิมพ์ cpu% แต่ละ" อย่างไรก็ตามด้านบนจะอ่าน.toprcในโหมดแบทช์เพื่อให้คุณสามารถตั้งค่าไฟล์ที่ฉันอธิบายแล้วคุณจะได้รับซีพียู% ในโหมดแบทช์เช่นกัน หรืออย่างน้อยก็ทำเพื่อฉัน (รุ่น procps 3.2.7)
jwhitlock

มันจะต้องเป็นtopอย่างไร ทำไมไม่ใช้psและเรียงลำดับบน% CPU ฉันพบว่า% CPU ทำให้เข้าใจผิดแม้ฉันมักจะเรียงลำดับใน VSIZE หรือ RSS เพราะบ่อยครั้งที่สิ่งที่เซิร์ฟเวอร์ของฉันล้มลงคือ hogs หน่วยความจำอันธพาล
memnoch_proxy


1

นี่คือการแฮ็ก แต่ดูเหมือนว่าจะทำงาน:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

0

ฉันไม่ทราบวิธีที่ถูกต้องในการทำเช่นนี้กับยอดแหลม อาจecho k|top -n2 -d1.0จะเป็นเคล็ดลับหรือไม่ โปรดทราบว่าเอาต์พุตแรกของ top จะไม่ให้ข้อมูลที่เป็นประโยชน์กับคุณในการใช้งาน cpu%: top จะพยายามประมาณ cpu% นับตั้งแต่เริ่มทำงาน -n2ดังนั้น คุณสามารถ จำกัด รายชื่อสถิติที่สองโดยทิ้งทุกอย่างจนถึงบรรทัดว่างที่สอง

ด้วย BSD อันดับสูงสุดtop -l2 -s1 -o cpuจะ (ทดสอบ) พิมพ์สถิติอันดับสูงสุดสองครั้งสั่งซื้อโดย cpu% ในกรณีที่มี BSD แอบซุ่มอยู่ในระบบของคุณ ...


0

คุณสามารถใช้บน มันเป็นจอแสดงผลที่ครอบคลุมมากซึ่งคุณสามารถตรวจสอบกระบวนการต่าง ๆ รวมถึงทรัพยากรระบบเช่นหน่วยความจำและ CPU มันให้แต่ละเอาต์พุตสำหรับแต่ละ CPU core

สำหรับระบบอูบุนตูมีให้ใช้เป็นแพ็คเกจใน repo ดังนั้นคุณสามารถติดตั้งได้โดยตรงผ่าน apt-get / synaptic

สำหรับ Redhat และระบบที่ได้รับคุณสามารถค้นหาแพ็คเกจได้ที่นี่: http://dag.wieers.com/rpm/packages/atop/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.