Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
parkverbot(8)			    hxtools			 parkverbot(8)

       parkverbot -- daemon to inhibit hard disk head parking

       parkverbot [-r kbytes] [-t secs]	device...

       Rotational hard disks have a controversial (mis)feature which automati-
       cally unloads 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	as well, and goes back
       to at least the mid-2000s.

       Frequent	parking	leads to noticable latency on wakeup, and the hard re-
       traction	is seen	as an impediment to  disk  life.   Even	 with  various
       utility	programs,  this	parking	feature	is not reliably	deactivatable.
       (See "Comparison" section below.)

       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 interoprable across different	brands
       of hard drives.

       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).

       -b size
	      The size of a read request, in kilobytes (defaults to 64 KB).

       -r size
	      The guard	window size (defaults to 16  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 loca-
	      tion falls within	size kilobytes,	we shuffle out a new  location
	      and retry.

       -t secs
	      The interval in which to request blocks (defaults	to 4 sec).

       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 ser-
       vice  template  file  "parkverbot@.service",  which allows 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.

       The name	stems from German and indicates	parking	prohibited (you	proba-
       bly already guessed that), or more commonly known  as  a	 "no  parking"

   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_Cy-

   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 re-
       quires MS-DOS, which is increasingly hard to run	on contemporary	x86-PC
       systems,	and totally inacceptable on non-x86/non-PC systems. Its	effec-
       tiveness	from within a virtual machine or emulator using	disk/block de-
       vice 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.  (

       "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. (

       parkverbot - this daemon	- does normal read requests on the  raw	 block
       device.	 This  means there will	be no destructive operations, no addi-
       tional 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).

hxtools				  2012-05-14			 parkverbot(8)

Name | Synopsis | Introduction | Description | Options | Configuration

Want to link to this manual page? Use this URL:

home | help