Laptop Hard Drive + Load Cycle Count
-
I ran smartmontools on my home pfsense box. It looks laughable. I Have it running on an old crappy laptop-I figued I'd run it here before I run it on my production machine.
smartctl -A /dev/ad0 tl version 5.38 [i386-portbld-freebsd7.2] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 062 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 129 129 033 Pre-fail Always - 1
4 Start_Stop_Count 0x0012 098 098 000 Old_age Always - 4221
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 062 062 000 Old_age Always - 16992
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 1218
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 72
193 Load_Cycle_Count 0x0012 063 063 000 Old_age Always - 378566
194 Temperature_Celsius 0x0002 107 107 000 Old_age Always - 51 (Lifetime Min/Max 14/58)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 230
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0 -
I get this error when trying to download adaidle
pkg_add -r adaidle
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/adaidle.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/adaidle.tbz' by URL -
Try this instead:
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/ataidle.tbz
-
I get this.
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/adaidle.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/adaidle.tbz' by URLBy the way, In about 2 hours I will be at the production box. What should the numbers look like when I run smartctl?
-
The tool is called ataidle instead of adaidle :)
Here is mine on a laptop hd that is probably more than 6 years old:
# smartctl -A /dev/ad0 | grep Load_Cycle 193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 483217 #
After turning off powermanagement with -P ataidle reports:
# ataidle /dev/ad0 Model: ST960821A Serial: 3LF0G30K Firmware Rev: 3.00 ATA revision: ATA-6 LBA 48: no Geometry: 16383 cyls, 16 heads, 63 spt Capacity: 55GB SMART Supported: yes SMART Enabled: yes APM Supported: yes APM Enabled: no AAM Supported: no AAM Enabled: no #
Load_Cycle_Count stopped increasing after turning off APM.
-
Hmm, mine was only 1847.
-
@kpa:
The tool is called ataidle instead of adaidle :)
Nice catch on the typo. :-)
(I fixed them)@kpa:
Here is mine on a laptop hd that is probably more than 6 years old:
# smartctl -A /dev/ad0 | grep Load_Cycle 193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 483217 #
Load_Cycle_Count stopped increasing after turning off APM.
That is rather high. Good to know that it stopped just like mine did. Did you happen to notice how fast it was increasing?
-
By the way, In about 2 hours I will be at the production box. What should the numbers look like when I run smartctl?
It depends on the drive and system, really. Some Seagates spit out nonsense numbers for certain values and can't be trusted (like error rates, iirc) but are accurate for others.
If it's a new drive, most of the values should be 0 or near 0. Errors should be 0, reallocations should be 0. The Power_On_Hours will of course increase over time. There are a couple counts that will go up every time you reboot or power cycle.
-
@kpa:
The tool is called ataidle instead of adaidle :)
Nice catch on the typo. :-)
(I fixed them)@kpa:
Here is mine on a laptop hd that is probably more than 6 years old:
# smartctl -A /dev/ad0 | grep Load_Cycle 193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 483217 #
Load_Cycle_Count stopped increasing after turning off APM.
That is rather high. Good to know that it stopped just like mine did. Did you happen to notice how fast it was increasing?
The drive is very old and was in constant use on a laptop before I "rescued" it for my pfSense box so I have no idea what the number was when I started using it on my system. I forgot to check what the APM setting was before setting APM to zero but after setting it to 2 Load_Cycle_Count increased to 483228 in just a few minutes.
-
Sounds about like what I had expected.
I'm working on getting smartmontools and ataidle into 2.0. Someone had already written a gui for smartmontools, but I'll need to whip something up for ataidle.
-
Here's my production box readout.
It's been up for a few weeks or so. The load cycle count seems low about look at the raw_read_error_rate. That seems high.
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_ FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 046 Pre-fail Always - 68771
2 Throughput_Performance 0x0005 100 100 030 Pre-fail Offline - 12255232
3 Spin_Up_Time 0x0003 100 100 025 Pre-fail Always - 1
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 37
5 Reallocated_Sector_Ct 0x0033 100 100 024 Pre-fail Always - 8589934592000
7 Seek_Error_Rate 0x000f 100 100 047 Pre-fail Always - 520
8 Seek_Time_Performance 0x0005 100 100 019 Pre-fail Offline - 0
9 Power_On_Seconds 0x0032 099 099 000 Old_age Always - 679h+26m+26s
10 Spin_Retry_Count 0x0013 100 100 020 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 37
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 26
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 96
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 42 (Lifetime Min/Max 25/45)
195 Hardware_ECC_Recovered 0x001a 100 100 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 459931648
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x000f 100 100 060 Pre-fail Always - 384
203 Run_Out_Cancel 0x0002 100 100 000 Old_age Always - 1529023102969
240 Head_Flying_Hours 0x003e 200 200 000 Old_age Always -
Looking at that, I'd guess it's a Seagate drive, and the numbers are bogus for those values.
-
Looking at that, I'd guess it's a Seagate drive, and the numbers are bogus for those values.
It's a Fujitsu
-
I haven't seen many of those. They may also throw out bogus numbers, but if they are real, they're worrisome :-)
-
crap!
-
Intel Gen1 SSD:
/usr/local/sbin/smartctl -A /dev/ad4
smartctl 5.39.1 2010-01-28 r3054 [FreeBSD 8.1-RC1 i386] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0000 100 000 000 Old_age Offline - 0
4 Start_Stop_Count 0x0000 100 000 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0002 001 001 000 Old_age Always - 0
9 Power_On_Hours 0x0002 100 100 000 Old_age Always - 987
12 Power_Cycle_Count 0x0002 100 100 000 Old_age Always - 63
192 Power-Off_Retract_Count 0x0002 100 100 000 Old_age Always - 16
232 Available_Reservd_Space 0x0003 099 099 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0002 099 099 000 Old_age Always - 0
225 Load_Cycle_Count 0x0000 200 200 000 Old_age Offline - 695352
226 Load-in_Time 0x0002 255 000 000 Old_age Always - 0
227 Torq-amp_Count 0x0002 000 000 000 Old_age Always - 0
228 Power-off_Retract_Count 0x0002 000 000 000 Old_age Always - 0I will get a read out tonight to see the rate of increase….my drive was an engineering test version :p
-
I'm not sure the Load Cycle Count would hurt an SSD that much since it seems to be the heads cycling on a traditional HDD that are the reason that this tends to hurt over time. Still would be interesting to see if it's going up on those too. :-)
-
After 8 hours…
225 Load_Cycle_Count 0x0000 200 200 000 Old_age Offline - 695393
-
I'll speed up my plans to make packages for smartmontools and ataidle.
Would be great ;). I am working to get the packages installed as we speak but haven't succeeded yet. But that is my fault as I am a beginner with pfsense (did I mention that I love pfsense, great work!!! :D)
-
I haven't seen this problem specifically in PFsense, as I've never run it from a laptop hard drive.
I've encountered this and similar issues in a lot of systems that use small hard drives intended for portable devices. For whatever reason, the default mode for some of these disks seems to be "Park as soon as I can, over and over until I die" unless told otherwise. It's a distinctive "clack" noise too and you'll hear it over and over again while the system is running.I've even encountered in in windows (Where it is a /real/ pain to deal with because you don't have all these great tools available)
Some hard drive manufactures will have a tool to change settings in the drive's firmware(or nvram, whatever) to lengthen the idle-park time. Sometimes these tools are unsupported. They almost always require boot from a dos floppy. :p