| 413 | === Why do self-tests take very long? === |
| 414 | === Why is the system very slow during a self-test? === |
| 415 | |
| 416 | The `smartctl -t TEST` command (or `smartd.conf -s` directive) issues a command to start a test |
| 417 | (ATA: ''SMART EXECUTE OFF-LINE IMMEDIATE'', SCSI: ''SEND DIAGNOSTIC''). |
| 418 | The self-tests are controlled by drive firmware. |
| 419 | There is no related data transfer between host and drive during a test. |
| 420 | The interleaving of regular I/O and read tests depends on the specific implementation in the firmware. |
| 421 | |
| 422 | Many implementations work reasonably. |
| 423 | Some slow down the self-test even on average system load such that the test virtually never ends. |
| 424 | Others slow down regular I/O such that the system is unusable during a test. |
| 425 | |
| 426 | ---- |
| 427 | |
| 428 | === Why do self-tests take much longer than predicted? === |
| 429 | |
| 430 | The predicted completion time printed by `smartctl -t TEST` is based on values returned by drive firmware |
| 431 | (ATA: ''SELF-TEST ROUTINE RECOMMENDED POLLING TIME'' from ''SMART DATA STRUCTURE'', |
| 432 | SCSI: ''EXTENDED SELF-TEST COMPLETION TIME'' from ''CONTROL MODE PAGE''). |
| 433 | The prediction assumes that no regular I/O is done during the test. |
| 434 | |
| 435 | ---- |
| 436 | |