คำถามติดแท็ก cpu

CPU (หน่วยประมวลผลกลาง) เป็นชิปในคอมพิวเตอร์ที่ดำเนินการและคำนวณตามจริงเมื่อโปรแกรมทำงาน เป็นหลักสิ่งที่รันโปรแกรม

12
จะทราบจำนวนคอร์ของระบบใน Linux ได้อย่างไร?
ฉันต้องการค้นหาว่าระบบของฉันมีแกนประมวลผลจำนวนเท่าใดดังนั้นฉันจึงค้นหาคำถามเดียวกันใน Google ฉันได้รับคำสั่งบางอย่างเช่นlscpuคำสั่ง เมื่อฉันลองคำสั่งนี้มันให้ผลลัพธ์ดังต่อไปนี้: $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 23 Stepping: 10 CPU MHz: 1998.000 BogoMIPS: 5302.48 …
231 linux  cpu 

4
แฟล็กใน / proc / cpuinfo หมายถึงอะไร
ฉันจะรู้ได้อย่างไรว่าโปรเซสเซอร์มีคุณสมบัติเฉพาะหรือไม่ (ชุดคำสั่ง 64 บิตการจำลองเสมือนแบบใช้ฮาร์ดแวร์ช่วยเร่งความเร็วการเข้ารหัส ฯลฯ ) ฉันรู้ว่าไฟล์/proc/cpuinfoนี้มีข้อมูลนี้อยู่ในflagsบรรทัด แต่ตัวย่อแบบเข้ารหัสลับทั้งหมดเหล่านี้มีความหมายว่าอะไร? ตัวอย่างเช่นจากสารสกัดต่อไปนี้/proc/cpuinfoฉันมี CPU 64 บิตหรือไม่ ฉันมีการจำลองเสมือนสำหรับฮาร์ดแวร์หรือไม่ model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz … flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 …
212 linux  cpu  arm  x86 

3
คำสั่ง Linux“ top”: เราคืออะไร, sy, ni, id, wa, hi, si และ st (สำหรับการใช้งาน CPU)?
เมื่อฉันออกtopใน Linux ฉันได้รับผลลัพธ์เช่นนี้: หนึ่งในบรรทัดมีข้อมูลการใช้งาน CPU แสดงดังนี้: Cpu(s): 87.3%us, 1.2%sy, 0.0%ni, 27.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st ในขณะที่ฉันรู้คำจำกัดความของแต่ละคน (ด้านล่างสุด) ฉันไม่เข้าใจว่างานเหล่านี้มีความหมายอย่างไร hi - การขัดจังหวะการให้บริการของฮาร์ดแวร์หมายถึงอะไร si - การหยุดให้บริการของซอฟต์แวร์หมายความว่าอย่างไร st - พวกเขาบอกว่าเป็น "เวลา CPU ในการรอคอย CPU เสมือนโดยไม่สมัครใจขณะที่ hypervisor กำลังให้บริการตัวประมวลผลอื่น (หรือ)% CPU เวลาที่ถูกขโมยจากเครื่องเสมือน" แต่จริงๆแล้วมันหมายถึงอะไร? บางคนชัดเจนกว่านี้ได้ไหม ฉันแสดงทั้งหมดus, sy, niฯลฯ เพราะมันจะช่วยให้คนอื่น ๆ ค้นหาสำหรับเดียวกัน ข้อมูลนี้ไม่ได้อยู่ในหน้าคน us: user cpu time …
195 linux  cpu  top 

3
กระบวนการ CPU ที่ไม่ทำงานทำอะไร
ดูที่แหล่งที่มาของstraceฉันพบการใช้ธงโคลนCLONE_IDLETASKซึ่งอธิบายไว้ที่นั่น: #define CLONE_IDLETASK 0x00001000 /* kernel-only flag */ หลังจากมองลึกลงไปฉันพบว่าแม้ว่าแฟล็กนั้นจะไม่ครอบคลุมในman cloneนั้นจะถูกใช้โดยเคอร์เนลในระหว่างกระบวนการบูตเพื่อสร้างกระบวนการว่าง (ซึ่งทั้งหมดควรมี PID 0) สำหรับแต่ละ CPU บนเครื่อง เช่นเครื่องที่มี 8 CPUs จะมีอย่างน้อย 7 (ดูคำถามด้านล่าง) กระบวนการดังกล่าว "กำลังทำงาน" (เครื่องหมายคำพูด) ตอนนี้สิ่งนี้ทำให้ฉันมีคำถามสองสามข้อเกี่ยวกับกระบวนการ "ว่าง" ที่ทำจริง ๆ ข้อสันนิษฐานของฉันคือมันประมวลผลการดำเนินการ NOP อย่างต่อเนื่องจนกว่ากรอบเวลาจะสิ้นสุดลงและเคอร์เนลจะกำหนดกระบวนการจริงให้เรียกใช้หรือกำหนดกระบวนการว่างอีกครั้ง (หากไม่ได้ใช้งาน CPU) กระนั้นนั่นก็เป็นการคาดเดาที่สมบูรณ์ ดังนั้น: บนเครื่องที่มี 8 ซีพียู 7 กระบวนการที่ไม่ได้ใช้งานจะถูกสร้างขึ้นหรือไม่? (และ CPU หนึ่งตัวจะถูกเก็บไว้โดยเคอร์เนลเองในขณะที่ไม่มีการทำงานของ userspace?) กระบวนการที่ไม่ได้ใช้งานเป็นเพียงแค่กระแสการดำเนินการ NOP ที่ไม่สิ้นสุดจริงๆ (หรือลูปที่ทำเช่นเดียวกัน) การใช้งาน …
73 linux-kernel  cpu 

2
ด้านบนและ ps ไม่แสดงผลลัพธ์ cpu เดียวกัน
นี้มีการเชื่อมโยงนี้คำถาม เมื่อฉันเรียกใช้topฉันได้รับผลลัพธ์ต่อไปนี้: pid 3038ใช้ 18% cpu อย่างไรก็ตามเมื่อทำงาน ผลลัพธ์ที่ได้คือ 5.5% และจำนวนนี้ดูเหมือนจะไม่เปลี่ยนแปลงตามเวลา (เช่นเมื่อใช้คำสั่งเดียวกันในภายหลัง) ... เป็นpsคำสั่งอย่างใดค่าเฉลี่ยการใช้งาน CPU?
54 cpu  top  ps 

14
ตรวจสอบว่ามีการเปิดใช้งาน HyperThreading หรือไม่?
ฉันจะตรวจสอบว่ามีการเปิดใช้งานไฮเปอร์เธรดในเครื่อง Linux โดยใช้สคริปต์ Perl เพื่อตรวจสอบได้อย่างไร ฉันกำลังลองวิธีต่อไปนี้: dmidecode -t processor | grep HTT แจ้งให้เราทราบหากฉันถูก

4
ดังนั้นอะไรคือ cpu cores ที่เป็นตรรกะ (ซึ่งต่างจาก cpu core)
ฉัน googling เกี่ยวกับวิธีที่ฉันสามารถค้นหาจำนวนของ CPUs ในเครื่องและฉันพบบางโพสต์ แต่ฉันสับสนตามที่บางคนกล่าวว่าคุณได้รับตรรกะตรรกะเทียบกับแกนกายภาพ ฯลฯ ดังนั้นความแตกต่างระหว่างตรรกะตรรกะและกายภาพคืออะไร มีวิธีที่ฉันจะได้รับแกนกายภาพเท่านั้นหรือไม่ หรือมันสมเหตุสมผลที่จะรวมแกนตรรกะในการนับของเรา

1
การขัดจังหวะของซอฟต์แวร์และฮาร์ดแวร์คืออะไรและมีการประมวลผลอย่างไร
ฉันไม่แน่ใจว่าฉันเข้าใจแนวคิดของการขัดจังหวะฮาร์ดแวร์และซอฟต์แวร์หรือไม่ หากฉันเข้าใจอย่างถูกต้องวัตถุประสงค์ของการขัดจังหวะฮาร์ดแวร์คือการได้รับความสนใจจาก CPU ซึ่งเป็นส่วนหนึ่งของการใช้งานมัลติทาสก์ของ CPU ถ้าเช่นนั้นปัญหาฮาร์ดแวร์ขัดจังหวะอะไร มันเป็นกระบวนการของไดรเวอร์ฮาร์ดแวร์หรือไม่ ถ้าใช่กระบวนการของฮาร์ดแวร์ไดรเวอร์ทำงานอยู่ที่ไหน ถ้ามันทำงานบนซีพียูมันจะไม่ต้องสนใจ CPU โดยการขัดจังหวะโดยฮาร์ดแวร์ใช่มั้ย แล้วมันวิ่งไปที่อื่นเหรอ? ฮาร์ดแวร์ขัดจังหวะซีพียูขัดจังหวะโดยตรงหรือไม่หรือจะติดต่อกระบวนการเคอร์เนลก่อนและกระบวนการเคอร์เนลจะติดต่อ / ขัดจังหวะ CPU หรือไม่ ในทางกลับกันฉันคิดว่าจุดประสงค์ของการขัดจังหวะของซอฟต์แวร์คือกระบวนการที่กำลังทำงานบน CPU เพื่อขอทรัพยากรบางอย่าง ทรัพยากรคืออะไร? พวกเขาทั้งหมดอยู่ในรูปแบบของกระบวนการที่กำลังทำงานอยู่หรือไม่? ตัวอย่างเช่นกระบวนการไดรเวอร์ CPU และกระบวนการไดรเวอร์หน่วยความจำแสดงถึงทรัพยากร CPU และหน่วยความจำ กระบวนการควบคุมของอุปกรณ์ I / O แสดงถึงทรัพยากร I / O หรือไม่ กระบวนการทำงานอื่น ๆ ที่กระบวนการต้องการสื่อสารกับทรัพยากรด้วยหรือไม่ ถ้าใช่ซอฟต์แวร์ขัดจังหวะการติดต่อกระบวนการ (ซึ่งแสดงถึงทรัพยากร) โดยอ้อมผ่านกระบวนการเคอร์เนลหรือไม่? ถูกต้องหรือไม่ว่าอินเตอร์รัปต์ฮาร์ดแวร์ซอฟต์แวร์อินเตอร์รัปต์ไม่ขัดจังหวะ CPU โดยตรง แต่จะขัดจังหวะ / ติดต่อกระบวนการเคอร์เนลหรือไม่

3
VirtualBox: เป็นการดีที่จะกำหนดแกน CPU เสมือนมากกว่าจำนวนแกน CPU จริง
เนื่องจากฉันมีซีพียูที่สามารถใช้Hyper-Threadingได้ฉันสงสัยว่าเป็นความคิดที่ไม่ถูกต้องหรือไม่ที่จะกำหนดคอร์ CPU เสมือนมากกว่าจำนวนคอร์ CPU จริงตามคำแนะนำต่อไปนี้: สำเนา: CPU เสมือนเพิ่มเติมถูกกำหนดให้กับเครื่องเสมือนมากกว่าจำนวนฟิสิคัล CPU บนระบบโฮสต์ นี่น่าจะลดประสิทธิภาพของเครื่องเสมือนของคุณ โปรดพิจารณาลดจำนวนของ CPU เสมือน ใครสามารถให้เหตุผลกับหัวข้อนี้ EDIT1: CPU ที่เป็นปัญหาคือ Intel Core i7-4700HQ, Ark Intel , CPU Benchmark EDIT2: สมมติว่าไม่มี HW ที่ล้าสมัยเช่น HDD (แทนที่จะเป็น SSD) และ / หรือ Low RAM (16GB นี่ขั้นต่ำvm.swappiness4GB สำหรับ VM นี้) และอื่น ๆ


1
อะไรคือ“ การสลับบริบทโดยสมัครใจ”?
ฉันได้รับไฟล์ไบนารีและฉันควรจะถอดรหัสรหัสผ่าน (ทำการบ้าน) นอกจากนี้ยังมีฟังก์ชั่นที่ได้รับ (ฟังก์ชั่นซึ่งเป็นส่วนหนึ่งของไฟล์ไบนารี) ฟังก์ชั่นนั้นแสดงให้เห็นว่าสตริงการป้อนข้อมูลถูกเปรียบเทียบกับอักขระรหัสผ่านที่ถูกต้องตามตัวอักษรและคืนเท็จทันทีเมื่ออักขระผิด (นั่นไม่ใช่วิธีที่ปลอดภัยในการทำฉันเดาเพราะมันถึงเวลาที่จะรั่วไหล ตัวอย่าง). แต่ครูของเราได้เพิ่มตัวจับเวลาแบบสุ่มที่ให้ผลลัพธ์ (แก้ไข / ผิด) เพื่อให้ยากขึ้นสำหรับเรา ... อย่างไรก็ตามฉันมีฉันทำมันสำเร็จแล้วด้วยวิศวกรรมย้อนกลับและได้รับรหัสผ่านที่ถูกต้อง ตอนนี้ฉันกำลังเล่นกับมันในบรรทัดคำสั่ง: /usr/bin/time -v ./program_name enter_password ด้วยคำสั่งนี้ฉันได้รับข้อมูลมากมายเช่นเวลาของระบบ, swaps, เวลาดำเนินการ .. แต่สิ่งที่น่าสนใจที่สุดสำหรับฉันคือ "การเปลี่ยนบริบทโดยสมัครใจ" เพราะอักขระที่ถูกต้องมากขึ้นของรหัสผ่านที่ฉันป้อน " ฉันเข้าใจ! ยิ่งฉันป้อนตัวละครผิดมากเท่าไหร่ฉันจะได้รับ ฉันใช้เวลาเกือบสองชั่วโมงในการถอดรหัสรหัสผ่านเพียงแค่ป้อนคำสั่งนั้นป้อนอักขระและสังเกต "สวิตช์บริบทแบบสมัครใจ" เมื่อใดก็ตามที่อักขระ ONE ถูกต้อง "การสลับบริบทแบบสมัครใจ" จะลดลงหนึ่งตัว คำถามของฉัน "สวิตช์บริบทแบบสมัครใจ" คืออะไรและทำไมพวกเขาถึงช่วยฉันถอดรหัสรหัสผ่าน

7
จำกัด กระบวนการไม่ให้เกินกว่า 10% ของการใช้งาน CPU
ฉันใช้งานระบบ Linux ซึ่งมีผู้ใช้จำนวนมาก แต่บางครั้งก็มีการละเมิดเกิดขึ้น ที่ผู้ใช้อาจเรียกใช้กระบวนการเดียวที่ใช้ CPU / หน่วยความจำมากกว่า 80% ดังนั้นมีวิธีที่จะป้องกันไม่ให้เกิดขึ้นโดย จำกัด ปริมาณการใช้ CPU ที่กระบวนการสามารถใช้ (ตัวอย่างเช่น 10%)? ฉันรู้cpulimitแต่มันใช้ขีด จำกัด กับกระบวนการที่ฉันสั่งให้ จำกัด (เช่นกระบวนการเดียว) ดังนั้นคำถามของฉันคือฉันจะใช้ข้อ จำกัด กับกระบวนการทำงานและกระบวนการทั้งหมดที่จะทำงานในอนาคตได้อย่างไรโดยไม่ต้องระบุ id / path ตัวอย่างเช่น

4
วิธีการกำหนดจำนวนสูงสุดที่จะผ่านไปยังตัวเลือก -j?
ฉันต้องการรวบรวมให้เร็วที่สุด ไปคิด และต้องการให้ตัวเลือกของตัวเลขตาม-jตัวเลือกโดยอัตโนมัติ ฉันจะเลือกค่านั้นโดยทางโปรแกรมเช่นในเชลล์สคริปต์ได้อย่างไร เอาต์พุตของnprocเทียบเท่ากับจำนวนเธรดที่ฉันมีให้คอมไพล์ด้วยหรือไม่? make -j1 make -j16

5
วิธีค้นหากระบวนการที่ทำให้เกิดการใช้งาน CPU สูง
มีวิธีใดบ้างที่จะทราบได้จากเทอร์มินัลว่ากระบวนการใดทำให้เกิดการใช้งาน CPU สูง? มันจะมีประโยชน์ในการจัดลำดับกระบวนการตามลำดับของการใช้ cpu
30 linux  terminal  process  cpu 


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