1SMARTCTL(8) SMART Monitoring Tools SMARTCTL(8)
2
3
4
6 smartctl - Control and Monitor Utility for SMART Disks
7
8
10 smartctl [options] device
11
12
14 [This man page is generated for the Linux version of smartmontools. It
15 does not contain info specific to other platforms.]
16
17 smartctl controls the Self-Monitoring, Analysis and Reporting Technol‐
18 ogy (SMART) system built into most ATA/SATA and SCSI/SAS hard drives
19 and solid-state drives. The purpose of SMART is to monitor the relia‐
20 bility of the hard drive and predict drive failures, and to carry out
21 different types of drive self-tests. smartctl also supports some fea‐
22 tures not related to SMART. This version of smartctl is compatible
23 with ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards (see
24 REFERENCES below).
25
26 smartctl also provides support for polling TapeAlert messages from SCSI
27 tape drives and changers.
28
29 The user must specify the device to be controlled or interrogated as
30 the final argument to smartctl. The command set used by the device is
31 often derived from the device path but may need help with the '-d'
32 option (for more information see the section on "ATA, SCSI command sets
33 and SAT" below). Device paths are as follows:
34
35 LINUX: Use the forms "/dev/sd[a-z]" for ATA/SATA and SCSI/SAS
36 devices. For SCSI Tape Drives and Changers with TapeAlert
37 support use the devices "/dev/nst*" and "/dev/sg*". For disks
38 behind 3ware controllers you may need "/dev/sd[a-z]" or
39 "/dev/twe[0-9]", "/dev/twa[0-9]" or "/dev/twl[0-9]": see
40 details below. For disks behind HighPoint RocketRAID con‐
41 trollers you may need "/dev/sd[a-z]". For disks behind Areca
42 SATA RAID controllers, you need "/dev/sg[2-9]" (note that
43 smartmontools interacts with the Areca controllers via a SCSI
44 generic device which is different than the SCSI device used
45 for reading and writing data)! For HP Smart Array RAID con‐
46 trollers, there are three currently supported drivers: cciss,
47 hpsa, and hpahcisr. For disks accessed via the cciss driver
48 the device nodes are of the form "/dev/cciss/c[0-9]d0". For
49 disks accessed via the hpahcisr and hpsa drivers, the device
50 nodes you need are "/dev/sg[0-9]*". ("lsscsi -g" is helpful
51 in determining which scsi generic device node corresponds to
52 which device.) Use the nodes corresponding to the RAID con‐
53 trollers, not the nodes corresponding to logical drives. See
54 the -d option below, as well. Use the forms "/dev/nvme[0-9]"
55 (broadcast namespace) or "/dev/nvme[0-9]n[1-9]" (specific
56 namespace 1-9) for NVMe devices.
57
58 if '-' is specified as the device path, smartctl reads and interprets
59 it's own debug output from standard input. See '-r ataioctl' below for
60 details.
61
62 smartctl guesses the device type if possible. If necessary, the '-d'
63 option can be used to override this guess.
64
65 Note that the printed output of smartctl displays most numerical values
66 in base 10 (decimal), but some values are displayed in base 16 (hexa‐
67 decimal). To distinguish them, the base 16 values are always displayed
68 with a leading "0x", for example: "0xff". This man page follows the
69 same convention.
70
71
73 The options are grouped below into several categories. smartctl will
74 execute the corresponding commands in the order: INFORMATION,
75 ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
76
77
78 SHOW INFORMATION OPTIONS:
79
80 -h, --help, --usage
81 Prints a usage message to STDOUT and exits.
82
83 -V, --version, --copyright, --license
84 Prints version, copyright, license, home page and SVN revision
85 information for your copy of smartctl to STDOUT and then exits.
86
87 -i, --info
88 Prints the device model number, serial number, firmware version,
89 and ATA Standard version/revision information. Says if the
90 device supports SMART, and if so, whether SMART support is cur‐
91 rently enabled or disabled. If the device supports Logical
92 Block Address mode (LBA mode) print current user drive capacity
93 in bytes. (If drive is has a user protected area reserved, or
94 is "clipped", this may be smaller than the potential maximum
95 drive capacity.) Indicates if the drive is in the smartmontools
96 database (see '-v' options below). If so, the drive model fam‐
97 ily may also be printed. If '-n' (see below) is specified, the
98 power mode of the drive is printed.
99
100 [NVMe] For NVMe devices the information is obtained from the
101 Identify Controller and the Identify Namespace data structure.
102
103 --identify[=[w][nvb]]
104 [ATA only] Prints an annotated table of the IDENTIFY DEVICE
105 data. By default, only valid words (words not equal to 0x0000
106 or 0xffff) and nonzero bits and bit fields are printed. This
107 can be changed by the optional argument which consists of one or
108 two characters from the set 'wnvb'. The character 'w' enables
109 printing of all 256 words. The character 'n' suppresses print‐
110 ing of bits, 'v' enables printing of all bits from valid words,
111 'b' enables printing of all bits. For example '--identify=n'
112 (valid words, no bits) produces the shortest output and '--iden‐
113 tify=wb' (all words, all bits) produces the longest output.
114
115 -a, --all
116 Prints all SMART information about the disk, or TapeAlert infor‐
117 mation about the tape drive or changer. For ATA devices this is
118 equivalent to
119 '-H -i -c -A -l error -l selftest -l selective'
120 and for SCSI, this is equivalent to
121 '-H -i -A -l error -l selftest'.
122 For NVMe, this is equivalent to
123 '-H -i -c -A -l error'.
124 Note that for ATA disks this does not enable the non-SMART
125 options and the SMART options which require support for 48-bit
126 ATA commands.
127
128 -x, --xall
129 Prints all SMART and non-SMART information about the device.
130 For ATA devices this is equivalent to
131 '-H -i -g all -g wcreorder -c -A -f brief -l xerror,error -l
132 xselftest,selftest -l selective -l directory -l scttemp -l
133 scterc -l devstat -l defects -l sataphy'.
134 and for SCSI, this is equivalent to
135 '-H -i -g all -A -l error -l selftest -l background -l sasphy'.
136 For NVMe, this is equivalent to
137 '-H -i -c -A -l error'.
138
139 --scan Scans for devices and prints each device name, device type and
140 protocol ([ATA] or [SCSI]) info. May be used in conjunction
141 with '-d TYPE' to restrict the scan to a specific TYPE. See
142 also info about platform specific device scan and the DEVICESCAN
143 directive on smartd(8) man page.
144
145 --scan-open
146 Same as --scan, but also tries to open each device before print‐
147 ing device info. The device open may change the device type due
148 to autodetection (see also '-d test').
149
150 This option can be used to create a draft smartd.conf file. All
151 options after '--' are appended to each output line. For exam‐
152 ple:
153 smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf
154
155 Multiple '-d TYPE' options may be specified with '--scan[-open]'
156 to combine the scan results of more than one TYPE.
157
158 -g NAME, --get=NAME
159 Get non-SMART device settings. See '-s, --set' below for fur‐
160 ther info.
161
162
163 RUN-TIME BEHAVIOR OPTIONS:
164
165 -j, --json[=cgiosuv]
166 [NEW EXPERIMENTAL SMARTCTL FEATURE] Enables JSON output mode.
167
168 The output could be modified or enhanced by the optional argu‐
169 ment which consists of one or more characters from the set
170 'cgiosuv':
171 'c': Outputs compact format without extra spaces and newlines.
172 By default, output is pretty-printed.
173 'g': Outputs JSON structure as single assignments to allow the
174 usage of grep. Each assignment reflects the absolute path of a
175 value. The syntax is compatible with gron:
176 'json.KEY1[INDEX2].KEY3 = VALUE;'.
177 'o': Includes the full original plaintext output of smartctl as
178 a JSON array 'smartctl.output[]'.
179 's': Outputs JSON object elements sorted by key. By default,
180 object elements are ordered as generated internally.
181 'v': Enables verbose output of possible unsafe integers. If
182 specified, values which may exceed JSON safe integer (53-bit)
183 range are always output as a number (with some 'KEY') and a
184 string ('KEY_s'), regardless of the actual value. Values which
185 may exceed 64-bit range are also output as a little endian byte
186 array ('KEY_le'). By default, the additional elements are only
187 output if the value actually exceeds the range.
188
189 The following two arguments are primarily indented for develop‐
190 ment:
191 'i': Includes lines from the plaintext output which print info
192 already implemented for JSON output. The lines appear as
193 objects with key 'smartctl_NNNN_i'.
194 'u': Includes lines from the plaintext output which print info
195 still unimplemented for JSON output. The lines appear as
196 objects with key 'smartctl_NNNN_u'.
197
198 -q TYPE, --quietmode=TYPE
199 Specifies that smartctl should run in one of the quiet modes
200 described here. The valid arguments to this option are:
201
202 errorsonly - only print: For the '-l error' option, if nonzero,
203 the number of errors recorded in the SMART error log and the
204 power-on time when they occurred; For the '-l selftest' option,
205 errors recorded in the device self-test log; For the '-H'
206 option, SMART "disk failing" status or device Attributes (pre-
207 failure or usage) which failed either now or in the past; For
208 the '-A' option, device Attributes (pre-failure or usage) which
209 failed either now or in the past.
210
211 silent - print no output. The only way to learn about what was
212 found is to use the exit status of smartctl (see EXIT STATUS
213 below).
214
215 noserial - Do not print the serial number of the device.
216
217 -d TYPE, --device=TYPE
218 Specifies the type of the device. The valid arguments to this
219 option are:
220
221 auto - attempt to guess the device type from the device name or
222 from controller type info provided by the operating system or
223 from a matching USB ID entry in the drive database. This is the
224 default.
225
226 test - prints the guessed TYPE, then opens the device and prints
227 the (possibly changed) TYPE name and then exits without perform‐
228 ing any further commands.
229
230 ata - the device type is ATA. This prevents smartctl from issu‐
231 ing SCSI commands to an ATA device.
232
233 scsi - the device type is SCSI. This prevents smartctl from
234 issuing ATA commands to a SCSI device.
235
236 nvme[,NSID] - the device type is NVM Express (NVMe). The
237 optional parameter NSID specifies the namespace id (in hex)
238 passed to the driver. Use 0xffffffff for the broadcast names‐
239 pace id. The default for NSID is the namespace id addressed by
240 the device name.
241
242 sat[,auto][,N] - the device type is SCSI to ATA Translation
243 (SAT). This is for ATA disks that have a SCSI to ATA Transla‐
244 tion Layer (SATL) between the disk and the operating system.
245 SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes
246 long and the other 16 bytes long. The default is the 16 byte
247 variant which can be overridden with either '-d sat,12' or '-d
248 sat,16'.
249
250 If '-d sat,auto' is specified, device type SAT (for ATA/SATA
251 disks) is only used if the SCSI INQUIRY data reports a SATL
252 (VENDOR: "ATA "). Otherwise device type SCSI (for SCSI/SAS
253 disks) is used.
254
255 usbcypress - this device type is for ATA disks that are behind a
256 Cypress USB to PATA bridge. This will use the ATACB proprietary
257 scsi pass through command. The default SCSI operation code is
258 0x24, but although it can be overridden with '-d usbcy‐
259 press,0xN', where N is the scsi operation code, you're running
260 the risk of damage to the device or filesystems on it.
261
262 usbjmicron[,p][,x][,PORT] - this device type is for SATA disks
263 that are behind a JMicron USB to PATA/SATA bridge. The 48-bit
264 ATA commands (required e.g. for '-l xerror', see below) do not
265 work with all of these bridges and are therefore disabled by
266 default. These commands can be enabled by '-d usbjmicron,x'.
267 If two disks are connected to a bridge with two ports, an error
268 message is printed if no PORT is specified. The port can be
269 specified by '-d usbjmicron[,x],PORT' where PORT is 0 (master)
270 or 1 (slave). This is not necessary if the device uses a port
271 multiplier to connect multiple disks to one port. The disks
272 appear under separate /dev/ice names then. CAUTION: Specifying
273 ',x' for a device which does not support it results in I/O
274 errors and may disconnect the drive. The same applies if the
275 specified PORT does not exist or is not connected to a disk.
276
277 The Prolific PL2507/3507 USB bridges with older firmware support
278 a pass-through command similar to JMicron and work with '-d usb‐
279 jmicron,0'. Newer Prolific firmware requires a modified command
280 which can be selected by '-d usbjmicron,p'. Note that this does
281 not yet support the SMART status command.
282
283 usbprolific - this device type is for SATA disks that are behind
284 a Prolific PL2571/2771/2773/2775 USB to SATA bridge.
285
286 usbsunplus - this device type is for SATA disks that are behind
287 a SunplusIT USB to SATA bridge.
288
289 sntjmicron[,NSID] - [NEW EXPERIMENTAL SMARTCTL FEATURE] this
290 device type is for NVMe disks that are behind a JMicron USB to
291 NVMe bridge. The optional parameter NSID specifies the names‐
292 pace id (in hex) passed to the driver. The default namespace id
293 is the broadcast namespace id (0xffffffff).
294
295 marvell - [Linux only] interact with SATA disks behind Marvell
296 chip-set controllers (using the Marvell rather than libata
297 driver).
298
299 megaraid,N - [Linux only] the device consists of one or more
300 SCSI/SAS disks connected to a MegaRAID controller. The non-neg‐
301 ative integer N (in the range of 0 to 127 inclusive) denotes
302 which disk on the controller is monitored. Use syntax such as:
303 smartctl -a -d megaraid,2 /dev/sda
304 smartctl -a -d megaraid,0 /dev/sdb
305 smartctl -a -d megaraid,0 /dev/bus/0
306 This interface will also work for Dell PERC controllers. It is
307 possible to set RAID device name as /dev/bus/N, where N is a
308 SCSI bus number.
309
310 The following entry in /proc/devices must exist:
311 For PERC2/3/4 controllers: megadevN
312 For PERC5/6 controllers: megaraid_sas_ioctlN
313
314 aacraid,H,L,ID - [Linux, Windows and Cygwin only] the device
315 consists of one or more SCSI/SAS or SATA disks connected to an
316 AacRaid controller. The non-negative integers H,L,ID (Host num‐
317 ber, Lun, ID) denote which disk on the controller is monitored.
318 Use syntax such as:
319 smartctl -a -d aacraid,0,0,2 /dev/sda
320 smartctl -a -d aacraid,1,0,4 /dev/sdb
321
322 Option '-d sat,auto+...' is implicitly enabled to detect SATA
323 disks. Use '-d scsi+aacraid,H,L,ID' to disable it.
324
325 On Linux, the following entry in /proc/devices must exist: aac.
326 Character device nodes /dev/aacH (H=Host number) are created if
327 required.
328
329 3ware,N - [FreeBSD and Linux only] the device consists of one or
330 more ATA disks connected to a 3ware RAID controller. The non-
331 negative integer N (in the range from 0 to 127 inclusive)
332 denotes which disk on the controller is monitored. Use syntax
333 such as:
334 smartctl -a -d 3ware,2 /dev/sda [Linux only]
335 smartctl -a -d 3ware,0 /dev/twe0
336 smartctl -a -d 3ware,1 /dev/twa0
337 smartctl -a -d 3ware,1 /dev/twl0 [Linux only]
338 smartctl -a -d 3ware,1 /dev/tws0 [FreeBSD only]
339 The first two forms, which refer to devices /dev/sda-z (depre‐
340 cated) and /dev/twe0-15, may be used with 3ware series 6000,
341 7000, and 8000 series controllers that use the 3x-xxxx driver.
342 The devices /dev/twa0-15, must be used with 3ware 9000 series
343 controllers, which use the 3w-9xxx driver. The devices
344 /dev/twl0-15 [Linux] or /dev/tws0-15 [FreeBSD] must be used with
345 the 3ware/LSI 9750 series controllers which use the 3w-sas
346 driver.
347
348 Note that if the special character device nodes /dev/tw[ls]?,
349 /dev/twa? and /dev/twe? do not exist, or exist with the incor‐
350 rect major or minor numbers, smartctl will recreate them on the
351 fly.
352
353 areca,N - [FreeBSD, Linux, Windows and Cygwin only] the device
354 consists of one or more SATA disks connected to an Areca SATA
355 RAID controller. The positive integer N (in the range from 1 to
356 24 inclusive) denotes which disk on the controller is monitored.
357 On Linux use syntax such as:
358 smartctl -a -d areca,2 /dev/sg2
359 smartctl -a -d areca,3 /dev/sg3
360 The first line above addresses the second disk on the first
361 Areca RAID controller. The second line addresses the third disk
362 on the second Areca RAID controller. To help identify the cor‐
363 rect device on Linux, use the command:
364 cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices
365 to show the SCSI generic devices (one per line, starting with
366 /dev/sg0). The correct SCSI generic devices to address for
367 smartmontools are the ones with the type field equal to 3. If
368 the incorrect device is addressed, please read the warning/error
369 messages carefully. They should provide hints about what
370 devices to use.
371
372 Important: the Areca controller must have firmware version 1.46
373 or later. Lower-numbered firmware versions will give (harmless)
374 SCSI error messages and no SMART information.
375
376 areca,N/E - [FreeBSD, Linux, Windows and Cygwin only] the device
377 consists of one or more SATA or SAS disks connected to an Areca
378 SAS RAID controller. The integer N (range 1 to 128) denotes the
379 channel (slot) and E (range 1 to 8) denotes the enclosure.
380 Important: This requires Areca SAS controller firmware version
381 1.51 or later.
382
383 cciss,N - [FreeBSD and Linux only] the device consists of one or
384 more SCSI/SAS or SATA disks connected to a cciss RAID con‐
385 troller. The non-negative integer N (in the range from 0 to 15
386 inclusive) denotes which disk on the controller is monitored.
387
388 Option '-d sat,auto+...' is implicitly enabled to detect SATA
389 disks. Use '-d scsi+cciss,N' to disable it.
390
391 To look at disks behind HP Smart Array controllers, use syntax
392 such as:
393 smartctl -a -d cciss,0 /dev/cciss/c0d0 (cciss driver under
394 Linux)
395 smartctl -a -d cciss,0 /dev/sg2 (hpsa or hpahcisr drivers
396 under Linux)
397
398 hpt,L/M/N - [FreeBSD and Linux only] the device consists of one
399 or more ATA disks connected to a HighPoint RocketRAID con‐
400 troller. The integer L is the controller id, the integer M is
401 the channel number, and the integer N is the PMPort number if it
402 is available. The allowed values of L are from 1 to 4 inclu‐
403 sive, M are from 1 to 128 inclusive and N from 1 to 4 if PMPort
404 available. And also these values are limited by the model of
405 the HighPoint RocketRAID controller. Use syntax such as:
406 smartctl -a -d hpt,1/3 /dev/sda (under Linux)
407 smartctl -a -d hpt,1/2/3 /dev/sda (under Linux)
408 Note that the /dev/sda-z form should be the device node which
409 stands for the disks derived from the HighPoint RocketRAID con‐
410 trollers under Linux and under FreeBSD, it is the character
411 device which the driver registered (eg, /dev/hptrr,
412 /dev/hptmv6).
413
414 intelliprop,N[+TYPE] - [NEW EXPERIMENTAL SMARTCTL FEATURE] the
415 device consists of multiple ATA disks connected to an Intel‐
416 liprop controller. The integer N is the port number from 0 to 3
417 of the ATA drive to be targeted. The TYPE can be ata(default),
418 sat, or a USB controller listed above. Note: if a type of ATA
419 does not work, try a type of sat. Use syntax such as:
420 smartctl -a -d intelliprop,1 /dev/sda (under Linux)
421 smartctl -a -d intelliprop,1+sat /dev/sda (under Linux)
422 WARNING: The disks are selected by write commands to the ATA
423 Device Vendor Specific Log at address 0xc0. Using this option
424 with other devices may have undesirable side effects.
425
426 -T TYPE, --tolerance=TYPE
427 [ATA only] Specifies how tolerant smartctl should be of ATA and
428 SMART command failures.
429
430 The behavior of smartctl depends upon whether the command is
431 "optional" or "mandatory". Here "mandatory" means "required by
432 the ATA Specification if the device implements the SMART command
433 set" and "optional" means "not required by the ATA Specification
434 even if the device implements the SMART command set." The
435 "mandatory" ATA and SMART commands are: (1) ATA IDENTIFY DEVICE,
436 (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3) SMART
437 ENABLE/DISABLE, and (4) SMART RETURN STATUS.
438
439 The valid arguments to this option are:
440
441 normal - exit on failure of any mandatory SMART command, and
442 ignore all failures of optional SMART commands. This is the
443 default. Note that on some devices, issuing unimplemented
444 optional SMART commands doesn't cause an error. This can result
445 in misleading smartctl messages such as "Feature X not imple‐
446 mented", followed shortly by "Feature X: enabled". In most such
447 cases, contrary to the final message, Feature X is not enabled.
448
449 conservative - exit on failure of any optional SMART command.
450
451 permissive - ignore failure(s) of mandatory SMART commands.
452 This option may be given more than once. Each additional use of
453 this option will cause one more additional failure to be
454 ignored. Note that the use of this option can lead to messages
455 like "Feature X not supported", followed shortly by "Feature X
456 enable failed". In a few such cases, contrary to the final mes‐
457 sage, Feature X is enabled.
458
459 verypermissive - equivalent to giving a large number of '-T per‐
460 missive' options: ignore failures of any number of mandatory
461 SMART commands. Please see the note above.
462
463 -b TYPE, --badsum=TYPE
464 [ATA only] Specifies the action smartctl should take if a check‐
465 sum error is detected in the: (1) Device Identity Structure, (2)
466 SMART Self-Test Log Structure, (3) SMART Attribute Value Struc‐
467 ture, (4) SMART Attribute Threshold Structure, or (5) ATA Error
468 Log Structure.
469
470 The valid arguments to this option are:
471
472 warn - report the incorrect checksum but carry on in spite of
473 it. This is the default.
474
475 exit - exit smartctl.
476
477 ignore - continue silently without issuing a warning.
478
479 -r TYPE, --report=TYPE
480 Intended primarily to help smartmontools developers understand
481 the behavior of smartmontools on non-conforming or poorly con‐
482 forming hardware. This option reports details of smartctl
483 transactions with the device. The option can be used multiple
484 times. When used just once, it shows a record of the ioctl()
485 transactions with the device. When used more than once, the
486 detail of these ioctl() transactions are reported in greater
487 detail. The valid arguments to this option are:
488
489 ioctl - report all ioctl() transactions.
490
491 ataioctl - report only ioctl() transactions with ATA devices.
492
493 scsiioctl - report only ioctl() transactions with SCSI devices.
494 Invoking this once shows the SCSI commands in hex and the corre‐
495 sponding status. Invoking it a second time adds a hex listing
496 of the first 64 bytes of data send to, or received from the
497 device.
498
499 nvmeioctl - report only ioctl() transactions with NVMe devices.
500
501 Any argument may include a positive integer to specify the level
502 of detail that should be reported. The argument should be fol‐
503 lowed by a comma then the integer with no spaces. For example,
504 ataioctl,2 The default level is 1, so '-r ataioctl,1' and '-r
505 ataioctl' are equivalent.
506
507 For testing purposes, the output of '-r ataioctl,2' can later be
508 parsed by smartctl itself if '-' is used as device path argu‐
509 ment. The ATA command input parameters, sector data and return
510 values are reconstructed from the debug report read from stdin.
511 Then smartctl internally simulates an ATA device with the same
512 behaviour. This is does not work for SCSI devices yet.
513
514 -n POWERMODE[,STATUS], --nocheck=POWERMODE[,STATUS]
515 [ATA only] Specifies if smartctl should exit before performing
516 any checks when the device is in a low-power mode. It may be
517 used to prevent a disk from being spun-up by smartctl. The
518 power mode is ignored by default.
519
520 Note: If this option is used it may also be necessary to specify
521 the device type with the '-d' option. Otherwise the device may
522 spin up due to commands issued during device type autodetection.
523
524 By default, exit status 2 is returned if the device is in one of
525 the specified low-power modes. This status is also returned if
526 the device open or identification failed (see EXIT STATUS
527 below).
528
529 [NEW EXPERIMENTAL SMARTCTL FEATURE] The optional STATUS parame‐
530 ter allows to override this default. STATUS is an integer in
531 the range from 0 to 255 inclusive. For example use '-n
532 standby,0' to return success if a device is in SLEEP or STANDBY
533 mode. Use '-n standby,3' to return a unique exit status in this
534 case.
535
536 The valid arguments to this option are:
537
538 never - check the device always, but print the power mode if
539 '-i' is specified.
540
541 sleep[,STATUS] - check the device unless it is in SLEEP mode.
542
543 standby[,STATUS] - check the device unless it is in SLEEP or
544 STANDBY mode. In these modes most disks are not spinning, so if
545 you want to prevent a disk from spinning up, this is probably
546 what you want.
547
548 idle[,STATUS] - check the device unless it is in SLEEP, STANDBY
549 or IDLE mode. In the IDLE state, most disks are still spinning,
550 so this is probably not what you want.
551
552
553 SMART FEATURE ENABLE/DISABLE COMMANDS:
554
555 Note: if multiple options are used to both enable and disable a
556 feature, then both the enable and disable commands will be
557 issued. The enable command will always be issued before the
558 corresponding disable command.
559
560 -s VALUE, --smart=VALUE
561 Enables or disables SMART on device. The valid arguments to
562 this option are on and off.
563
564 [ATA] Note that the ATA commands SMART ENABLE/DISABLE OPERATIONS
565 were declared obsolete in ATA ACS-4 Revision 10 (Nov 2015).
566
567 [SCSI tape drive or changer] It is not necessary (or useful) to
568 enable SMART to see the TapeAlert messages.
569
570 -o VALUE, --offlineauto=VALUE
571 [ATA only] Enables or disables SMART automatic offline test,
572 which scans the drive every four hours for disk defects. This
573 command can be given during normal system operation. The valid
574 arguments to this option are on and off.
575
576 Note that the SMART automatic offline test command is listed as
577 "Obsolete" in every version of the ATA and ATA/ATAPI Specifica‐
578 tions. It was originally part of the SFF-8035i Revision 2.0
579 specification, but was never part of any ATA specification.
580 However it is implemented and used by many vendors. You can
581 tell if automatic offline testing is supported by seeing if this
582 command enables and disables it, as indicated by the 'Auto Off‐
583 line Data Collection' part of the SMART capabilities report
584 (displayed with '-c').
585
586 SMART provides three basic categories of testing. The first
587 category, called "online" testing, has no effect on the perfor‐
588 mance of the device. It is turned on by the '-s on' option.
589
590 The second category of testing is called "offline" testing.
591 This type of test can, in principle, degrade the device perfor‐
592 mance. The '-o on' option causes this offline testing to be
593 carried out, automatically, on a regular scheduled basis. Nor‐
594 mally, the disk will suspend offline testing while disk accesses
595 are taking place, and then automatically resume it when the disk
596 would otherwise be idle, so in practice it has little effect.
597 Note that a one-time offline test can also be carried out imme‐
598 diately upon receipt of a user command. See the '-t offline'
599 option below, which causes a one-time offline test to be carried
600 out immediately.
601
602 The choice (made by the SFF-8035i and ATA specification authors)
603 of the word testing for these first two categories is unfortu‐
604 nate, and often leads to confusion. In fact these first two
605 categories of online and offline testing could have been more
606 accurately described as online and offline data collection.
607
608 The results of this automatic or immediate offline testing (data
609 collection) are reflected in the values of the SMART Attributes.
610 Thus, if problems or errors are detected, the values of these
611 Attributes will go below their failure thresholds; some types of
612 errors may also appear in the SMART error log. These are visi‐
613 ble with the '-A' and '-l error' options respectively.
614
615 Some SMART attribute values are updated only during off-line
616 data collection activities; the rest are updated during normal
617 operation of the device or during both normal operation and off-
618 line testing. The Attribute value table produced by the '-A'
619 option indicates this in the UPDATED column. Attributes of the
620 first type are labeled "Offline" and Attributes of the second
621 type are labeled "Always".
622
623 The third category of testing (and the only category for which
624 the word 'testing' is really an appropriate choice) is "self"
625 testing. This third type of test is only performed (immedi‐
626 ately) when a command to run it is issued. The '-t' and '-X'
627 options can be used to carry out and abort such self-tests;
628 please see below for further details.
629
630 Any errors detected in the self testing will be shown in the
631 SMART self-test log, which can be examined using the '-l self‐
632 test' option.
633
634 Note: in this manual page, the word "Test" is used in connection
635 with the second category just described, e.g. for the "offline"
636 testing. The words "Self-test" are used in connection with the
637 third category.
638
639 -S VALUE, --saveauto=VALUE
640 [ATA] Enables or disables SMART autosave of device vendor-spe‐
641 cific Attributes. The valid arguments to this option are on and
642 off. Note that this feature is preserved across disk power
643 cycles, so you should only need to issue it once.
644
645 The ATA standard does not specify a method to check whether
646 SMART autosave is enabled. Unlike SCSI (below), smartctl is
647 unable to print a warning if autosave is disabled.
648
649 Note that the ATA commands SMART ENABLE/DISABLE AUTOSAVE were
650 declared obsolete in ATA ACS-4 Revision 10 (Nov 2015).
651
652 [SCSI] For SCSI devices this toggles the value of the Global
653 Logging Target Save Disabled (GLTSD) bit in the Control Mode
654 Page. Some disk manufacturers set this bit by default. This
655 prevents error counters, power-up hours and other useful data
656 from being placed in non-volatile storage, so these values may
657 be reset to zero the next time the device is power-cycled. If
658 the GLTSD bit is set then 'smartctl -a' will issue a warning.
659 Use on to clear the GLTSD bit and thus enable saving counters to
660 non-volatile storage. For extreme streaming-video type applica‐
661 tions you might consider using off to set the GLTSD bit.
662
663 -g NAME, --get=NAME, -s NAME[,VALUE], --set=NAME[,VALUE]
664 Gets/sets non-SMART device settings. Note that the '--set'
665 option shares its short option '-s' with '--smart'. Valid argu‐
666 ments are:
667
668 all - Gets all values. This is equivalent to
669 '-g aam -g apm -g lookahead -g security -g wcache -g rcache -g
670 dsn'
671
672 aam[,N|off] - [ATA only] Gets/sets the Automatic Acoustic Man‐
673 agement (AAM) feature (if supported). A value of 128 sets the
674 most quiet (slowest) mode and 254 the fastest (loudest) mode,
675 'off' disables AAM. Devices may support intermediate levels.
676 Values below 128 are defined as vendor specific (0) or retired
677 (1 to 127). Note that the AAM feature was declared obsolete in
678 ATA ACS-2 Revision 4a (Dec 2010).
679
680 apm[,N|off] - [ATA only] Gets/sets the Advanced Power Management
681 (APM) feature on device (if supported). If a value between 1
682 and 254 is provided, it will attempt to enable APM and set the
683 specified value, 'off' disables APM. Note the actual behavior
684 depends on the drive, for example some drives disable APM if
685 their value is set above 128. Values below 128 are supposed to
686 allow drive spindown, values 128 and above adjust only head-
687 parking frequency, although the actual behavior defined is also
688 vendor-specific.
689
690 lookahead[,on|off] - [ATA only] Gets/sets the read look-ahead
691 feature (if supported). Read look-ahead is usually enabled by
692 default.
693
694 security - [ATA only] Gets the status of ATA Security feature
695 (if supported). If ATA Security is enabled an ATA user password
696 is set. The drive will be locked on next reset then.
697
698 security-freeze - [ATA only] Sets ATA Security feature to frozen
699 mode. This prevents that the drive accepts any security com‐
700 mands until next reset. Note that the frozen mode may already
701 be set by BIOS or OS.
702
703 standby,[N|off] - [ATA only] Sets the standby (spindown) timer
704 and places the drive in the IDLE mode. A value of 0 or 'off'
705 disables the standby timer. Values from 1 to 240 specify time‐
706 outs from 5 seconds to 20 minutes in 5 second increments. Val‐
707 ues from 241 to 251 specify timeouts from 30 minutes to 330 min‐
708 utes in 30 minute increments. Value 252 specifies 21 minutes.
709 Value 253 specifies a vendor specific time between 8 and 12
710 hours. Value 255 specifies 21 minutes and 15 seconds. Some
711 drives may use a vendor specific interpretation for the values.
712 Note that there is no get option because ATA standards do not
713 specify a method to read the standby timer.
714 [NEW EXPERIMENTAL SMARTCTL FEATURE] If '-s standby,now' is also
715 specified, the drive is immediately placed in the STANDBY mode
716 without temporarily placing it in the IDLE mode. Note that ATA
717 standards do not specify a command to set the standby timer
718 without affecting the power mode.
719
720 standby,now - [ATA only] Places the drive in the STANDBY mode.
721 This usually spins down the drive. The setting of the standby
722 timer is not affected unless '-s standby,[N|off]' is also speci‐
723 fied.
724
725 wcache[,on|off] - [ATA] Gets/sets the volatile write cache fea‐
726 ture (if supported). The write cache is usually enabled by
727 default.
728
729 wcache[,on|off] - [SCSI] Gets/sets the 'Write Cache Enable'
730 (WCE) bit (if supported). The write cache is usually enabled by
731 default.
732
733 wcache-sct[,ata|on|off[,p]] - [ATA only] [NEW EXPERIMENTAL
734 SMARTCTL FEATURE] Gets/sets the write cache feature through SCT
735 Feature Control (if supported). The state of write cache in SCT
736 Feature Control could be "Controlled by ATA", "Force Enabled",
737 or "Force Disabled". SCT Feature control overwrites the setting
738 by ATA Set Features command (wcache[,on|off] option). If SCT
739 Feature Control sets write cache as "Force Enabled" or "Force
740 Disabled", the setting of wcache[,on|off] is ignored by the
741 drive. SCT Feature Control usually sets write cache as "Con‐
742 trolled by ATA" by default. If ',p' is specified, the setting
743 is preserved across power cycles.
744
745 wcreorder[,on|off[,p]] - [ATA only] Gets/sets Write Cache
746 Reordering. If it is disabled (off), disk write scheduling is
747 executed on a first-in-first-out (FIFO) basis. If Write Cache
748 Reordering is enabled (on), then disk write scheduling may be
749 reordered by the drive. If write cache is disabled, the current
750 Write Cache Reordering state is remembered but has no effect on
751 non-cached writes, which are always written in the order
752 received. The state of Write Cache Reordering has no effect on
753 either NCQ or LCQ queued commands. [NEW EXPERIMENTAL SMARTCTL
754 FEATURE] If ',p' is specified, the setting is preserved across
755 power cycles.
756
757 rcache[,on|off] - [SCSI only] Gets/sets the 'Read Cache Disable'
758 (RCE) bit. 'Off' value disables read cache (if supported). The
759 read cache is usually enabled by default.
760
761 dsn[,on|off] - [ATA only] [NEW EXPERIMENTAL SMARTCTL FEATURE]
762 Gets/sets the DSN feature (if supported). The dsn is usually
763 disabled by default.
764
765
766 SMART READ AND DISPLAY DATA OPTIONS:
767
768 -H, --health
769 Prints the health status of the device or pending TapeAlert mes‐
770 sages.
771
772 If the device reports failing health status, this means either
773 that the device has already failed, or that it is predicting its
774 own failure within the next 24 hours. If this happens, use the
775 '-a' option to get more information, and get your data off the
776 disk and to someplace safe as soon as you can.
777
778 [ATA] Health status is obtained by checking the (boolean) result
779 returned by the SMART RETURN STATUS command. The return value
780 of this ATA command may be unknown due to limitations or bugs in
781 some layer (e.g. RAID controller or USB bridge firmware) between
782 disk and operating system. In this case, smartctl prints a
783 warning and checks whether any Prefailure SMART Attribute value
784 is less than or equal to its threshold (see '-A' below).
785
786 [SCSI] Health status is obtained by checking the Additional
787 Sense Code (ASC) and Additional Sense Code Qualifier (ASCQ) from
788 Informal Exceptions (IE) log page (if supported) and/or from
789 SCSI sense data.
790
791 [SCSI tape drive or changer] TapeAlert status is obtained by
792 reading the TapeAlert log page. Please note that the TapeAlert
793 log page flags are cleared for the initiator when the page is
794 read. This means that each alert condition is reported only
795 once by smartctl for each initiator for each activation of the
796 condition.
797
798 [NVMe] NVMe status is obtained by reading the "Critical Warning"
799 byte from the SMART/Health Information log.
800
801 -c, --capabilities
802 [ATA] Prints only the generic SMART capabilities. These show
803 what SMART features are implemented and how the device will
804 respond to some of the different SMART commands. For example it
805 shows if the device logs errors, if it supports offline surface
806 scanning, and so on. If the device can carry out self-tests,
807 this option also shows the estimated time required to run those
808 tests.
809
810 [NVMe] Prints various NVMe device capabilities obtained from the
811 Identify Controller and the Identify Namespace data structure.
812
813 -A, --attributes
814 [ATA] Prints only the vendor specific SMART Attributes. The
815 Attributes are numbered from 1 to 253 and have specific names
816 and ID numbers. For example Attribute 12 is "power cycle
817 count": how many times has the disk been powered up.
818
819 Each Attribute has a "Raw" value, printed under the heading
820 "RAW_VALUE", and a "Normalized" value printed under the heading
821 "VALUE". [Note: smartctl prints these values in base-10.] In
822 the example just given, the "Raw Value" for Attribute 12 would
823 be the actual number of times that the disk has been power-
824 cycled, for example 365 if the disk has been turned on once per
825 day for exactly one year. Each vendor uses their own algorithm
826 to convert this "Raw" value to a "Normalized" value in the range
827 from 1 to 254. Please keep in mind that smartctl only reports
828 the different Attribute types, values, and thresholds as read
829 from the device. It does not carry out the conversion between
830 "Raw" and "Normalized" values: this is done by the disk's
831 firmware.
832
833 The conversion from Raw value to a quantity with physical units
834 is not specified by the SMART standard. In most cases, the val‐
835 ues printed by smartctl are sensible. For example the tempera‐
836 ture Attribute generally has its raw value equal to the tempera‐
837 ture in Celsius. However in some cases vendors use unusual con‐
838 ventions. For example the Hitachi disk on my laptop reports its
839 power-on hours in minutes, not hours. Some IBM disks track
840 three temperatures rather than one, in their raw values. And so
841 on.
842
843 Each Attribute also has a Threshold value (whose range is 0 to
844 255) which is printed under the heading "THRESH". If the Nor‐
845 malized value is less than or equal to the Threshold value, then
846 the Attribute is said to have failed. If the Attribute is a
847 pre-failure Attribute, then disk failure is imminent.
848
849 Each Attribute also has a "Worst" value shown under the heading
850 "WORST". This is the smallest (closest to failure) value that
851 the disk has recorded at any time during its lifetime when SMART
852 was enabled. [Note however that some vendors firmware may actu‐
853 ally increase the "Worst" value for some "rate-type"
854 Attributes.]
855
856 The Attribute table printed out by smartctl also shows the
857 "TYPE" of the Attribute. Attributes are one of two possible
858 types: Pre-failure or Old age. Pre-failure Attributes are ones
859 which, if less than or equal to their threshold values, indicate
860 pending disk failure. Old age, or usage Attributes, are ones
861 which indicate end-of-product life from old-age or normal aging
862 and wearout, if the Attribute value is less than or equal to the
863 threshold. Please note: the fact that an Attribute is of type
864 'Pre-fail' does not mean that your disk is about to fail! It
865 only has this meaning if the Attribute's current Normalized
866 value is less than or equal to the threshold value.
867
868 If the Attribute's current Normalized value is less than or
869 equal to the threshold value, then the "WHEN_FAILED" column will
870 display "FAILING_NOW". If not, but the worst recorded value is
871 less than or equal to the threshold value, then this column will
872 display "In_the_past". If the "WHEN_FAILED" column has no entry
873 (indicated by a dash: '-') then this Attribute is OK now (not
874 failing) and has also never failed in the past.
875
876 The table column labeled "UPDATED" shows if the SMART Attribute
877 values are updated during both normal operation and off-line
878 testing, or only during offline testing. The former are labeled
879 "Always" and the latter are labeled "Offline".
880
881 So to summarize: the Raw Attribute values are the ones that
882 might have a real physical interpretation, such as "Temperature
883 Celsius", "Hours", or "Start-Stop Cycles". Each manufacturer
884 converts these, using their detailed knowledge of the disk's
885 operations and failure modes, to Normalized Attribute values in
886 the range 1–254. The current and worst (lowest measured) of
887 these Normalized Attribute values are stored on the disk, along
888 with a Threshold value that the manufacturer has determined will
889 indicate that the disk is going to fail, or that it has exceeded
890 its design age or aging limit. smartctl does not calculate any
891 of the Attribute values, thresholds, or types, it merely reports
892 them from the SMART data on the device.
893
894 Note that starting with ATA/ATAPI-4, revision 4, the meaning of
895 these Attribute fields has been made entirely vendor-specific.
896 However most newer ATA/SATA disks seem to respect their meaning,
897 so we have retained the option of printing the Attribute values.
898
899 Solid-state drives use different meanings for some of the
900 attributes. In this case the attribute name printed by smartctl
901 is incorrect unless the drive is already in the smartmontools
902 drive database.
903
904 Note that the ATA command SMART READ DATA was declared obsolete
905 in ATA ACS-4 Revision 10 (Nov 2015).
906
907 [SCSI] For SCSI devices the "attributes" are obtained from the
908 temperature and start-stop cycle counter log pages. Certain
909 vendor specific attributes are listed if recognised. The
910 attributes are output in a relatively free format (compared with
911 ATA disk attributes).
912
913 [NVMe] For NVMe devices the attributes are obtained from the
914 SMART/Health Information log.
915
916 -f FORMAT, --format=FORMAT
917 [ATA only] Selects the output format of the attributes:
918
919 old - Old smartctl format. This is the default unless the '-x'
920 option is specified.
921
922 brief - New format which fits into 80 columns (except in some
923 rare cases). This format also decodes four additional attribute
924 flags. This is the default if the '-x' option is specified.
925
926 hex,id - Print all attribute IDs as hexadecimal numbers.
927
928 hex,val - Print all normalized values as hexadecimal numbers.
929
930 hex - Same as '-f hex,id -f hex,val'.
931
932 -l TYPE, --log=TYPE
933 Prints various device logs. The valid arguments to this option
934 are:
935
936 error - [ATA] prints the Summary SMART error log. SMART disks
937 maintain a log of the most recent five non-trivial errors. For
938 each of these errors, the disk power-on lifetime at which the
939 error occurred is recorded, as is the device status (idle,
940 standby, etc) at the time of the error. For some common types
941 of errors, the Error Register (ER) and Status Register (SR) val‐
942 ues are decoded and printed as text. The meanings of these are:
943 ABRT: Command ABoRTed
944 AMNF: Address Mark Not Found
945 CCTO: Command Completion Timed Out
946 EOM: End Of Media
947 ICRC: Interface Cyclic Redundancy Code (CRC) error
948 IDNF: IDentity Not Found
949 ILI: (packet command-set specific)
950 MC: Media Changed
951 MCR: Media Change Request
952 NM: No Media
953 obs: obsolete
954 TK0NF: TracK 0 Not Found
955 UNC: UNCorrectable Error in Data
956 WP: Media is Write Protected
957 In addition, up to the last five commands that preceded the
958 error are listed, along with a timestamp measured from the start
959 of the corresponding power cycle. This is displayed in the form
960 Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM
961 is minutes, SS is seconds and msec is milliseconds. [Note: this
962 time stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2
963 minutes and 47.296 seconds.] The key ATA disk registers are
964 also recorded in the log. The final column of the error log is
965 a text-string description of the ATA command defined by the Com‐
966 mand Register (CR) and Feature Register (FR) values. Commands
967 that are obsolete in the most current spec are listed like this:
968 READ LONG (w/ retry) [OBS-4], indicating that the command became
969 obsolete with or in the ATA-4 specification. Similarly, the
970 notation [RET-N] is used to indicate that a command was retired
971 in the ATA-N specification. Some commands are not defined in
972 any version of the ATA specification but are in common use none‐
973 theless; these are marked [NS], meaning non-standard.
974
975 The ATA Specification (ATA ACS-2 Revision 7, Section A.7.1)
976 says: "Error log data structures shall include, but are not lim‐
977 ited to, Uncorrectable errors, ID Not Found errors for which the
978 LBA requested was valid, servo errors, and write fault errors.
979 Error log data structures shall not include errors attributed to
980 the receipt of faulty commands." The definitions of these terms
981 are:
982 UNC (UNCorrectable): data is uncorrectable. This refers to data
983 which has been read from the disk, but for which the Error
984 Checking and Correction (ECC) codes are inconsistent. In
985 effect, this means that the data can not be read.
986 IDNF (ID Not Found): user-accessible address could not be found.
987 For READ LOG type commands, IDNF can also indicate that a device
988 data log structure checksum was incorrect.
989
990 If the command that caused the error was a READ or WRITE com‐
991 mand, then the Logical Block Address (LBA) at which the error
992 occurred will be printed in base 10 and base 16. The LBA is a
993 linear address, which counts 512-byte sectors on the disk,
994 starting from zero. (Because of the limitations of the SMART
995 error log, if the LBA is greater than 0xfffffff, then either no
996 error log entry will be made, or the error log entry will have
997 an incorrect LBA. This may happen for drives with a capacity
998 greater than 128 GiB or 137 GB.) On Linux systems the smartmon‐
999 tools web page has instructions about how to convert the LBA
1000 address to the name of the disk file containing the erroneous
1001 disk sector.
1002
1003 Please note that some manufacturers ignore the ATA specifica‐
1004 tions, and make entries in the error log if the device receives
1005 a command which is not implemented or is not valid.
1006
1007 error - [SCSI] prints the error counter log pages for reads,
1008 write and verifies. The verify row is only output if it has an
1009 element other than zero.
1010
1011 error[,NUM] - [NVMe] prints the NVMe Error Information log.
1012 Only the 16 most recent log entries are printed by default.
1013 This number can be changed by the optional parameter NUM. The
1014 maximum number of log entries is vendor specific (in the range
1015 from 1 to 256 inclusive).
1016
1017 xerror[,NUM][,error] - [ATA only] prints the Extended Comprehen‐
1018 sive SMART error log (General Purpose Log address 0x03). Unlike
1019 the Summary SMART error log (see '-l error' above), it provides
1020 sufficient space to log the contents of the 48-bit LBA register
1021 set introduced with ATA-6. It also supports logs with more than
1022 one sector. Each sector holds up to 4 log entries. The actual
1023 number of log sectors is vendor specific.
1024
1025 Only the 8 most recent error log entries are printed by default.
1026 This number can be changed by the optional parameter NUM.
1027
1028 If ',error' is appended and the Extended Comprehensive SMART
1029 error log is not supported, the Summary SMART self-test log is
1030 printed.
1031
1032 Please note that recent drives may report errors only in the
1033 Extended Comprehensive SMART error log. The Summary SMART error
1034 log may be reported as supported but is always empty then.
1035
1036 selftest - [ATA] prints the SMART self-test log. The disk main‐
1037 tains a self-test log showing the results of the self tests,
1038 which can be run using the '-t' option described below. For
1039 each of the most recent twenty-one self-tests, the log shows the
1040 type of test (short or extended, off-line or captive) and the
1041 final status of the test. If the test did not complete success‐
1042 fully, then the percentage of the test remaining is shown. The
1043 time at which the test took place, measured in hours of disk
1044 lifetime, is also printed. [Note: this time stamp wraps after
1045 2^16 hours, or 2730 days and 16 hours, or about 7.5 years.] If
1046 any errors were detected, the Logical Block Address (LBA) of the
1047 first error is printed in decimal notation.
1048
1049 selftest - [SCSI] the self-test log for a SCSI device has a
1050 slightly different format than for an ATA device. For each of
1051 the most recent twenty self-tests, it shows the type of test and
1052 the status (final or in progress) of the test. SCSI standards
1053 use the terms "foreground" and "background" (rather than ATA's
1054 corresponding "captive" and "off-line") and "short" and "long"
1055 (rather than ATA's corresponding "short" and "extended") to
1056 describe the type of the test. The printed segment number is
1057 only relevant when a test fails in the third or later test seg‐
1058 ment. It identifies the test that failed and consists of either
1059 the number of the segment that failed during the test, or the
1060 number of the test that failed and the number of the segment in
1061 which the test was run, using a vendor-specific method of
1062 putting both numbers into a single byte. The Logical Block
1063 Address (LBA) of the first error is printed in hexadecimal nota‐
1064 tion. If provided, the SCSI Sense Key (SK), Additional Sense
1065 Code (ASC) and Additional Sense Code Qualifier (ASCQ) are also
1066 printed. The self tests can be run using the '-t' option
1067 described below (using the ATA test terminology).
1068
1069 xselftest[,NUM][,selftest] - [ATA only] prints the Extended
1070 SMART self-test log (General Purpose Log address 0x07). Unlike
1071 the SMART self-test log (see '-l selftest' above), it supports
1072 48-bit LBA and logs with more than one sector. Each sector
1073 holds up to 19 log entries. The actual number of log sectors is
1074 vendor specific.
1075
1076 Only the 25 most recent log entries are printed by default.
1077 This number can be changed by the optional parameter NUM.
1078
1079 If ',selftest' is appended and the Extended SMART self-test log
1080 is not supported, the old SMART self-test log is printed.
1081
1082 selective - [ATA only] Please see the '-t select' option below
1083 for a description of selective self-tests. The selective self-
1084 test log shows the start/end Logical Block Addresses (LBA) of
1085 each of the five test spans, and their current test status. If
1086 the span is being tested or the remainder of the disk is being
1087 read-scanned, the current 65536-sector block of LBAs being
1088 tested is also displayed. The selective self-test log also
1089 shows if a read-scan of the remainder of the disk will be car‐
1090 ried out after the selective self-test has completed (see '-t
1091 afterselect' option) and the time delay before restarting this
1092 read-scan if it is interrupted (see '-t pending' option).
1093
1094 directory[,gs] - [ATA only] if the device supports the General
1095 Purpose Logging feature set (ATA-6 and above) then this prints
1096 the Log Directory (the log at address 0). The Log Directory
1097 shows what logs are available and their length in sectors (512
1098 bytes). The contents of the logs at address 1 [Summary SMART
1099 error log] and at address 6 [SMART self-test log] may be printed
1100 using the previously-described error and selftest arguments to
1101 this option. If your version of smartctl supports 48-bit ATA
1102 commands, both the General Purpose Log (GPL) and SMART Log (SL)
1103 directories are printed in one combined table. The output can
1104 be restricted to the GPL directory or SL directory by '-l direc‐
1105 tory,q' or '-l directory,s' respectively.
1106
1107 background - [SCSI only] the background scan results log outputs
1108 information derived from Background Media Scans (BMS) done after
1109 power up and/or periodically (e.g. every 24 hours) on recent
1110 SCSI disks. If supported, the BMS status is output first, indi‐
1111 cating whether a background scan is currently underway (and if
1112 so a progress percentage), the amount of time the disk has been
1113 powered up and the number of scans already completed. Then
1114 there is a header and a line for each background scan "event".
1115 These will typically be either recovered or unrecoverable
1116 errors. That latter group may need some attention. There is a
1117 description of the background scan mechanism in section 4.18 of
1118 SBC-3 revision 6 (see www.t10.org ).
1119
1120 scttemp, scttempsts, scttemphist - [ATA only] prints the disk
1121 temperature information provided by the SMART Command Transport
1122 (SCT) commands. The option 'scttempsts' prints current tempera‐
1123 ture and temperature ranges returned by the SCT Status command,
1124 'scttemphist' prints temperature limits and the temperature his‐
1125 tory table returned by the SCT Data Table command, and 'scttemp'
1126 prints both. The temperature values are preserved across power
1127 cycles. The logging interval can be configured with the '-l
1128 scttempint,N[,p]' option, see below. The SCT commands were
1129 introduced in ATA8-ACS and were also supported by many ATA-7
1130 disks.
1131
1132 scttempint,N[,p] - [ATA only] clears the SCT temperature history
1133 table and sets the time interval for temperature logging to N
1134 minutes. If ',p' is specified, the setting is preserved across
1135 power cycles. Otherwise, the setting is volatile and will be
1136 reverted to the last non-volatile setting by the next hard
1137 reset. The default interval is vendor specific, typical values
1138 are 1, 2, or 5 minutes.
1139
1140 scterc[,READTIME,WRITETIME] - [ATA only] prints values and
1141 descriptions of the SCT Error Recovery Control settings. These
1142 are equivalent to TLER (as used by Western Digital), CCTL (as
1143 used by Samsung and Hitachi/HGST) and ERC (as used by Seagate).
1144 READTIME and WRITETIME arguments (deciseconds) set the specified
1145 values. Values of 0 disable the feature, other values less than
1146 65 are probably not supported. For RAID configurations, this is
1147 typically set to 70,70 deciseconds.
1148
1149 devstat[,PAGE] - [ATA only] prints values and descriptions of
1150 the ATA Device Statistics log pages (General Purpose Log address
1151 0x04). If no PAGE number is specified, entries from all sup‐
1152 ported pages are printed. If PAGE 0 is specified, the list of
1153 supported pages is printed. Device Statistics was introduced in
1154 ACS-2 and is only supported by some recent devices.
1155
1156 defects[,NUM] - [ATA only] [NEW EXPERIMENTAL SMARTCTL FEATURE]
1157 prints LBA and hours values from the ATA Pending Defects log
1158 (General Purpose Log address 0x0c). Only the 31 entries from
1159 first log page are printed by default. This number can be
1160 changed by the optional parameter NUM. The size of the log and
1161 the order of the entries are vendor specific. The Pending
1162 Defects log was introduced in ACS-4 Revision 01 (Mar 2014).
1163
1164 sataphy[,reset] - [SATA only] prints values and descriptions of
1165 the SATA Phy Event Counters (General Purpose Log address 0x11).
1166 If '-l sataphy,reset' is specified, all counters are reset after
1167 reading the values. This also works for SATA devices with
1168 Packet interface like CD/DVD drives.
1169
1170 sasphy[,reset] - [SAS (SCSI) only] prints values and descrip‐
1171 tions of the SAS (SSP) Protocol Specific log page (log page
1172 0x18). If '-l sasphy,reset' is specified, all counters are
1173 reset after reading the values.
1174
1175 gplog,ADDR[,FIRST[-LAST|+SIZE]] - [ATA only] prints a hex dump
1176 of any log accessible via General Purpose Logging (GPL) feature.
1177 The log address ADDR is the hex address listed in the log direc‐
1178 tory (see '-l directory' above). The range of log sectors
1179 (pages) can be specified by decimal values FIRST-LAST or
1180 FIRST+SIZE. FIRST defaults to 0, SIZE defaults to 1. LAST can
1181 be set to 'max' to specify the last page of the log.
1182
1183 smartlog,ADDR[,FIRST[-LAST|+SIZE]] - [ATA only] prints a hex
1184 dump of any log accessible via SMART Read Log command. See '-l
1185 gplog,...' above for parameter syntax.
1186
1187 For example, all these commands:
1188 smartctl -l gplog,0x80,10-15 /dev/sda
1189 smartctl -l gplog,0x80,10+6 /dev/sda
1190 smartctl -l smartlog,0x80,10-15 /dev/sda
1191 print pages 10–15 of log 0x80 (first host vendor specific log).
1192
1193 The hex dump format is compatible with the 'xxd -r' command.
1194 This command:
1195 smartctl -l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
1196 writes a binary representation of the one sector log 0x11 (SATA
1197 Phy Event Counters) to file log.bin.
1198
1199 nvmelog,PAGE,SIZE - [NVMe only] prints a hex dump of the first
1200 SIZE bytes from the NVMe log with identifier PAGE. PAGE is a
1201 hexadecimal number in the range from 0x1 to 0xff. SIZE is a
1202 hexadecimal number in the range from 0x4 to 0x4000 (16 KiB).
1203 WARNING: Do not specify the identifier of an unknown log page.
1204 Reading a log page may have undesirable side effects.
1205
1206 ssd - [ATA] prints the Solid State Device Statistics log page.
1207 This has the same effect as '-l devstat,7', see above.
1208
1209 ssd - [SCSI] prints the Solid State Media percentage used
1210 endurance indicator. A value of 0 indicates as new condition
1211 while 100 indicates the device is at the end of its lifetime as
1212 projected by the manufacturer. The value may reach 255.
1213
1214 -v ID,FORMAT[:BYTEORDER][,NAME], --vendorattribute=ID,FORMAT...
1215 [ATA only] Sets a vendor-specific raw value print FORMAT, an
1216 optional BYTEORDER and an optional NAME for Attribute ID. This
1217 option may be used multiple times.
1218
1219 The Attribute ID can be in the range 1 to 255. If 'N' is speci‐
1220 fied as ID, the settings for all Attributes are changed.
1221
1222 The optional BYTEORDER consists of 1 to 8 characters from the
1223 set '012345rvwz'. The characters '0' to '5' select the byte 0
1224 to 5 from the 48-bit raw value, 'r' selects the reserved byte of
1225 the attribute data block, 'v' selects the normalized value, 'w'
1226 selects the worst value and 'z' inserts a zero byte. The
1227 default BYTEORDER is '543210' for all 48-bit formats, 'r543210'
1228 for the 54-bit formats, and '543210wv' for the 64-bit formats.
1229 For example, '-v 5,raw48:012345' prints the raw value of
1230 attribute 5 with big endian instead of little endian byte order‐
1231 ing.
1232
1233 The NAME is a string of letters, digits and underscore. Its
1234 length should not exceed 23 characters. The '-P showall' option
1235 reports an error if this is the case.
1236
1237 -v help - Prints (to STDOUT) a list of all valid arguments to
1238 this option, then exits.
1239
1240 Valid arguments for FORMAT are:
1241
1242 raw8 - Print the Raw value as six 8-bit unsigned base-10 inte‐
1243 gers. This may be useful for decoding the meaning of the Raw
1244 value.
1245
1246 raw16 - Print the Raw value as three 16-bit unsigned base-10
1247 integers. This may be useful for decoding the meaning of the
1248 Raw value.
1249
1250 raw48 - Print the Raw value as a 48-bit unsigned base-10 inte‐
1251 ger. This is the default for most attributes.
1252
1253 hex48 - Print the Raw value as a 12 digit hexadecimal number.
1254 This may be useful for decoding the meaning of the Raw value.
1255
1256 raw56 - Print the Raw value as a 54-bit unsigned base-10 inte‐
1257 ger. This includes the reserved byte which follows the 48-bit
1258 raw value.
1259
1260 hex56 - Print the Raw value as a 14 digit hexadecimal number.
1261 This includes the reserved byte which follows the 48-bit raw
1262 value.
1263
1264 raw64 - Print the Raw value as a 64-bit unsigned base-10 inte‐
1265 ger. This includes two bytes from the normalized and worst
1266 attribute value. This raw format is used by some SSD devices
1267 with Indilinx controller.
1268
1269 hex64 - Print the Raw value as a 16 digit hexadecimal number.
1270 This includes two bytes from the normalized and worst attribute
1271 value. This raw format is used by some SSD devices with Indil‐
1272 inx controller.
1273
1274 min2hour - Raw Attribute is power-on time in minutes. Its raw
1275 value will be displayed in the form "Xh+Ym". Here X is hours,
1276 and Y is minutes in the range 0–59 inclusive. Y is always
1277 printed with two digits, for example "06" or "31" or "00".
1278
1279 sec2hour - Raw Attribute is power-on time in seconds. Its raw
1280 value will be displayed in the form "Xh+Ym+Zs". Here X is
1281 hours, Y is minutes in the range 0–59 inclusive, and Z is sec‐
1282 onds in the range 0–59 inclusive. Y and Z are always printed
1283 with two digits, for example "06" or "31" or "00".
1284
1285 halfmin2hour - Raw Attribute is power-on time, measured in units
1286 of 30 seconds. This format is used by some Samsung disks. Its
1287 raw value will be displayed in the form "Xh+Ym". Here X is
1288 hours, and Y is minutes in the range 0–59 inclusive. Y is
1289 always printed with two digits, for example "06" or "31" or
1290 "00".
1291
1292 msec24hour32 - Raw Attribute is power-on time measured in 32-bit
1293 hours and 24-bit milliseconds since last hour update. It will
1294 be displayed in the form "Xh+Ym+Z.Ms". Here X is hours, Y is
1295 minutes, Z is seconds and M is milliseconds.
1296
1297 tempminmax - Raw Attribute is the disk temperature in Celsius.
1298 Info about Min/Max temperature is printed if available. This is
1299 the default for Attributes 190 and 194. The recording interval
1300 (lifetime, last power cycle, last soft reset) of the min/max
1301 values is device specific.
1302
1303 temp10x - Raw Attribute is ten times the disk temperature in
1304 Celsius.
1305
1306 raw16(raw16) - Print the raw attribute as a 16-bit value and two
1307 optional 16-bit values if these words are nonzero. This is the
1308 default for Attributes 5 and 196.
1309
1310 raw16(avg16) - Raw attribute is spin-up time. It is printed as
1311 a 16-bit value and an optional "Average" 16-bit value if the
1312 word is nonzero. This is the default for Attribute 3.
1313
1314 raw24(raw8) - Print the raw attribute as a 24-bit value and
1315 three optional 8-bit values if these bytes are nonzero. This is
1316 the default for Attribute 9.
1317
1318 raw24/raw24 - Raw Attribute contains two 24-bit values. The
1319 first is the number of load cycles. The second is the number of
1320 unload cycles. The difference between these two values is the
1321 number of times that the drive was unexpectedly powered off
1322 (also called an emergency unload). As a rule of thumb, the
1323 mechanical stress created by one emergency unload is equivalent
1324 to that created by one hundred normal unloads.
1325
1326 raw24/raw32 - Raw attribute is an error rate which consists of a
1327 24-bit error count and a 32-bit total count.
1328
1329 The following old arguments to '-v' are also still valid:
1330
1331 9,minutes - same as: 9,min2hour,Power_On_Minutes.
1332
1333 9,seconds - same as: 9,sec2hour,Power_On_Seconds.
1334
1335 9,halfminutes - same as: 9,halfmin2hour,Power_On_Half_Minutes.
1336
1337 9,temp - same as: 9,tempminmax,Temperature_Celsius.
1338
1339 192,emergencyretractcyclect - same as:
1340 192,raw48,Emerg_Retract_Cycle_Ct
1341
1342 193,loadunload - same as: 193,raw24/raw24.
1343
1344 194,10xCelsius - same as: 194,temp10x,Temperature_Celsius_x10.
1345
1346 194,unknown - same as: 194,raw48,Unknown_Attribute.
1347
1348 197,increasing - same as: 197,raw48,Total_Pending_Sectors. Also
1349 means that Attribute number 197 (Current Pending Sector Count)
1350 is not reset if uncorrectable sectors are reallocated (see
1351 smartd.conf(5) man page).
1352
1353 198,increasing - same as: 198,raw48,Total_Offl_Uncorrectabl.
1354 Also means that Attribute number 198 (Offline Uncorrectable Sec‐
1355 tor Count) is not reset if uncorrectable sectors are reallocated
1356 (see smartd.conf(5) man page).
1357
1358 198,offlinescanuncsectorct - same as: 198,raw48,Off‐
1359 line_Scan_UNC_SectCt.
1360
1361 200,writeerrorcount - same as: 200,raw48,Write_Error_Count.
1362
1363 201,detectedtacount - same as: 201,raw48,Detected_TA_Count.
1364
1365 220,temp - same as: 220,tempminmax,Temperature_Celsius.
1366
1367 -F TYPE, --firmwarebug=TYPE
1368 [ATA only] Modifies the behavior of smartctl to compensate for
1369 some known and understood device firmware or driver bug. This
1370 option may be used multiple times. The valid arguments are:
1371
1372 none - Assume that the device firmware obeys the ATA specifica‐
1373 tions. This is the default, unless the device has presets for
1374 '-F' in the drive database. Using this option on the command
1375 line will override any preset values.
1376
1377 nologdir - Suppresses read attempts of SMART or GP Log Direc‐
1378 tory. Support for all standard logs is assumed without an
1379 actual check. Some Intel SSDs may freeze if log address 0 is
1380 read.
1381
1382 samsung - In some Samsung disks (example: model SV4012H Firmware
1383 Version: RM100-08) some of the two- and four-byte quantities in
1384 the SMART data structures are byte-swapped (relative to the ATA
1385 specification). Enabling this option tells smartctl to evaluate
1386 these quantities in byte-reversed order. Some signs that your
1387 disk needs this option are (1) no self-test log printed, even
1388 though you have run self-tests; (2) very large numbers of ATA
1389 errors reported in the ATA error log; (3) strange and impossible
1390 values for the ATA error log timestamps.
1391
1392 samsung2 - In some Samsung disks the number of ATA errors
1393 reported is byte swapped. Enabling this option tells smartctl
1394 to evaluate this quantity in byte-reversed order. An indication
1395 that your Samsung disk needs this option is that the self-test
1396 log is printed correctly, but there are a very large number of
1397 errors in the SMART error log. This is because the error count
1398 is byte swapped. Thus a disk with five errors (0x0005) will
1399 appear to have 20480 errors (0x5000).
1400
1401 samsung3 - Some Samsung disks (at least SP2514N with Firmware
1402 VF100-37) report a self-test still in progress with 0% remaining
1403 when the test was already completed. Enabling this option modi‐
1404 fies the output of the self-test execution status (see options
1405 '-c' or '-a' above) accordingly.
1406
1407 xerrorlba - Fixes LBA byte ordering in Extended Comprehensive
1408 SMART error log. Some disks use little endian byte ordering
1409 instead of ATA register ordering to specify the LBA addresses in
1410 the log entries.
1411
1412 swapid - Fixes byte swapped ATA identify strings (device name,
1413 serial number, firmware version) returned by some buggy device
1414 drivers.
1415
1416 -P TYPE, --presets=TYPE
1417 [ATA only] Specifies whether smartctl should use any preset
1418 options that are available for this drive. By default, if the
1419 drive is recognized in the smartmontools database, then the pre‐
1420 sets are used.
1421
1422 The argument show will show any preset options for your drive
1423 and the argument showall will show all known drives in the
1424 smartmontools database, along with their preset options. If
1425 there are no presets for your drive and you think there should
1426 be (for example, a -v or -F option is needed to get smartctl to
1427 display correct values) then please contact the smartmontools
1428 developers so that this information can be added to the smart‐
1429 montools database. Contact information is at the end of this
1430 man page.
1431
1432 The valid arguments to this option are:
1433
1434 use - if a drive is recognized, then use the stored presets for
1435 it. This is the default. Note that presets will NOT override
1436 additional Attribute interpretation ('-v N,something') command-
1437 line options or explicit '-F' command-line options..
1438
1439 ignore - do not use presets.
1440
1441 show - show if the drive is recognized in the database, and if
1442 so, its presets, then exit.
1443
1444 showall - list all recognized drives, and the presets that are
1445 set for them, then exit. This also checks the drive database
1446 regular expressions and settings for syntax errors.
1447
1448 The '-P showall' option takes up to two optional arguments to
1449 match a specific drive type and firmware version. The command:
1450 smartctl -P showall
1451 lists all entries, the command:
1452 smartctl -P showall 'MODEL'
1453 lists all entries matching MODEL, and the command:
1454 smartctl -P showall 'MODEL' 'FIRMWARE'
1455 lists all entries for this MODEL and a specific FIRMWARE ver‐
1456 sion.
1457
1458 -B [+]FILE, --drivedb=[+]FILE
1459 [ATA only] Read the drive database from FILE. The new database
1460 replaces the built in database by default. If '+' is specified,
1461 then the new entries prepend the built in entries.
1462
1463 Optional entries are read from the file /etc/smartmon‐
1464 tools/smart_drivedb.h if this option is not specified.
1465
1466 If /usr/share/smartmontools/drivedb.h is present, the contents
1467 of this file is used instead of the built in table.
1468
1469 Run /usr/sbin/update-smart-drivedb to update this file from the
1470 smartmontools SVN repository.
1471
1472 The database files use the same C/C++ syntax that is used to
1473 initialize the built in database array. C/C++ style comments
1474 are allowed. Example:
1475
1476 /* Full entry: */
1477 {
1478 "Model family", // Info about model family/series.
1479 "MODEL1.*REGEX", // Regular expression to match model of device.
1480 "VERSION.*REGEX", // Regular expression to match firmware version(s).
1481 "Some warning", // Warning message.
1482 "-v 9,minutes" // String of preset -v and -F options.
1483 },
1484 /* Minimal entry: */
1485 {
1486 "", // No model family/series info.
1487 "MODEL2.*REGEX", // Regular expression to match model of device.
1488 "", // All firmware versions.
1489 "", // No warning.
1490 "" // No options preset.
1491 },
1492 /* USB ID entry: */
1493 {
1494 "USB: Device; Bridge", // Info about USB device and bridge name.
1495 "0x1234:0xabcd", // Regular expression to match vendor:product ID.
1496 "0x0101", // Regular expression to match bcdDevice.
1497 "", // Not used.
1498 "-d sat" // String with device type option.
1499 },
1500 /* ... */
1501
1502
1503 SMART RUN/ABORT OFFLINE TEST AND self-test OPTIONS:
1504
1505 -t TEST, --test=TEST
1506 Executes TEST immediately. The '-C' option can be used in con‐
1507 junction with this option to run the short or long (and also for
1508 ATA devices, selective or conveyance) self-tests in captive mode
1509 (known as "foreground mode" for SCSI devices). Note that only
1510 one test type can be run at a time, so only one test type should
1511 be specified per command line. Note also that if a computer is
1512 shutdown or power cycled during a self-test, no harm should
1513 result. The self-test will either be aborted or will resume
1514 automatically.
1515
1516 All '-t TEST' commands can be given during normal system opera‐
1517 tion unless captive mode ('-C' option) is used. A running self-
1518 test can, however, degrade performance of the drive. Frequent
1519 I/O requests from the operating system increase the duration of
1520 a test. These impacts may vary from device to device.
1521
1522 If a test failure occurs then the device may discontinue the
1523 testing and report the result immediately.
1524
1525 [ATA] Note that the ATA command SMART EXECUTE OFF-LINE IMMEDIATE
1526 (the command to start a test) was declared obsolete in ATA ACS-4
1527 Revision 10 (Nov 2015).
1528
1529 The valid arguments to this option are:
1530
1531 offline - [ATA] runs SMART Immediate Offline Test. This immedi‐
1532 ately starts the test described above. This command can be
1533 given during normal system operation. The effects of this test
1534 are visible only in that it updates the SMART Attribute values,
1535 and if errors are found they will appear in the SMART error log,
1536 visible with the '-l error' option.
1537
1538 If the '-c' option to smartctl shows that the device has the
1539 "Suspend Offline collection upon new command" capability then
1540 you can track the progress of the Immediate Offline test using
1541 the '-c' option to smartctl. If the '-c' option show that the
1542 device has the "Abort Offline collection upon new command" capa‐
1543 bility then most commands will abort the Immediate Offline Test,
1544 so you should not try to track the progress of the test with
1545 '-c', as it will abort the test.
1546
1547 offline - [SCSI] runs the default self test in foreground. No
1548 entry is placed in the self test log.
1549
1550 short - [ATA] runs SMART Short Self Test (usually under ten min‐
1551 utes). This command can be given during normal system operation
1552 (unless run in captive mode - see the '-C' option below). This
1553 is a test in a different category than the immediate or auto‐
1554 matic offline tests. The "Self" tests check the electrical and
1555 mechanical performance as well as the read performance of the
1556 disk. Their results are reported in the Self Test Error Log,
1557 readable with the '-l selftest' option. Note that on some disks
1558 the progress of the self-test can be monitored by watching this
1559 log during the self-test; with other disks use the '-c' option
1560 to monitor progress.
1561
1562 short - [SCSI] runs the "Background short" self-test.
1563
1564 long - [ATA] runs SMART Extended Self Test (tens of minutes to
1565 several hours). This is a longer and more thorough version of
1566 the Short Self Test described above. Note that this command can
1567 be given during normal system operation (unless run in captive
1568 mode - see the '-C' option below).
1569
1570 long - [SCSI] runs the "Background long" self-test.
1571
1572 conveyance - [ATA only] runs a SMART Conveyance Self Test (min‐
1573 utes). This self-test routine is intended to identify damage
1574 incurred during transporting of the device. This self-test rou‐
1575 tine should take on the order of minutes to complete. Note that
1576 this command can be given during normal system operation (unless
1577 run in captive mode - see the '-C' option below).
1578
1579 select,N-M, select,N+SIZE - [ATA only] runs a SMART Selective
1580 Self Test, to test a range of disk Logical Block Addresses
1581 (LBAs), rather than the entire disk. Each range of LBAs that is
1582 checked is called a "span" and is specified by a starting LBA
1583 (N) and an ending LBA (M) with N less than or equal to M. The
1584 range can also be specified as N+SIZE. A span at the end of a
1585 disk can be specified by N-max.
1586
1587 For example the commands:
1588 smartctl -t select,10-20 /dev/sda
1589 smartctl -t select,10+11 /dev/sda
1590 both runs a self test on one span consisting of LBAs ten to
1591 twenty (inclusive). The command:
1592 smartctl -t select,100000000-max /dev/sda
1593 run a self test from LBA 100000000 up to the end of the disk.
1594 The '-t' option can be given up to five times, to test up to
1595 five spans. For example the command:
1596 smartctl -t select,0-100 -t select,1000-2000 /dev/sda
1597 runs a self test on two spans. The first span consists of 101
1598 LBAs and the second span consists of 1001 LBAs. Note that the
1599 spans can overlap partially or completely, for example:
1600 smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/sda
1601 The results of the selective self-test can be obtained (both
1602 during and after the test) by printing the SMART self-test log,
1603 using the '-l selftest' option to smartctl.
1604
1605 Selective self tests are particularly useful as disk capacities
1606 increase: an extended self test (smartctl -t long) can take sev‐
1607 eral hours. Selective self-tests are helpful if (based on SYS‐
1608 LOG error messages, previous failed self-tests, or SMART error
1609 log entries) you suspect that a disk is having problems at a
1610 particular range of Logical Block Addresses (LBAs).
1611
1612 Selective self-tests can be run during normal system operation
1613 (unless done in captive mode - see the '-C' option below).
1614
1615 The following variants of the selective self-test command use
1616 spans based on the ranges from past tests already stored on the
1617 disk:
1618
1619 select,redo[+SIZE] - [ATA only] redo the last SMART Selective
1620 Self Test using the same LBA range. The starting LBA is identi‐
1621 cal to the LBA used by last test, same for ending LBA unless a
1622 new span size is specified by optional +SIZE argument.
1623
1624 For example the commands:
1625 smartctl -t select,10-20 /dev/sda
1626 smartctl -t select,redo /dev/sda
1627 smartctl -t select,redo+20 /dev/sda
1628 have the same effect as:
1629 smartctl -t select,10-20 /dev/sda
1630 smartctl -t select,10-20 /dev/sda
1631 smartctl -t select,10-29 /dev/sda
1632
1633 select,next[+SIZE] - [ATA only] runs a SMART Selective Self Test
1634 on the LBA range which follows the range of the last test. The
1635 starting LBA is set to (ending LBA +1) of the last test. A new
1636 span size may be specified by the optional +SIZE argument.
1637
1638 For example the commands:
1639 smartctl -t select,0-999 /dev/sda
1640 smartctl -t select,next /dev/sda
1641 smartctl -t select,next+2000 /dev/sda
1642 have the same effect as:
1643 smartctl -t select,0-999 /dev/sda
1644 smartctl -t select,1000-1999 /dev/sda
1645 smartctl -t select,2000-3999 /dev/sda
1646
1647 If the last test ended at the last LBA of the disk, the new
1648 range starts at LBA 0. The span size of the last span of a disk
1649 is adjusted such that the total number of spans to check the
1650 full disk will not be changed by future uses of '-t
1651 select,next'.
1652
1653 select,cont[+SIZE] - [ATA only] performs a 'redo' (above) if the
1654 self test status reports that the last test was aborted by the
1655 host. Otherwise it run the 'next' (above) test.
1656
1657 afterselect,on - [ATA only] perform an offline read scan after a
1658 Selective self-test has completed. This option must be used
1659 together with one or more of the select,N-M options above. If
1660 the LBAs that have been specified in the Selective self-test
1661 pass the test with no errors found, then read scan the remainder
1662 of the disk. If the device is powered-cycled while this read
1663 scan is in progress, the read scan will be automatically resumed
1664 after a time specified by the pending timer (see below). The
1665 value of this option is preserved between selective self-tests.
1666
1667 afterselect,off - [ATA only] do not read scan the remainder of
1668 the disk after a Selective self-test has completed. This option
1669 must be use together with one or more of the select,N-M options
1670 above. The value of this option is preserved between selective
1671 self-tests.
1672
1673 pending,N - [ATA only] set the pending offline read scan timer
1674 to N minutes. Here N is an integer in the range from 0 to 65535
1675 inclusive. If the device is powered off during a read scan
1676 after a Selective self-test, then resume the test automatically
1677 N minutes after power-up. This option must be use together with
1678 one or more of the select,N-M options above. The value of this
1679 option is preserved between selective self-tests.
1680
1681 vendor,N - [ATA only] issues the ATA command SMART EXECUTE OFF-
1682 LINE IMMEDIATE with subcommand N in LBA LOW register. The sub‐
1683 command is specified as a hex value in the range 0x00 to 0xff.
1684 Subcommands 0x40–0x7e and 0x90–0xff are reserved for vendor spe‐
1685 cific use, see table 61 of T13/1699-D Revision 6a (ATA8-ACS).
1686 Note that the subcommands 0x00–0x04, 0x7f, 0x81–0x84 are sup‐
1687 ported by other smartctl options (e.g. 0x01: '-t short', 0x7f:
1688 '-X', 0x82: '-C -t long').
1689
1690 WARNING: Only run subcommands documented by the vendor of the
1691 device.
1692
1693 Example for some Intel SSDs only: The subcommand 0x40 ('-t ven‐
1694 dor,0x40') clears the timed workload related SMART attributes
1695 (226, 227, 228). Note that the raw values of these attributes
1696 are held at 65535 (0xffff) until the workload timer reaches 60
1697 minutes.
1698
1699 force - start new self-test even if another test is already run‐
1700 ning. By default a running self-test will not be interrupted to
1701 begin another test.
1702
1703 -C, --captive
1704 [ATA] Runs self-tests in captive mode. This has no effect with
1705 '-t offline' or if the '-t' option is not used.
1706
1707 WARNING: Tests run in captive mode may busy out the drive for
1708 the length of the test. Only run captive tests on drives with‐
1709 out any mounted partitions!
1710
1711 [SCSI] Runs the self-test in "Foreground" mode.
1712
1713 -X, --abort
1714 Aborts non-captive SMART Self Tests. Note that this command
1715 will abort the Offline Immediate Test routine only if your disk
1716 has the "Abort Offline collection upon new command" capability.
1717
1718
1720 In the past there has been a clear distinction between storage devices
1721 that used the ATA and SCSI command sets. This distinction was often
1722 reflected in their device naming and hardware. Now various SCSI trans‐
1723 ports (e.g. SAS, FC and iSCSI) can interconnect to both SCSI disks
1724 (e.g. FC and SAS) and ATA disks (especially SATA). USB and IEEE 1394
1725 storage devices use the SCSI command set externally but almost always
1726 contain ATA or SATA disks (or flash). The storage subsystems in some
1727 operating systems have started to remove the distinction between ATA
1728 and SCSI in their device naming policies.
1729
1730 99% of operations that an OS performs on a disk involve the SCSI
1731 INQUIRY, READ CAPACITY, READ and WRITE commands, or their ATA equiva‐
1732 lents. Since the SCSI commands are slightly more general than their
1733 ATA equivalents, many OSes are generating SCSI commands (mainly READ
1734 and WRITE) and letting a lower level translate them to their ATA equiv‐
1735 alents as the need arises. An important note here is that "lower
1736 level" may be in external equipment and hence outside the control of an
1737 OS.
1738
1739 SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
1740 specifies how this translation is done. For the other 1% of operations
1741 that an OS performs on a disk, SAT provides two options. First is an
1742 optional ATA PASS-THROUGH SCSI command (there are two variants). The
1743 second is a translation from the closest SCSI command. Most current
1744 interest is in the "pass-through" option.
1745
1746 The relevance to smartmontools (and hence smartctl) is that its inter‐
1747 actions with disks fall solidly into the "1%" category. So even if the
1748 OS can happily treat (and name) a disk as "SCSI", smartmontools needs
1749 to detect the native command set and act accordingly. As more storage
1750 manufacturers (including external SATA drives) comply with SAT, smart‐
1751 montools is able to automatically distinguish the native command set of
1752 the device. In some cases the '-d sat' option is needed on the command
1753 line.
1754
1755 There are also virtual disks which typically have no useful information
1756 to convey to smartmontools, but could conceivably in the future. An
1757 example of a virtual disk is the OS's view of a RAID 1 box. There are
1758 most likely two SATA disks inside a RAID 1 box. Addressing those SATA
1759 disks from a distant OS is a challenge for smartmontools. Another
1760 approach is running a tool like smartmontools inside the RAID 1 box
1761 (e.g. a Network Attached Storage (NAS) box) and fetching the logs via
1762 a browser.
1763
1764
1766 smartctl -a /dev/sda
1767 Print a large amount of SMART information for drive /dev/sda.
1768
1769 smartctl -s off /dev/sdd
1770 Disable SMART monitoring and data log collection on drive /dev/sdd.
1771
1772 smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
1773 Enable SMART on drive /dev/sda, enable automatic offline testing every
1774 four hours, and enable autosaving of SMART Attributes. This is a good
1775 start-up line for your system's init files. You can issue this command
1776 on a running system.
1777
1778 smartctl -t long /dev/sdc
1779 Begin an extended self-test of drive /dev/sdc. You can issue this com‐
1780 mand on a running system. The results can be seen in the self-test log
1781 visible with the '-l selftest' option after it has completed.
1782
1783 smartctl -s on -t offline /dev/sda
1784 Enable SMART on the disk, and begin an immediate offline test of drive
1785 /dev/sda. You can issue this command on a running system. The results
1786 are only used to update the SMART Attributes, visible with the '-A'
1787 option. If any device errors occur, they are logged to the SMART error
1788 log, which can be seen with the '-l error' option.
1789
1790 smartctl -A -v 9,minutes /dev/sda
1791 Shows the vendor Attributes, when the disk stores its power-on time
1792 internally in minutes rather than hours.
1793
1794 smartctl -q errorsonly -H -l selftest /dev/sda
1795 Produces output only if the device returns failing SMART status, or if
1796 some of the logged self-tests ended with errors.
1797
1798 smartctl -q silent -a /dev/sda
1799 Examine all SMART data for device /dev/sda, but produce no printed out‐
1800 put. You must use the exit status (the $? shell variable) to learn if
1801 any Attributes are out of bound, if the SMART status is failing, if
1802 there are errors recorded in the self-test log, or if there are errors
1803 recorded in the disk error log.
1804
1805 smartctl -a -d 3ware,0 /dev/twl0
1806 Examine all SMART data for the first SATA (not SAS) disk connected to a
1807 3ware RAID 9750 controller card.
1808
1809 smartctl -t long -d areca,4 /dev/sg2
1810 Start a long self-test on the fourth SATA disk connected to an Areca
1811 RAID controller addressed by /dev/sg2.
1812
1813 smartctl -a -d hpt,1/3 /dev/sda (under Linux)
1814 smartctl -a -d hpt,1/3 /dev/hptrr (under FreeBSD)
1815 Examine all SMART data for the (S)ATA disk directly connected to the
1816 third channel of the first HighPoint RocketRAID controller card.
1817
1818 smartctl -t short -d hpt,1/1/2 /dev/sda (under Linux)
1819 smartctl -t short -d hpt,1/1/2 /dev/hptrr (under FreeBSD)
1820 Start a short self-test on the (S)ATA disk connected to second pmport
1821 on the first channel of the first HighPoint RocketRAID controller card.
1822
1823 smartctl -t select,10-100 -t select,30-300 -t afterselect,on -t pend‐
1824 ing,45 /dev/sda
1825 Run a selective self-test on LBAs 10 to 100 and 30 to 300. After the
1826 these LBAs have been tested, read-scan the remainder of the disk. If
1827 the disk is power-cycled during the read-scan, resume the scan 45 min‐
1828 utes after power to the device is restored.
1829
1830 smartctl -a -d cciss,0 /dev/cciss/c0d0
1831 Examine all SMART data for the first SCSI disk connected to a cciss
1832 RAID controller card.
1833
1834
1836 The exit statuses of smartctl are defined by a bitmask. If all is well
1837 with the disk, the exit status (return value) of smartctl is 0 (all
1838 bits turned off). If a problem occurs, or an error, potential error,
1839 or fault is detected, then a non-zero status is returned. In this
1840 case, the eight different bits in the exit status have the following
1841 meanings for ATA disks; some of these values may also be returned for
1842 SCSI disks.
1843
1844 Bit 0: Command line did not parse.
1845
1846 Bit 1: Device open failed, device did not return an IDENTIFY DEVICE
1847 structure, or device is in a low-power mode (see '-n' option
1848 above).
1849
1850 Bit 2: Some SMART or other ATA command to the disk failed, or there was
1851 a checksum error in a SMART data structure (see '-b' option
1852 above).
1853
1854 Bit 3: SMART status check returned "DISK FAILING".
1855
1856 Bit 4: We found prefail Attributes <= threshold.
1857
1858 Bit 5: SMART status check returned "DISK OK" but we found that some
1859 (usage or prefail) Attributes have been <= threshold at some
1860 time in the past.
1861
1862 Bit 6: The device error log contains records of errors.
1863
1864 Bit 7: The device self-test log contains records of errors. [ATA only]
1865 Failed self-tests outdated by a newer successful extended self-
1866 test are ignored.
1867
1868 To test within the shell for whether or not the different bits are
1869 turned on or off, you can use the following type of construction (which
1870 should work with any POSIX compatible shell):
1871 smartstat=$(($? & 8))
1872 This looks at only at bit 3 of the exit status $? (since 8=2^3). The
1873 shell variable $smartstat will be nonzero if SMART status check
1874 returned "disk failing" and zero otherwise.
1875
1876 This shell script prints all status bits:
1877 val=$?; mask=1
1878 for i in 0 1 2 3 4 5 6 7; do
1879 echo "Bit $i: $(((val & mask) && 1))"
1880 mask=$((mask << 1))
1881 done
1882
1883
1885 /usr/sbin/smartctl
1886 full path of this executable.
1887
1888 /usr/share/smartmontools/drivedb.h
1889 drive database (see '-B' option).
1890
1891 /etc/smartmontools/smart_drivedb.h
1892 optional local drive database (see '-B' option).
1893
1894
1896 Bruce Allen (project initiator),
1897 Christian Franke (project manager, Windows port and all sort of
1898 things),
1899 Douglas Gilbert (SCSI subsystem),
1900 Volker Kuhlmann (moderator of support and database mailing list),
1901 Gabriele Pohl (wiki & development team support),
1902 Alex Samorukov (FreeBSD port and more, new Trac wiki).
1903
1904 Many other individuals have made contributions and corrections, see
1905 AUTHORS, ChangeLog and repository files.
1906
1907 The first smartmontools code was derived from the smartsuite package,
1908 written by Michael Cornwell and Andre Hedrick.
1909
1910
1912 To submit a bug report, create a ticket in smartmontools wiki:
1913 <https://www.smartmontools.org/>.
1914 Alternatively send the info to the smartmontools support mailing list:
1915 <https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.
1916
1917
1919 smartd(8).
1920 update-smart-drivedb(8).
1921
1922
1924 Please see the following web site for more info: <https://www.smartmon‐
1925 tools.org/>
1926
1927 An introductory article about smartmontools is Monitoring Hard Disks
1928 with SMART, by Bruce Allen, Linux Journal, January 2004, pages 74–77.
1929 See <https://www.linuxjournal.com/article/6983>.
1930
1931 If you would like to understand better how SMART works, and what it
1932 does, a good place to start is with Sections 4.8 and 6.54 of the first
1933 volume of the 'AT Attachment with Packet Interface-7' (ATA/ATAPI-7)
1934 specification Revision 4b. This documents the SMART functionality
1935 which the smartmontools utilities provide access to.
1936
1937 The functioning of SMART was originally defined by the SFF-8035i revi‐
1938 sion 2 and the SFF-8055i revision 1.4 specifications. These are publi‐
1939 cations of the Small Form Factors (SFF) Committee.
1940
1941 Links to these and other documents may be found on the Links page of
1942 the smartmontools Wiki at <https://www.smartmontools.org/wiki/Links>.
1943
1944
1946 smartmontools-7.0 2019-03-31 r4903
1947 $Id: smartctl.8.in 4882 2018-12-29 21:26:45Z chrfranke $
1948
1949
1950
1951smartmontools-7.0 2019-03-31 SMARTCTL(8)