После замены оптического привода моего MacBook Pro (середина 2012 года) на жесткий диск SATA-II у меня возникли проблемы с парковкой головок жесткого диска после коротких интервалов использования. Поскольку я использую MacBook почти исключительно в качестве замены настольного компьютера, мне это не нужно ни по соображениям энергоэффективности, ни по соображениям вибрации.
Я установил уровень APM на максимальную производительность (например, 254, нет парковки головы) с помощью инструмента 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 секунд, очевидно, препятствует парковке головку, но, с другой стороны, может постоянно приходиться прыгать в это место даже при высокой скорости ввода-вывода жесткого диска.
Теперь я хотел бы усовершенствовать это решение, ограничив этот сценарий «keep-alive» фазами HDD-простоя.
Используя, например, sudo fs_usage | grep "/Volumes/Data"
Я могу получить журнал ввода-вывода на этом разделе. Теперь я хочу запустить таймер для каждого сообщения ввода-вывода и выполнить вышеописанный сценарий через заранее определенный промежуток времени, если больше никаких сообщений ввода-вывода не происходит.
Можете ли вы мне помочь или предложить лучший способ предотвратить парковку головы?