Stats ตัวมอนิเตอร์ระบบ macOS บนแถบเมนู
(github.com/exelban)- Stats เป็นแอปสำหรับมอนิเตอร์ CPU, GPU, หน่วยความจำ, ดิสก์, เครือข่าย, แบตเตอรี่, เซนเซอร์, อุปกรณ์ Bluetooth และนาฬิกาหลายเขตเวลาจากแถบเมนูของ macOS
- การติดตั้งทำได้โดยดาวน์โหลด
Stats.dmgเวอร์ชันล่าสุดแล้วย้ายไปยังโฟลเดอร์ Applications หรือใช้ Homebrew ด้วยbrew install stats - รองรับ macOS 12 Monterey ขึ้นไป ที่ออกเวอร์ชันทางการแล้ว และมีเวอร์ชัน legacy สำหรับระบบเก่าให้ดาวน์โหลดแยกต่างหาก
- หากไม่เห็นไอคอนบนแถบเมนู อาจต้องเปิด Stats อย่างชัดเจนในส่วนควบคุมความเป็นส่วนตัว System Settings → Menu Bar ของ macOS 26
- โมดูล Sensors และ Bluetooth ค่อนข้างไม่มีประสิทธิภาพเมื่อเทียบกับโมดูลอื่น และการปิดโมดูลเหล่านี้อาจลดผลกระทบต่อการใช้ CPU และประสิทธิภาพพลังงานได้ สูงสุด 50% ในบางกรณี
ฟีเจอร์ที่ Stats มีให้
- Stats เป็นแอปพลิเคชันที่ช่วยให้ตรวจสอบสถานะระบบ macOS ได้จากแถบเมนู
- สิ่งที่มอนิเตอร์ได้มีดังนี้
-
การใช้งาน CPU
-
การใช้งาน GPU
- การใช้หน่วยความจำ
- การใช้ดิสก์
- การใช้เครือข่าย
- ระดับแบตเตอรี่
- การควบคุมพัดลม
- ข้อมูลเซนเซอร์: อุณหภูมิ, แรงดันไฟฟ้า, กำลังไฟ
- อุปกรณ์ Bluetooth
- นาฬิกาหลายเขตเวลา
-
การติดตั้งและข้อกำหนด
- ดาวน์โหลดเวอร์ชันล่าสุดได้จาก Stats.dmg
- เปิด
Stats.dmgที่ดาวน์โหลดมา แล้วลากแอปไปยังโฟลเดอร์ Applications
- เปิด
- รองรับการติดตั้งผ่าน Homebrew ด้วย
brew install stats
- เวอร์ชัน legacy สำหรับระบบเก่ามีให้ที่ หน้าดาวน์โหลดแยกต่างหาก
- เวอร์ชัน macOS ที่รองรับคือ macOS 12 Monterey ขึ้นไป ที่ออกเวอร์ชันทางการแล้ว
พฤติกรรมเกี่ยวกับแถบเมนูและวิดเจ็ต
- ลำดับไอคอนบนแถบเมนูไม่ได้ถูกกำหนดโดย Stats แต่ถูกกำหนดโดย macOS
- หลังติดตั้ง Stats ลำดับอาจเปลี่ยนไปหลังรีบูตครั้งแรก
- ตั้งแต่ macOS Mojave 10.14 ขึ้นไป สามารถกดปุ่ม ⌘ ค้างไว้แล้วลากไอคอนไปยังตำแหน่งที่ต้องการเพื่อเปลี่ยนลำดับได้
- หากไอคอน Stats ไม่ปรากฏบนแถบเมนู สาเหตุอาจมาจากการควบคุมความเป็นส่วนตัวแบบใหม่ของ macOS 26
- ตำแหน่งอยู่ที่ System Settings → Menu Bar
- หาก Stats กำลังทำงานอยู่ และเปิดใช้งานอย่างน้อยหนึ่งโมดูลกับวิดเจ็ตแล้ว แต่ยังไม่เห็นไอคอน ควรตรวจสอบการตั้งค่านี้
- วิธีแก้คือเปิดท็อกเกิล Stats เป็น ON
- รายละเอียดที่เกี่ยวข้องอยู่ใน issue #3120
- หากข้อมูลไม่แสดงบนวิดเจ็ตเดสก์ท็อป เป็นเพราะฝั่ง Stats ปิดการสื่อสารไว้เป็นค่าเริ่มต้น
- เหตุผลคือปัญหาภาระข้อมูลสูงของโปรเซสระบบ
chronodซึ่งทำหน้าที่สื่อสารระหว่างแอปกับวิดเจ็ต - วิธีแก้คือเปิดตัวเลือก macOS widgets เป็น ON ในการตั้งค่า Stats
- รายละเอียดที่เกี่ยวข้องอยู่ใน issue #2733
- เหตุผลคือปัญหาภาระข้อมูลสูงของโปรเซสระบบ
ข้อจำกัดด้านประสิทธิภาพ เซนเซอร์ และการควบคุมพัดลม
- Stats พยายามทำงานอย่างมีประสิทธิภาพ แต่การอ่านข้อมูลบางอย่างเป็นระยะมีต้นทุนไม่น้อย
- แต่ละโมดูลมี ผลกระทบต่อพลังงาน และต้นทุนการใช้ CPU แตกต่างกัน
- โดยเฉพาะโมดูล Sensors และ Bluetooth ถือว่าเป็นโมดูลที่ไม่มีประสิทธิภาพที่สุดกลุ่มหนึ่ง
- การปิดใช้งานโมดูลเหล่านี้อาจลดผลกระทบต่อการใช้ CPU และประสิทธิภาพพลังงานได้ สูงสุด 50% ในบางกรณี
- การควบคุมพัดลม เป็นโหมด legacy
- จะไม่มีการอัปเดตหรือแก้ไขให้
- ยังไม่ถูกลบออกจากแอป เพราะทำงานได้ค่อนข้างดีบน Mac รุ่นเก่า
- ระบุว่าสามารถรับ PR สำหรับการแก้ไขหรือปรับปรุงได้ แต่ไม่มีเวลาและทรัพยากรที่จะซัพพอร์ตฟีเจอร์นี้
- เซนเซอร์ CPU/GPU ไม่ได้เกี่ยวข้องโดยตรงกับจำนวนคอร์หรือคอร์ใดคอร์หนึ่ง
- เซนเซอร์ CPU/GPU คือ เซนเซอร์โซนความร้อน ของ CPU/GPU
- ตัวอย่างเช่น CPU มักแบ่งเป็นคลัสเตอร์คอร์ประหยัดพลังงานและคลัสเตอร์คอร์ประสิทธิภาพ โดยแต่ละคลัสเตอร์มีเซนเซอร์อุณหภูมิหลายตัว
CPU Efficient Core 1ไม่ได้หมายถึงอุณหภูมิของคอร์ประหยัดพลังงานเดี่ยวหนึ่งคอร์ แต่หมายถึงเซนเซอร์อุณหภูมิตัวหนึ่งภายในคลัสเตอร์คอร์ประหยัดพลังงาน- Apple เปลี่ยนคีย์เซนเซอร์ใน SoC ใหม่แต่ละรุ่น จึงต้องใช้เวลาในการระบุค่า SMC ที่ตรงกับเซนเซอร์ที่เหมาะสม
API ภายนอกและคำขอเครือข่าย
- Stats ใช้ API ภายนอก บางส่วน
https://api.mac-stats.com: ตรวจสอบอัปเดตและดึงที่อยู่ IP สาธารณะhttps://api.github.com: เส้นทางสำรองสำหรับตรวจสอบอัปเดต
- API ทั้งสองใช้สำหรับตรวจสอบอัปเดต
- การดึงที่อยู่ IP สาธารณะจำเป็นต้องส่งคำขอออกไปภายนอก
- เนื่องจากไม่ต้องการใช้ผู้ให้บริการ third-party จึงใช้เซิร์ฟเวอร์ของตนเอง
- ผู้ใช้ที่กังวลกับคำขอนี้มีทางเลือกดังนี้
- เสนอ PR เพื่อให้ฟีเจอร์ทำงานได้โดยไม่ต้องใช้เซิร์ฟเวอร์ภายนอก
- บล็อกเซิร์ฟเวอร์ทั้งสองด้วยแอปกรองเครือข่าย
- หากบล็อก จะไม่สามารถรับอัปเดตหรือดู IP สาธารณะในโมดูลเครือข่ายได้
การจัดการ issue และวิธีมีส่วนร่วม
- หากแอปแครช ควรตรวจสอบก่อนว่าใช้เวอร์ชันล่าสุดอยู่หรือไม่
- มีความเป็นไปได้สูงว่าแพตช์ป้องกันการแครชถูกปล่อยออกมาแล้ว
- หากยังมีปัญหาในเวอร์ชันล่าสุด ควรตรวจสอบ issue ที่เปิดอยู่
- ควรเปิด issue ใหม่เฉพาะเมื่อ issue เดิมไม่ได้ครอบคลุมปัญหานั้น
- หาก issue ถูกปิดโดยไม่มีคำตอบ โดยทั่วไปมีความเป็นไปได้สูงว่าเป็น issue ซ้ำ
- สามารถค้นหา issue ที่ปิดแล้วเพื่อหาคำตอบเดิมได้
- ขั้นตอนแรกเมื่อจะพัฒนาฟีเจอร์ใหม่หรือพบ bug คือการเปิด issue
- ต้องพูดคุยเกี่ยวกับฟีเจอร์หรือปัญหาก่อน
- ควรเปิด Pull request หลังจากมี issue เดิมอยู่แล้วและการพูดคุยเสร็จสิ้น
- PR ที่เปิดโดยไม่มีการพูดคุยอาจถูกปิดโดยอัตโนมัติ
- ข้อยกเว้นอาจมีสำหรับการเปลี่ยนภาษา และผู้มีส่วนร่วมที่เคยมีผลงานใหญ่แล้วและแนวทางการ implement สอดคล้องกันดี
ภาษาและไลเซนส์
- Stats รองรับหลายภาษา เช่น English, Polski, Українська, Русский, 中文, Türkçe, ภาษาเกาหลี, German, Spanish, French, Italian, Japanese เป็นต้น
- สามารถมีส่วนร่วมได้ด้วยการเพิ่มภาษาใหม่หรือปรับปรุงคำแปลที่มีอยู่
- ไลเซนส์คือ MIT License
ยังไม่มีความคิดเห็น