มีคำสั่งใดในลีนุกซ์ที่จะคิดออก, กำหนดโพรเซส, ซึ่งโพรเซสใดที่โพรเซสกำลังทำงานอยู่? ฉันสนใจที่จะหา CPU ไม่ว่างและเวลาว่างของ CPU ของโปรเซสเซอร์นั้น
มีคำสั่งใดในลีนุกซ์ที่จะคิดออก, กำหนดโพรเซส, ซึ่งโพรเซสใดที่โพรเซสกำลังทำงานอยู่? ฉันสนใจที่จะหา CPU ไม่ว่างและเวลาว่างของ CPU ของโปรเซสเซอร์นั้น
คำตอบ:
คุณสามารถใช้ps
คำสั่งเพื่อสอบถามและแสดงโปรเซสเซอร์ที่ใช้งานอยู่ ตัวอย่างเช่นคุณอาจเรียกใช้:
$ ps -aF
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 5971 1764 1 Sep15 ? 00:00:01 /sbin/init
ubuntu 28903 2975 0 3826 1208 0 09:36 pts/0 00:00:00 ps -aF
PSR
แสดงคอลัมน์ที่init
ทำงานอยู่ในหน่วยประมวลผล 1 และps
กำลังทำงานบนหน่วยประมวลผล 0. ดูmanpage สำหรับ PS (1)สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการกำหนดเขตข้อมูลที่จะแสดง
คุณสามารถกำหนดค่าเครื่องมือกราฟิกเช่นhtop
แสดงโปรเซสเซอร์ปัจจุบันที่ใช้งานอยู่ นอกจากนี้ยังhtop
มีกราฟแสดงผลการโหลดต่อ CPU ซึ่งอาจเป็นสิ่งที่คุณกำลังมองหา ดูตัวอย่างเช่นหน้าจอต่อไปนี้จากhttp://htop.sourceforge.net/
ในที่สุดคุณสามารถใช้taskset
เครื่องมือเพื่อบังคับให้มีความเกี่ยวข้องกับ CPU เฉพาะ
มีหลายวิธีในการค้นหา htop, top, ps
url: http://htop.sourceforge.net/
url: http://gitorious.org/procps
นี่คือตัวอย่างของคอลัมน์สุดท้าย P
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND P
5626 yashi 20 0 1926276 545964 47596 R 12.6 3.4 151:10.81 gnome-sh+ 2
5347 root 20 0 384788 73600 55708 S 8.7 0.5 55:10.09 Xorg 1
8125 yashi 20 0 646240 30776 21928 S 4.3 0.2 23:06.20 gnome-sy+ 0
1785 yashi 20 0 581180 29288 15560 R 4.0 0.2 0:25.55 gnome-te+ 1
PSR เป็นรหัสเพื่อแสดงรหัสโปรเซสเซอร์ คุณสามารถใช้ตัวเลือกรูปแบบเช่นps -o pid,psr
หรือทำps -eF
$ ps -eF|head
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 3817 964 0 Aug14 ? 00:00:02 init [2]
root 2 0 0 0 0 2 Aug14 ? 00:00:00 [kthreadd]
root 3 2 0 0 0 0 Aug14 ? 00:00:11 [ksoftirqd/0]
root 5 2 0 0 0 0 Aug14 ? 00:00:00 [kworker/0:0H]
root 7 2 0 0 0 0 Aug14 ? 00:00:00 [migration/0]
root 8 2 0 0 0 0 Aug14 ? 00:00:00 [rcu_bh]
root 9 2 0 0 0 3 Aug14 ? 00:00:39 [rcu_sched]
root 10 2 0 0 0 0 Aug14 ? 00:00:00 [watchdog/0]
root 11 2 0 0 0 1 Aug14 ? 00:00:00 [watchdog/1]
ฉัน jsut พูดถึงเนื้อหาของ man ps:
psrจะบอกคุณโปรเซสเซอร์ซึ่งกระบวนการทำงานหรือรันอยู่ pcpuจะบอกเปอร์เซ็นต์ของเวลาซีพียูที่กระบวนการใช้ไป
ps -eo pid, tid, คลาส, rtprio, ni, pri, psr , pcpu , stat, wchan: 14, comm
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | tail
9847 9847 TS - 0 19 2 0.0 S - kworker/2:0
10061 10061 TS - 0 19 2 0.6 Sl futex_wait_que chrome
10208 10208 TS - 0 19 3 0.0 S - kworker/3:3
10247 10247 TS - 0 19 1 0.0 S - kworker/1:1
10381 10381 TS - 0 19 1 4.6 Sl futex_wait_que chrome
10452 10452 TS - 0 19 0 0.0 S - kworker/0:1
10491 10491 TS - 0 19 0 0.5 Sl futex_wait_que chrome
10504 10504 TS - 0 19 2 0.0 S - kworker/2:1
10505 10505 TS - 0 19 0 0.0 R+ - ps
10506 10506 TS - 0 19 3 0.0 S+ pipe_wait tail
สไตล์ BSD:
ps axo stat, euid, ruid, tty, tpgid, sess, pgrp, ppid, pid, psr , pcpu , comm