จะตรวจสอบอุณหภูมิของไดรฟ์บน Linux ได้อย่างไร


32

ฉันเคยใช้มาhdparm -nแล้วsmartctl -Aแต่มันก็ดูเหมือนจะเป็นเทคนิค "ต่อไดรฟ์" เนื่องจากไดรฟ์อาจตอบสนองต่อหนึ่งในเครื่องมือเหล่านี้เท่านั้น

ดังนั้นมีวิธีมาตรฐานในการรับอุณหภูมิไดรฟ์บน Linux (HDD หรือ SSD) หรือไม่ ถ้าไม่ฉันสามารถใช้เครื่องมืออะไร (อื่น ๆ ) เพื่อรับข้อมูลนี้ได้บ้าง

คำตอบ:


39

ฉันชอบhddtempซึ่งเป็นวิธีมาตรฐานในการรับอุณหภูมิสำหรับอุปกรณ์ที่รองรับ มันต้องการการสนับสนุน SMART

ตัวอย่างการใช้งาน: sudo hddtemp /dev/sd[abcdefghi]

ตัวอย่างคำตอบ:

/ dev / sda: WDC WD6401AALS-00J7B0: 31 ° C
/ dev / sdb: WDC WD7501AALS-00J7B0: 30 ° C


2
hddtemp /dev/sd{a,b,c,d,e,f,g,h,i}รายชื่อไดรฟ์จำนวนมากในครั้งเดียวสามารถทำได้ด้วย
Xdg

4
วิธีที่สั้นกว่าจะ /dev/sd?hddtemp
Rovanion

1
hddtemp /dev/sd[abcdefghi]ยังใช้งานได้และสำรองนิ้วของคุณเล็กน้อย
Serge Stroobandt

1
/dev/sd?อะไหล่นิ้วมือมากยิ่งขึ้น
kkm

1
อย่าลืมtypeคำนำหน้า ( PATA/ SATA/ SCSI) สำหรับอุปกรณ์บางอย่าง หอคอยUASP 8 Bay แห่งนี้ต้องการSATAคำนำหน้าหรืออย่างอื่นฉันไม่ได้รับอุณหภูมิใด ๆ :sudo hddtemp SATA:/dev/sd{a..h}
genpfault

6

อุปกรณ์ที่รองรับ SMART ทั้งหมดควรตอบสนองต่อ smartctlอุปกรณ์ทั้งหมดมาร์ทที่มีความสามารถควรจะตอบสนองต่อการและฉันก็บอกว่าเฉพาะอุปกรณ์สมาร์ทเท่านั้นที่มีอุณหภูมิอ่าน

เครื่องมืออื่น ๆ ทั้งหมดจะมีความเฉพาะเจาะจงมากขึ้นหรือน้อยลง (เช่น Dell's omsa) IPMIอาจเป็นวิธีการทั่วไปอื่น แต่ฉันสงสัยว่าการอ่านอุณหภูมิของอุปกรณ์เก็บข้อมูลเป็นมาตรฐาน


3

ตามที่กล่าวไว้โดย Rovanion เพื่อแสดงรายการไดรฟ์ทั้งหมดในครั้งเดียว

hddtemp /dev/sd?

หรือถ้าคุณชอบวง for:

for i in /dev/sd[a-z]; do hddtemp "$i"; done

1
lsอย่าห่วงมากกว่า นี่เป็นวิธีที่ถูกต้อง:for i in /dev/sd[a-z]; do hddtemp "$i"; done
หยุดชั่วคราวจนกว่าจะมีประกาศ

0

คุณอาจต้องการลองใช้watch "sensors && sudo hddtemp /dev/sd?"ซึ่งให้ข้อมูล cpu และข้อมูลอุณหภูมิอื่น ๆ เพิ่มเติม

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