มีวิธีดูความถี่ CPU ปัจจุบันใน macOS จากเทอร์มินัล (ไม่ใช่แกดเจ็ตพลังงานของ Intel)


14

ฉันตระหนักถึงคำตอบเหล่านี้:

/programming/9948987/detect-current-cpu-clock-speed-programmatically-on-os-x

ดูความเร็วสัญญาณนาฬิกาปัจจุบันของ CPU ใน OS X หรือไม่

ซึ่งหมายถึงIntel Power Gadgetเป็นวิธีการที่จะได้รับความถี่ของ CPU ในปัจจุบันจะมีโปรแกรม / วิธีการที่จะได้รับข้อมูลนี้จากขั้ว?

sysctl hw.cpufrequencyแสดงความถี่ที่ระบุของ CPU เท่านั้นนั่นคือสิ่งที่ผู้ผลิตระบุไว้ ไม่พิจารณา Turbo Boost หรือความถี่ต่ำกว่าเมื่อ CPU ไม่ได้ทำงาน (ตัวอย่างเช่นหาก CPU คือ i5, 1.4GHz จะเป็น 1.4GHz เสมอ)

Cวิธีการแก้ปัญหาให้มันดังนั้นการใช้sysctl.hมีผลเช่นเดียวกัน


คำตอบที่อยู่เบื้องหลังการเชื่อมโยง StackOverflow ประกอบด้วยคำตอบจากเทอร์มินัล คุณช่วยอธิบายว่ามันใช้ไม่ได้กับคุณหรือไม่?
nohillside

โซลูชันทั้งหมดใน SO แสดงเฉพาะความถี่ CPU เล็กน้อยซึ่งไม่เปลี่ยนแปลงตามความถี่จริงและไม่สัมพันธ์กับ Power Gadget
amanusk

ที่เกี่ยวข้อง: stackoverflow.com/a/8353086/4703819
อัลลัน

จากสิ่งที่ฉันเข้าใจ "ความถี่" คำนวณจากปัจจัยหลายประการ ไม่มี "โพรบ" ที่เชื่อมต่อกับ CPU เพื่อวัดแบบเรียลไทม์ว่าความถี่คืออะไร
อัลลัน

1
ถ้ามันทำงานบน Linux มันจะเป็นตัวเลือกในการดูซอร์สโค้ดที่นั่นหรือไม่?
nohillside

คำตอบ:


4

เนื่องจากความคิดเห็นของคุณกล่าวว่าคุณเพียง แต่มุ่งเน้นไปที่การเปิดใช้งานเทอร์มินัล (หรือมากกว่านั้นไม่ใช่เดสก์ทอป) ...

ฉันคิดว่า Intel Power Gadget จะช่วยให้คุณได้รับข้อมูลของคุณจากเทอร์มินัล จากIntel :

Intel® Power Gadget ยังมี C / C ++ Application Programming Interface (API) สำหรับการเข้าถึงข้อมูลพลังงานและความถี่ในโปรแกรมของคุณ API ได้รับการสนับสนุนบน Windows และ Mac OS X สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API โปรดดู:

และในหน้าเดียวกันนั้นยังมีลิงก์ไปยังการใช้ Intel Power Gadget API บน Mac OS X

ขออภัยนี่ไม่ใช่ลิงก์ไปยังโซลูชันที่ไม่ได้อยู่ในกล่อง ฉันใช้เวลาสองสามนาทีกับ google เพื่อดูว่าฉันสามารถหาคนที่ทำสิ่งนี้ได้โดยไม่ต้องโชค


1
นี่คือคำตอบที่ดีที่สุด ฉันหวังว่าจะมีวิธีรับข้อมูลความถี่โดยไม่ต้องติดตั้งซอฟต์แวร์ภายนอก (กับบางอย่างsysctl) หรือโดยใช้ซอฟต์แวร์โอเพ่นซอร์ส
amanusk

2

ลอง top -F -n0 -s3 | grep "CPU usage"

topแสดงและอัปเดตข้อมูลที่เรียงลำดับเกี่ยวกับกระบวนการ
-Fไม่คำนวณสถิติเกี่ยวกับไลบรารีที่ใช้ร่วมกัน (เฟรมเวิร์ก)
-n0แสดงกระบวนการเป็นศูนย์ (เพราะเราไม่สนใจ)
-s3อัปเดตทุก ๆ 3 วินาที (ค่าเริ่มต้นคือ 1)
grepแสดงเฉพาะบรรทัดที่มีการใช้งาน CPU

ตัวอย่างผลลัพธ์:

$ top -F -n0 -s3 | grep "CPU usage"
CPU usage: 9.36% user, 20.0% sys, 70.63% idle 
CPU usage: 8.35% user, 8.19% sys, 83.45% idle 
CPU usage: 8.18% user, 7.77% sys, 84.4% idle 
CPU usage: 5.89% user, 8.1% sys, 86.8% idle

คุณสามารถแยกเอาท์พุทสำหรับแสดงที่อื่นได้

ระวังว่าtopทรัพยากรนั้นเข้มข้นมากในขณะที่มันกำลังทำงาน

แก้ไข: อาคุณต้องการความถี่ ฉันรู้ว่าiStat Menusต้องติดตั้งผู้ช่วยเพื่อรับข้อมูลนั้นแบบเรียลไทม์


2
ความถี่ที่แท้จริงคือปัญหาด้านบนและ htop ไม่ได้ให้สิ่งที่น่าเสียดาย
amanusk

2

ฉันต้องคิดว่านี่เป็นคำถาม XY เล็กน้อยที่ "คุณจะทำอย่างไรเมื่อคุณได้รับหมายเลขนี้" และต้องการตอบคำถามนั้นโดยตรง แต่ลองดำดิ่งลงไปในสิ่งที่คุณพยายามวัด ซีพียูขัดจังหวะบน macOS นั้นมีรูปแบบเป็นระยะเวลา 150 มิลลิวินาทีและรายละเอียดส่วนใหญ่เป็นแบบสาธารณะจาก WWDC 2013 และต่อมาในเรื่องการจัดการพลังงาน, App Nap ( โดยเฉพาะช่วงที่ 209 เป็นทั้งดีและเข้าถึงได้ ) และการเพิ่มประสิทธิภาพอายุการใช้งานแบตเตอรี่

การรวมตัวจับเวลา - การประหยัดพลังงานในช่วงเวลา 150 มิลลิวินาทีสำหรับ macOS จาก WWDC 2013 เซสชัน 209

ตั้งแต่รหัสและแต่ละคอร์ของซีพียูสามารถและจะเปลี่ยนหลายร้อยครั้งต่อวินาทีตามปัจจัยการโหลดชั่วคราวการเพิ่มประสิทธิภาพพลังงานที่พิจารณาสิ่งที่มองเห็นบนหน้าจอสิ่งที่ข้อมูลเครือข่ายมาถึงความคิดที่ว่าซีพียูที่ทันสมัย "อัตรานาฬิกาในช่วงเวลาใดเวลาหนึ่งดูเหมือนว่าจะทำให้ความเป็นจริงง่ายขึ้นมากเกินไป ด้วย 8 คอร์ใน MacBook Pro หลาย ๆ คอร์และหลายสิบคอร์บน iMac Pro - คุณกำลังเพิ่มความซับซ้อนขึ้นเป็นหนึ่งหมายเลข

ช่วยเพิ่มเมื่อแกนเดียวสามารถทำงานโอเวอร์คล็อกมากกว่ามีโอกาสน้อยที่จะวัดได้ง่าย pmsetแต่คุณสามารถวัดการควบคุมปริมาณความร้อนมากเพียงกับการเข้าสู่ระบบการระบายความร้อนของ

pmset -g therm

แน่นอนว่าคุณสามารถบันทึกการเปลี่ยนแปลงที่เกิดขึ้นเองในการควบคุมปริมาณความร้อนของ CPU ด้วยpmset -g thermlogและจากนั้นแมปนั้นกับข้อกำหนดของ CPU หากคุณสามารถรวบรวมได้ที่อื่น


ตัวเลือกในการรับความถี่ต่อคอร์ก็ยินดีเช่นกัน :) ความถี่สามารถเปลี่ยนได้หลายครั้งต่อวินาที แต่ตัวอย่างของวินาทีนั้นน่าจะเพียงพอแล้วตัวอย่างเช่นหากคุณต้องการทราบความถี่ที่ว่างหรือในเทอร์โบแบบเต็ม (เช่นในการทดสอบความเครียด) การกำหนดกำลังไฟและอุณหภูมิเป็นไปได้จริง ๆ (แม้ว่าจะไม่ใช่ตรงไปข้างหน้า) โดยการอ่านกุญแจ SMC ฉันก็หวังว่าจะมีกุญแจ SMC สำหรับความถี่เช่นกัน ความจริงก็คือมีซอฟต์แวร์ที่ได้รับข้อมูลนี้ (แกดเจ็ตพลังงานของ Intel) คำถามคือวิธีที่เราสามารถทำได้โดยไม่มีซอฟต์แวร์เพิ่มเติม
amanusk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.