Утилита hdparm позволяет устанавливать и просматривать различные параметры жестких дисков HDD в Linux. Она работает только в командной строке и предоставляет доступ к настройкам кэша диска, режима сна, энергопотребления, уровня его производительности, шума, а также DMA. Возможности этой утилиты используются в GParted.

Изменение стандартных значений для некоторых параметров может очень сильно увеличить производительность диска, однако на данный момент нет точного способа определить оптимальные значения. Это можно сделать только путём проб и ошибок. В этой небольшой статье мы разберемся как работает команда hdparm linux, а также что с помощью неё можно сделать.

Синтаксис команды hdparm

Синтаксис hdparm Linux очень похож на другие подобные команды:

$ 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 Ubuntu / Debian / Linux Mint выполните:

sudo apt install hdparm

А для CentOS/Fedora/RedHat:

sudo dnf install hdparm

Примеры команды hdparm

И так программу установили, можно и к действиям переходить. Давайте сначала посмотрим информацию о диске с помощью опции -i:

sudo hdparm -i /dev/sda

Как остановить жесткий диск в Linux

Теперь смотрим более расширенную информацию опцией -I:

sudo hdparm -I /dev/sda

Как остановить жесткий диск в Linux

Чтобы посмотреть текущие настройки для различных флагов диска используйте опцию -v:

sudo hdparm -v /dev/sda

Как остановить жесткий диск в Linux

Для теста скорости работы диска с кэшем используйте опцию -T:

sudo hdparm -T /dev/sda

Как остановить жесткий диск в Linux

А для теста без кэша -t:

sudo hdparm -t /dev/sda

Как остановить жесткий диск в Linux

Чтобы остановить вращение мотора диска до следующего к нему обращения выполните:

sudo hdparm -S 1 /dev/sda

После включения этой опции диск перейдет в режим сна сразу же через пять секунд после завершения операций с ним. Если же вы хотите уменьшить энергопотребление вашего устройства предыдущая команда не совсем подходит. Для этого существует функция управления питанием:

sudo hdparm -B 120 /dev/sda

Замедляет обороты диска если к нему не обращались на протяжении определенного времени, доступны значения от нуля до 255, 120 примерно среднее значение.

Разберемся подробнее с опцией -S. Она позволяет останавливает двигатель диска после время бездействия:

sudo hdparm -S 240 /dev/sda

Можно также использовать числа в диапазоне от 1 до 255. Значения от единицы до 240 означают время в секундах умноженное на 5. Таким образом можно рассчитать время ожидания от 5 секунд до двадцати минут. Значения от 241 до 251 рассчитывается уже умножением на 30 минут, таким образом можно получить время от тридцати минут до пяти с половиной часов.

Чтобы уменьшить уровень шума от диска можно ещё воспользоваться опцией -M. Она принимает значения от 128 что означает более тихую работу и до 254, которое означает более высокую производительность. Попросим диск работать как можно тише:

sudo hdparm -M 128 /dev/sda

Как остановить жесткий диск в Linux

Выводы

В этой статье мы рассмотрели как пользоваться hdparm для настройки диска в Linux. Всё выглядит сложным, но зато вы можете немного повысить производительность своего диска, снизить его энергопотребление или шум.

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях