Лучший способ избежать парковки головки жесткого диска под OSX с помощью bash-скрипта
После замены оптического привода моего MacBook Pro (середина 2012 года) на жесткий диск SATA-II у меня возникли проблемы с парковкой головок жесткого диска после коротких интервалов использования. Поскольку я использую MacBook почти исключительно в качестве замены настольного компьютера, мне это не нужно ни по соображениям энергоэффективности, ни по соображениям вибрации.
Я установил уровень APM для максимальной производительности (например, 254, нет парковки головы) с помощью инструмента McKinlay hpapm
и получил 01.12.14 10:05:06,503 hdapm[93]: Set APM Level to 0xfe: Success
в консоли OSX, но головка жесткого диска продолжает парковаться примерно через 10 секунд простоя, поэтому, пожалуйста, избегайте стандартных предложений, основанных на hdapm
,
Затем я сделал launchd
демон запускается при входе в систему следующего сценария оболочки.
#!/bin/sh
while true; do touch /Volumes/Data/somefolder; sleep 6; done
Касаясь какой-то папки в разделе Data
на жестком диске каждые 6 секунд, очевидно, не разрешается парковать головку, но, с другой стороны, может постоянно приходиться прыгать в это место даже при высокой скорости ввода-вывода HDD.
Теперь я хотел бы усовершенствовать это решение, ограничив этот сценарий "keep-alive" фазами HDD-простоя.
Используя, например, sudo fs_usage | grep "/Volumes/Data"
Я могу получить журнал ввода-вывода на этом разделе. Теперь я хочу запустить таймер для каждого сообщения ввода-вывода и выполнить вышеописанный сценарий через заранее определенный промежуток времени, если больше никаких сообщений ввода-вывода не происходит.
Можете ли вы мне помочь или предложить лучший способ предотвратить парковку головы?