คุณไม่จำเป็นต้องปิดหรือปิดการใช้งานคอร์
คุณจะใช้cpusetsและtasket
http://man7.org/linux/man-pages/man7/cpuset.7.html
cpuset กำหนดรายการของ CPU และโหนดหน่วยความจำ ...
ระบบไฟล์ cpuset เป็นอินเตอร์เฟสระบบไฟล์หลอกไปยังกลไกเคอร์เนล cpuset ซึ่งใช้ในการควบคุมการวางโปรเซสเซอร์และการจัดวางหน่วยความจำของกระบวนการ มันเป็นเรื่องปกติที่ / dev / cpuset
บนระบบที่มีเมล็ดที่คอมไพล์ด้วยตัวสนับสนุน cpusets กระบวนการทั้งหมดจะเชื่อมต่อกับ cpuset และ cpusets จะปรากฏอยู่เสมอ หากระบบรองรับ cpusets ระบบจะมีรายการ nodev cpuset ในไฟล์ / proc / filesystems โดยการติดตั้งระบบไฟล์ cpuset (ดูหัวข้อ EXAMPLE ด้านล่าง) ผู้ดูแลระบบสามารถกำหนดค่า cpusets บนระบบเพื่อควบคุมตัวประมวลผลและการจัดวางหน่วยความจำของกระบวนการในระบบนั้น โดยค่าเริ่มต้นหากการกำหนดค่า cpuset บนระบบไม่ได้ถูกแก้ไขหรือหากระบบไฟล์ cpuset ไม่ได้ติดตั้งอยู่กลไกของ cpuset จะยังไม่ส่งผลกระทบต่อพฤติกรรมของระบบ
ซีพียูของระบบรวมหน่วยการประมวลผลแบบลอจิคัลทั้งหมดที่กระบวนการสามารถดำเนินการได้รวมถึงหากมีหลายคอร์โปรเซสเซอร์ภายในแพ็คเกจและ Hyper-Threads ภายในโปรเซสเซอร์หลัก โหนดหน่วยความจำประกอบด้วยธนาคารที่แตกต่างกันทั้งหมดของหน่วยความจำหลัก โดยทั่วไประบบขนาดเล็กและ SMP จะมีโหนดหน่วยความจำเพียงโหนดเดียวที่มีหน่วยความจำหลักทั้งหมดของระบบในขณะที่ระบบ NUMA (การเข้าถึงหน่วยความจำที่ไม่ใช่เครื่องแบบ) มีโหนดหน่วยความจำหลายโหนด
กล่าวโดยย่อถ้าคุณมี 1 cpu ที่มี 6 คอร์คุณจะต้องกำหนดค่า cpusets และเปิดใช้งานกระบวนการของคุณในcpusetที่กำหนดค่าไว้ในแกนเดียวตัวอย่างเช่น core # 3 ถ้ามันเป็นกระบวนการแบบขนานมันทั้งหมดจะถูก จำกัด อยู่ที่หนึ่งคอร์นั้นถ้าคุณเปิดตัว 4 โพรเซสใน cpuset ที่กำหนดโดยมีเพียงหนึ่งคอร์ที่กำหนดไว้ดังนั้นโพรเซสทั้งสี่นั้นจะได้รับประโยชน์ 25% cpu บนแกน # 3
สิ่งที่มักจะเกิดขึ้นคือcpusetถูกกำหนดค่าเช่นนั้น
- ในระบบหลัก 200+ cpusetA คือแกน 0..60 ไม่ว่าจะอยู่ที่ไหน cpusetB คือแกน 61 .. 70; cpusetC เป็นแกน 71 .. 80; อย่างไรก็ตามผู้ดูแลระบบ / สถาปนิกเลือกที่จะกำหนดค่า
- cpusetA ถูกจัดสรรให้กับผู้ใช้และ / หรือโปรแกรมซอฟต์แวร์เฉพาะ cpusetB ถูกจัดสรรให้กับผู้ใช้ / โปรแกรมที่แตกต่างกัน และอื่น ๆ
- ผู้ใช้เรียกใช้งาน (โปรเซส) ซึ่งจะร้องขอN cores ... ภายใน cpuset ที่กำหนดและตอนนี้กระบวนการหลาย ๆ (ขนาน) จะถูก จำกัด ไว้ที่ cpuset ที่กำหนด และสำหรับNขนานเหล่านั้นถูก จำกัด อยู่ที่ cpuset ที่กำหนดแต่ละกระบวนการเหล่านั้นจะ / ควรใช้ประโยชน์จากความสัมพันธ์ของตัวประมวลผลหรือความสัมพันธ์ของซีพียูเพื่อให้กระบวนการแบบขนานเหล่านั้นไม่ได้ฟาดไปมาบนแกนต่าง ๆ ภายใน cpuset
ยัง: https://linux.die.net/man/1/taskset
maxcpus=1
commmand ? คุณใส่สตริงนั้นgrub.cfg
เป็นตัวเลือกการบูตหรือไม่? (โปรดอัปเดตคำถามของคุณแทนที่จะตอบในความคิดเห็น)