นี่คือคำสั่ง cset-proc ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
cset-proc - จัดการกระบวนการที่ทำงานใน cpuets
เรื่องย่อ
ชุด [ตัวเลือก cset] พรอค [ตัวเลือก proc] [args]
ชุด โพรซี -- ช่วยเหลือ
ชุด พรอค
ชุด โพรซี my_set my_other_set
ชุด proc --list --set my_set
ชุด proc --exec my_set /opt/software/my_code --my_opt_1
ชุด proc --set my_set --exec /opt/software/my_code --my_opt_1
ชุด โพรซี --move 2442,3000-3200 my_set
ชุด proc --move --pid=2442,3000-3200 --toset=my_set
ชุด proc --move --fromset=my_set_1 --toset=my_set_2
ชุด proc --move --pid=42 --fromset=/group1/myset --toset=/group2/yourset
OPTIONS
-h, --ช่วยด้วย
พิมพ์รายการตัวเลือกสำหรับคำสั่งนี้
-l, --รายการ
แสดงรายการกระบวนการใน cpuset ที่ระบุ
-e, --ผู้บริหาร
รันอาร์กิวเมนต์ใน cpuset ที่ระบุ
-u USER, --user=USER
ใช้ USER นี้เพื่อ --exec (id หรือชื่อ)
-g GROUP --group=GROUP
ใช้ GROUP นี้เพื่อ --exec (id หรือชื่อ)
-ม, --ย้าย
ย้ายงานที่ระบุไปยัง cpuset ที่ระบุ ในการย้าย PIDSPEC ไปยัง cpuset ให้ใช้ -m
ซีพียู PIDSPEC; เพื่อย้ายงานทั้งหมดระบุ --fromset และ --toset
-p PIDSPEC, --pid=PIDSPEC
ระบุ pid หรือ tid Spec
--กระทู้
หากระบุไว้ กระบวนการใด ๆ ที่พบใน PIDSPEC เพื่อให้มีหลายเธรดจะ
เพิ่มเธรดทั้งหมดลงใน PIDSPEC โดยอัตโนมัติ (ใช้เพื่อย้ายที่เกี่ยวข้องทั้งหมด
เธรดไปยังซีพียู)
-s CPUSET, --set=CPUSET
ระบุชื่อซีพียูทันที
-t TOSET, --toset=TOSET
ระบุชื่อซีพียูปลายทาง
-f FROMSET, --fromset=FROMSET
ระบุชื่อแหล่งกำเนิด cpuset
-k, --kthread
ย้ายหรือรวมการย้ายเคอร์เนลเธรดที่ไม่ผูกมัด
--บังคับ
บังคับให้ย้ายกระบวนการและเธรดทั้งหมด
-v, --เวอร์โบส
พิมพ์ผลลัพธ์ที่มีรายละเอียดมากขึ้น สารเติมแต่ง
DESCRIPTION
คำสั่งนี้ใช้เพื่อรันและจัดการกระบวนการโดยอำเภอใจบนซีพียูที่ระบุ มันคือ
ยังใช้เพื่อย้ายกระบวนการและเธรดที่มีอยู่ก่อนไปยังซีพียูที่ระบุ คุณอาจจะทราบ
ไม่มีตัวเลือก "kill" หรือ "destroy" — ใช้ OS ^C มาตรฐานหรือคำสั่ง kill สำหรับสิ่งนั้น
หากต้องการแสดงรายการงานที่กำลังรันอยู่ใน cpuset เฉพาะ ให้ใช้คำสั่ง --list
ตัวอย่างเช่น:
# ชุด พรอค --รายการ --ชุด มายเซ็ต
คำสั่งนี้จะแสดงรายการงานทั้งหมดที่ทำงานอยู่ใน cpuset ที่เรียกว่า "myset"
กระบวนการถูกสร้างขึ้นโดยการระบุพาธไปยังไฟล์ปฏิบัติการและระบุ cpuset
ว่าจะต้องสร้างกระบวนการ
ตัวอย่างเช่น:
# ชุด พรอค --set=blazing_cpuset --ผู้บริหาร /usr/bin/fast_code
คำสั่งนี้จะรันโปรแกรม /usr/bin/fast_code บนซีพียู "blazing_cpuset"
โปรดทราบว่าหากคำสั่งของคุณใช้ตัวเลือก ให้ใช้เครื่องหมาย "--" แบบเดิมเพื่อแยก
ตัวเลือกของ cset จากตัวเลือกคำสั่งของคุณ
ตัวอย่างเช่น:
# ชุด พรอค --ชุด มายเซ็ต --ผู้บริหาร - ls -l
คำสั่งนี้จะรัน "ls -l" บน cpuset ชื่อ "myset"
อาร์กิวเมนต์ PIDSPEC ที่ใช้สำหรับคำสั่ง move คือรายการที่คั่นด้วยเครื่องหมายจุลภาคของ PID หรือ TID
รายการยังสามารถรวมวงเล็บของ PID หรือ TID (เช่น งาน) ที่รวม
ปลายทาง
ตัวอย่างเช่น:
1,2,5 หมายถึงกระบวนการ 1, 2 และ 5
1,2,600-700 หมายถึงกระบวนการ 1, 2 และจาก 600 ถึง 700
หมายเหตุ
ช่วงของ PID หรือ TID ไม่จำเป็นต้องมีทุกตำแหน่ง ในอื่นๆ
ดังตัวอย่างข้างต้น หากมีเพียงกระบวนการเดียว ให้ระบุ PID 57 ในช่วง
จาก 50-65 ดังนั้นเฉพาะกระบวนการนั้นเท่านั้นที่จะถูกย้าย
ในการย้าย PIDSPEC ไปยัง cpuset เฉพาะ คุณสามารถระบุ PIDSPEC ด้วย --pid และ
cpuset ปลายทางด้วย --toset หรือใช้มือสั้นและระบุชื่อ cpuset หลังจาก
PIDSPEC สำหรับ --move อาร์กิวเมนต์
คำสั่งย้ายยอมรับวิธีการเรียกทั่วไปหลายวิธี ตัวอย่างเช่นต่อไปนี้
คำสั่งเทียบเท่า:
# ชุด พรอค --เคลื่อนไหว 2442,3000-3200 สงวนไว้_set
# ชุด พรอค --เคลื่อนไหว --pid=2442,3000-3200 --toset=reserved_set
คำสั่งเหล่านี้จะย้ายงานที่กำหนดไว้เป็น 2442 และงานที่กำลังดำเนินการใดๆ ระหว่าง 3000 ถึง 3200
รวมปลายของ cpuset ที่เรียกว่า "reserved_set"
ไม่จำเป็นต้องระบุ --fromset เนื่องจากงานจะถูกย้ายไปยังปลายทาง
cpuset ไม่ว่า cpuset ใดที่พวกเขากำลังทำงานอยู่
หมายเหตุ
อย่างไรก็ตาม หากคุณระบุ cpuset ด้วย --fromset ตัวเลือก งานเหล่านั้นเท่านั้น
ที่อยู่ใน PIDSPEC และ กำลังทำงานอยู่ใน cpuset ที่ระบุโดย --fromset will
จะถูกย้าย กล่าวคือถ้ามีงานที่รันอยู่บนระบบแต่ไม่ได้อยู่ใน --fromset นั่นคือ
ใน PIDSPEC จะไม่ถูกย้าย
หากใช้สวิตช์ --threads คำสั่ง proc จะรวบรวมเธรดของ
เป็นของโปรเซสหรือเธรดใดๆ ที่ระบุใน PIDSPEC และย้ายออก
นี่เป็นวิธีง่ายๆ ในการย้ายชุดข้อความที่เกี่ยวข้องทั้งหมด: เพียงเลือก TID หนึ่งรายการจากชุดและ
ใช้ตัวเลือก --threads
หากต้องการย้ายงาน userspace ทั้งหมดจาก cpuset เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง คุณต้องระบุแหล่งที่มาและ
ซีพียูปลายทางตามชื่อ
ตัวอย่างเช่น:
# ชุด พรอค --เคลื่อนไหว --fromset=comp1 --toset=comp42
คำสั่งนี้ระบุว่ากระบวนการและเธรดทั้งหมดที่ทำงานบน cpuset "comp1" จะถูกย้าย
ไปยังซีพียู "comp42"
หมายเหตุ
คำสั่งย้ายนี้จะไม่ย้ายเคอร์เนลเธรดเว้นแต่ว่าสวิตช์ -k/-kthread คือ
ระบุไว้ หากเป็นเช่นนั้น เธรดเคอร์เนลที่ไม่ได้ผูกไว้ทั้งหมดจะถูกเพิ่มในการย้าย
เธรดเคอร์เนลที่ไม่ผูกมัดคือเธรดที่สามารถทำงานบน CPU ใดก็ได้ ถ้าคุณ ด้วย ระบุ
--force switch จากนั้นงานทั้งหมด เคอร์เนลหรือไม่ ถูกผูกไว้หรือไม่ จะถูกย้าย
คำเตือน
โปรดใช้ความระมัดระวังกับสวิตช์ --force เนื่องจากการย้ายเธรดเคอร์เนลที่ผูกไว้
ไปยัง CPU เฉพาะ ไปยัง cpuset ที่ไม่มี CPU นั้นอาจทำให้ระบบหยุดทำงาน
คุณต้องระบุชื่อ cpuset เฉพาะสำหรับคำสั่ง exec และ move ถ้าชื่อง่าย
ส่งผ่านไปยัง --fromset, --toset และ --set พารามิเตอร์ไม่ซ้ำกันในระบบจากนั้น
คำสั่งดำเนินการ อย่างไรก็ตาม หากชื่อนั้นมีหลายซีพียู คุณจะต้องใช้
เพื่อระบุว่าคุณหมายถึงอันใดด้วยพาธแบบเต็มที่รูทที่ทรี cpuset ฐาน
ตัวอย่างเช่น สมมติว่าคุณมีแผนผัง cpuset ต่อไปนี้:
/cpuets
/group1
/myset
/ชุดของคุณ
/group2
/myset
/ชุดของคุณ
จากนั้น หากต้องการย้ายกระบวนการจาก myset ใน group1 ไปยัง yourset ใน group2 คุณจะต้องออก
คำสั่งต่อไปนี้:
# cset proc --move --pid=50 --fromset=/group1/myset --toset=/group2/yourset
คุณไม่ต้องกังวลว่าระบบไฟล์ cpuset อยู่ที่ไหนในระบบไฟล์ Linux
ติดตั้ง คำสั่ง cset ดูแลสิ่งนั้น cpuets ใด ๆ ที่ระบุโดยเส้นทาง (เช่น
ดังที่กล่าวข้างต้น) ดำเนินการเกี่ยวกับรูทของระบบไฟล์ cpuset
ใช้ cset-proc ออนไลน์โดยใช้บริการ onworks.net