diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/DISK/HDPARM скорость диска.md | |
First
Diffstat (limited to 'LINUX/DISK/HDPARM скорость диска.md')
| -rw-r--r-- | LINUX/DISK/HDPARM скорость диска.md | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/LINUX/DISK/HDPARM скорость диска.md b/LINUX/DISK/HDPARM скорость диска.md new file mode 100644 index 0000000..866f5be --- /dev/null +++ b/LINUX/DISK/HDPARM скорость диска.md @@ -0,0 +1,133 @@ +```sh +hdparm -tT /dev/sda + +``` + +/dev/sda: + Timing cached reads: 24138 MB in 1.98 seconds = 12174.75 MB/sec + + Timing buffered disk reads: 1006 MB in 3.00 seconds = 335.09 MB/sec + + +`$ hdparm опция значение /dev/имя_файла_диска` + +Если опцию передать без значения, то как правило, она просто выводит текущее значения параметра, если передать значение, то оно устанавливается вместо старого. Давайте сначала рассмотрим основные опции утилиты, которые мы будем сегодня использовать: + +- ****-a**** - позволяет включить режим read-ahead, когда чтение выполняется в первую очередь. Этот режим позволяет улучшить производительность чтения больших объемов данных; + +- ****-A**** - позволяет включить режим read-look-ahead, когда диск просматривается перед чтением. По умолчанию включена; +- ****-b**** - остановить жесткий диск до следующего к нему обращения; +- ****-B**** - настройка управления питанием Advanced Power Management (APM), чем ниже значение, тем лучше энергосбережение. Чтобы отключить режим полностью установите значение в 255. +- ****-c**** - включает 32-битный режим передачи для IDE; +- ****-C**** - позволяет посмотреть текущий режим питания IDE; +- ****-d**** - включает режим DMA; +- ****-D**** - включает обнаружение дефектных областей на диске; +- ****-E**** - позволяет установить скорость для CD/DVD привода; +- ****-f**** - позволяет записать кэш диска на носитель; +- ****-i**** - выводит информацию о диске; +- ****-I**** - тоже выводит информацию о диске, но в более подробной форме; +- ****-m**** - позволяет указать количество секторов для многосекторного ввода/вывода. Чтобы отключить эту опцию установите её в 0; +- -M - позволяет управлять уровнем шума диска с помощью Automatic Acoustic Management (AAM); +- ****-n**** - позволяет включить флаг ****ignore write errors**** для игнорирования ошибок записи; +- ****-r**** - включает флаг read only. После этого с устройства можно только читать данные, но не записывать; +- ****-S**** - устанавливает время неактивности диска для перехода его в режим сна. Если установлено в 0, то диск сразу же отключается; +- ****-T**** - выполняет тест скорости чтения из кэша; +- ****-t**** - выполняет тест скорости чтения с диска без кэширования; +- ****-v**** - выводит все настройки; +- ****-w**** - выполняет сброс диска; +- ****-W**** - включает или отключает кэш для записи данных на IDE; +- ****-y**** - переводит IDE диск в режим низкого энергопотребления, замедляя скорость вращения диска; +- ****-Y**** - переводит IDE диск в режим низкого энергопотребления останавливая его; +- ****-z**** - просит ядро перечитать таблицу разделов для этого диска; +- ****-Z**** - отключает режим энергосбережения диска. + +### Hdparm + +`hdparm` - программа для получения/установки параметров устройств SATA/IDE - из одноимённого пакета, которая поддерживает управление временем автопарковки: + +Проверить, что установлено (`hdparm` работает от имени **root**): + +$ su - +`hdparm -J /dev/sdX + +Выключить: + +`hdparm -J0 --please-destroy-my-drive /dev/sdX + +Настройка диска (команда idle3ctl из пакета idle3-tools) + +1. idle3ctl -s 900 /dev/sda +2. idle3ctl -d /dev/sda + +- [https://forum.altlinux.org/index.php?topic=29692.105](https://forum.altlinux.org/index.php?topic=29692.105) +- [https://bugs.etersoft.ru/show_bug.cgi?id=9438](https://bugs.etersoft.ru/show_bug.cgi?id=9438) + +Если указанный выше способ не сработал, можно отключить парковку головок жесткого диска через функцию **APM (расширенного управления питанием)** жесткого диска. Сначала нужно узнать, какой уровень управления энергопитанием установлен: + +$ su - +`hdparm -B /dev/sdX +где sdX - имя нужного жесткого диска в системе. + +Во время питания ноутбука от сети значение APM равно 254. При работе от батареи можно установить его на уровне 128, а при одном-двух запущенных приложениях — 96. Запуска веб-браузера в этом случае стоит избегать. + +$ sudo hdparm -B 96 -S 0 /dev/sda + +При частой работе за ноутбуком от аккумулятора, вероятно, лучшим решением будет использование твердотельного накопителя — SSD: он очевидно превосходит HDD в экономии энергии. Возможно также комбинировать два варианта, когда на SDD установлена сама операционная система, а HDD используется для хранения данных. + +Возможные значения варьируются от 1 до 254. Наивысшая степень управления питанием достигается при значении 1, а наивысшая производительность ввода-вывода - при значении 254. Значение 255 указывает `hdparm` на полное отключение расширенного управления питанием на диске (не все диски поддерживают его отключение, но большинство поддерживают). + + +Для настройки APM при загрузке — создаем исполняемый файл `[rc.local](https://www.altlinux.org/Rc.local "Rc.local")`: + +$ su - +`echo '#!/bin/sh' > /etc/rc.d/rc.local +`chmod +x /etc/rc.d/rc.local + +В этот файл добавляем строчку: + +hdparm -B 254 /dev/sda + +Для настройки APM при выходе из ждущего режима — создаем файл `/etc/systemd/system/root-resume.service`: + +`touch /etc/systemd/system/root-resume.service + +В этот файл добавляем строчки: + +[Unit] +Description=Local system resume actions +After=suspend.target + +[Service] +Type=simple +ExecStart=/sbin/hdparm -B 254 /dev/sda + +[Install] +WantedBy=suspend.target + +И выполняем команду: + +`systemctl enable root-resume + +Для настройки APM при выходе из спящего режима — создаем файл `/etc/systemd/system/root-resume-sleep.service`: + +`touch /etc/systemd/system/root-resume-sleep.service + +В этот файл добавляем строчки: + +[Unit] +Description=Local system resume actions +After=hibernate.target + +[Service] +Type=simple +ExecStart=/sbin/hdparm -B 254 /dev/sda + +[Install] +WantedBy=hibernate.target + +И выполняем команду: + +`systemctl enable root-resume-sleep + + + |
