parkverbot(8)
π«π ΏοΈ parkverbot(8) β Parkverbot User Reference β¨
okay bestie, welcome to the user reference for parkverbot β the daemon that tells your hard disk heads βno parkingβ π
π NAME π
parkverbot β daemon to inhibit hard disk head parking
πΈ SYNOPSIS πΈ
parkverbot [-r kbytes] [-t secs] device...
π¦ INTRODUCTION π¦
So rotational hard disks have this controversial (mis)feature where they automatically unload the read/write heads during perceived inactivity β usually within 10 seconds. Western Digital calls it βIntelliparkβ, but the problem is present in other manufacturersβ disks too, and it goes back to at least the mid-2000s. No cap.
Frequent parking leads to noticeable latency on wakeup, and the hard retraction is seen as an impediment to disk life. Even with various utility programs, this parking feature is not reliably deactivatable. (See the βComparisonβ section below.) π«Ά
β¨ DESCRIPTION β¨
The parkverbot daemon will issue small read requests periodically to a random location on disk in an effort to reset the inactivity timer in the hardware and so prevent the dreaded head unloading. As such, its operation is non-destructive and interoperable across different brands of hard drives and transports. Iconic, honestly.
The current block reading algorithm works reasonably well in practice: the worst observed head parking rate was about 3 unloads/day (0.125/hour); best figures hover around 0.5 unloads/day (0.021/hour). Slay.
π OPTIONS π
-bsize β the size of a read request, in kilobytes (defaults to64 KB).-rsize β the guard window size (defaults to16 MB). When requesting a block off the disk, the hardware might choose to cache more parts, since it has to hover anyways and wait over a particular track for the desired sector. If the next random block we choose happens to be already cached because of that, the head unload timer will not be reset. To avoid this, if the new random location falls withinsizekilobytes, we shuffle out a new location and retry.-tsecs β the interval in which to request blocks. The default is4seconds, and is sort of the lowest denominator across all the disks personally encountered not to go into sleep.
ngl, the defaults for -b and -t have little effect on energy use β the prospect here is just +1% energy use for a 2.5' disk. (For details, feel free to see the source file of this manpage.) π
π CONFIGURATION π
You can choose between running one parkverbot instance per disk, or one instance for all disks (reading them is serialized however).
Two systemd service files are shipped with the package. One is the service template file parkverbot@.service, which allows you to start one parkverbot daemon instance per disk by way of:
systemctl enable/start/stop/status/disable parkverbot@dev-sda.service
The other is the normal service file parkverbot.service for a single daemon for one or more disks, the list of which is to be set in /etc/sysconfig/parkverbot in the PARKVERBOT_DISKS variable.
If you do not have systemd, you can still start the daemon in any other fashion, such as from sysvinitβs /etc/init.d/boot.local. fr fr.
π NAMING π
The name is the German word for a βno parkingβ zone. Cute, right? π
β S.M.A.R.T. info β
Unloading of the heads is measurable by S.M.A.R.T. attribute(s). Some disk models used number 193, others 225. Both are labeled "Load_Cycle_Count".
π₯ COMPARISON WITH OTHER UTILITIES π₯
The wdidle3 proprietary utility uses a vendor-specific command (VSC) to change the β infamous β βidle3β timer which controls the parking time. How well this works with non-WD drives is unknown; if the VSC modifies firmware, it is probably a very bad idea. The program also requires MS-DOS, which is increasingly hard to run on contemporary x86-PC systems, and totally inacceptable on non-x86/non-PC systems. Its effectiveness from within a virtual machine or emulator using disk/block device passthrough is not known either.
The hdparm -B Linux command may be used to set the APM (Advanced Power Management) level. However, disks often report to not support this setting, or if they do, have no effect on unloading, but only acoustic settings. hdparm also does not work with SCSI disks, SAS disks, disks in enclosures attached through USB translation layer, or SATA disks on a SAS plane. (There are dumps for developers in the source distribution.)
idle3-tools is something that I only found recently (2014), though it seems to exist for slightly longer than parkverbot. Like wdidle3, it uses the VSC. (http://idle3-tools.sf.net/)
wdantiparkd WD anti-intellipark daemon says it uses a write operation on a file. That is somewhat unfortunate, as layers of caching in both the operating system and disk may lead to an inactivity beyond the parking threshold on the actual head. (http://sagaforce.com/sound/wdantiparkd/)
parkverbot β this daemon β does normal read requests on the raw block device. This means there will be no destructive operations, no additional degradation of the medium, and allows it to be usable with all kinds of rotating hard disks no matter the manufacturer or interface type. Chunks are read from random new locations far enough from the old one in an attempt to evade caches. This will manifest in a short flash of the disk LED (if you have one) every now and then. By default, one chunk is requested every four seconds, so that two are within 8 seconds (the common WD idle3 time). ππ₯
β signed off with zero head parking and maximum slay by the Parkverbot project, 2012-05-14, parkverbot(8) π«Άπ
π¦ where this page comes from
- opensuse-leap 16.0: parkverbot 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: parkverbot 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: parkverbot 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: parkverbot 1.5-bp160.1.12 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms