На производительность системы Linux влияет несколько факторов — в игру вступают различные конфигурации, настройки и атрибуты. Производительность Linux обычно измеряется тем, насколько быстро система может выполнять команды или запускать программы.
В этой статье будут рассмотрены практические концепции, которые могут помочь ускорить работу Linux-машины. Мы рассмотрим производительность Linux в следующих аспектах:
- Энергопотребление
- Оптимизация планировщика ввода-вывода
- Масштабируемость процессора
- Инструменты мониторинга производительности, такие как Stacer
Новичкам в Linux и пользователям с ограниченными знаниями о нем, возможно, потребуется понять, что влияет на его производительность и как измерить или повысить его эффективность. В зависимости от ваших индивидуальных потребностей или конкретного варианта использования одни методы будут более выгодными, чем другие.
Независимо от того, используется ли Linux в качестве основной настольной операционной системы или в качестве дополнительного сервера для другой платформы, важно понимать, как эти параметры влияют на взаимодействие пользователя с этой ОС.
Почему важна оптимизация
Оптимизация производительности Linux важна по нескольким причинам:
- Это повышает общую скорость и эффективность системы, что, в свою очередь, улучшает взаимодействие с пользователем и делает систему лучше оснащенной для решения сложных задач.
- Оптимизация снижает нагрузку на системные ресурсы, такие как процессор и память, что может повысить стабильность и предотвратить замедление работы системы или сбои.
- Это может продлить срок службы системы за счет снижения износа аппаратных компонентов.
- Оптимизация помогает системе работать максимально эффективно и безопасно.
Мониторинг производительности Linux с помощью Stacer
Перед началом этого руководства вам понадобится дистрибутив Linux.
Stacer – это инструмент, используемый для оптимизации Linux, который удаляет ненужный кэш и сортирует процессы, анализируя использование памяти и процессора. Stacer показывает, как работают службы и процессы и какой пользователь выполняет процессы. Оно просто необходимо, если вашей целью является эффективная оптимизация вашей системы Linux.
Чтобы установить Stacer, начните с добавления репозитория Stacer:
$ sudo add-apt-repository ppa:oguzhaninan/stacer
Далее обновите расширенный менеджер пакетов:
$ sudo apt-get update
Наконец, используйте следующую команду, чтобы установить Stacer на свой компьютер с Linux. Вы можете получить более подробную информацию об установке для различных вариантов здесь.
$ sudo apt-get install stacer
После успешной установки Stacer используйте следующую команду для его запуска:
$ stacer
Теперь Stacer будет запускаться с графическим интерфейсом, отображающим его инструменты оптимизации, такие как:
- Очиститель системы
- Диспетчер процессов
- Service manager
- Деинсталлятор
- Менеджер ресурсов и APT manager
Если вы больше не хотите использовать Stacer, используйте следующую команду для его удаления:
sudo apt-get remove stacer
Оптимизация планировщика ввода-вывода
Планировщик ввода-вывода – это программа, которая организует и сортирует запросы для определения их приоритета. Это помогает оптимизировать производительность системы, изменяя порядок запросов для более эффективной обработки. Планировщик ввода-вывода также помогает гарантировать, что запросы от различных процессов обрабатываются справедливо и эффективно.
Вот примеры планировщиков ввода-вывода:
- Абсолютно справедливое управление очередями: Для многих это планировщик по умолчанию, потому что он равномерно распределяет запросы на чтение и запись.
- Нет операции: Этот планировщик ввода-вывода передает запросы на чтение и запись в канал хранения, где они будут переупорядочены.
- Оптимизация производительности Linux с помощью Stacer: алгоритм, используемый операционными системами для управления запросами ввода-вывода с диска. Он определяет приоритет запросов на основе заранее установленного крайнего срока, при этом запросы, сроки выполнения которых ближе, получают более высокий приоритет. Это гарантирует, что критичные по времени запросы обрабатываются в первую очередь, сокращая задержки и повышая общую производительность системы.
- Упреждающий ввод-вывод: использовался старыми ядрами Linux и теперь классифицируется как устаревший.
Вот список параметров, которые вы можете использовать для оптимизации планировщика ввода-вывода:
- fifo_batch: указывает, сколько запросов будет сделано за один пакет
- read_expire: добавляет крайний срок в миллисекундах к запросу на чтение
- write_expire: добавляет крайний срок в миллисекундах к запросу на запись
Используйте следующую команду для улучшения вашего планировщика ввода-вывода с помощью параметра fifo_batch:
# echo 32 > /sys/block/sdb/queue/iosched/fifo_batch
Оптимизация энергопотребления
Конфигурация управления питанием в Linux включает набор настроек, используемых для оптимизации энергопотребления и времени автономной работы. Она включает настройки для управления частотой процессора, приостановки или гибернации системы, затемнения дисплея и многого другого. Это экономит энергию, продлевает время автономной работы компьютера с Linux и снижает энергопотребление настольной системы.
Linux предоставляет несколько параметров для оптимизации энергопотребления:
- -S: позволяет указать и установить время ожидания для накопителя
- -B: активирует расширенный API управления питанием
- -M: устанавливает функцию автоматического управления акустикой, которая снижает выходной шум
hdparm – утилита командной строки для систем Linux и Unix для просмотра различных параметров жесткого диска и управления ими. В основном он используется для настройки параметров накопителя, таких как время его раскрутки, управление акустикой, управление питанием и кэширование с опережением чтения.
Вы можете использовать вышеуказанные параметры в приведенной ниже команде для оптимизации энергопотребления:
# hdparm -B /dev/sda
Масштабирование вашего процессора в соответствии с требованиями
Уменьшение мощности ЦП, когда требуется меньше памяти ЦП, сэкономит энергию и ресурсы; увеличение его при высокой загрузке ЦП повысит производительность системы. В Linux есть несколько ключевых компонентов, которые следует учитывать при увеличении загрузки ЦП. К ним относятся
- Количество ядер процессора: Это физическое количество ядер процессора, доступных в системе, которое определяет, сколько задач может выполняться одновременно.
- Тактовая частота процессора: скорость, измеряемая в ГГц, с которой центральный процессор обрабатывает инструкции. Более высокие тактовые частоты означают более быстрое время обработки отдельных задач. Однако чрезмерная скорость процессора может привести к увеличению потребления электроэнергии, что приводит к повышению температуры.
- Кэш процессора: Это небольшой объем встроенной в процессор памяти, который используется для хранения часто используемых данных, что может повысить производительность за счет уменьшения необходимости доступа к более медленной основной памяти.
- Архитектура ЦП: Это относится к конструкции ЦП и тому, как он обрабатывает инструкции. Разные архитектуры могут иметь разные характеристики производительности и, следовательно, лучше подходить для определенных типов рабочих нагрузок.
- Операционная система и ее политики планирования: Операционная система играет решающую роль в управлении ресурсами ЦП и определении того, какие задачи получают доступ к ЦП и когда. Политики планирования, используемые операционной системой, могут влиять на производительность системы и на то, как она масштабируется при увеличении рабочих нагрузок.
В общем, для масштабирования загрузки ЦП в системе Linux вам следует:
- Увеличьте количество ядер процессора для повышения тактовой частоты
- Оптимизируйте использование кэша процессора
- Используйте архитектуру процессора, которая хорошо подходит для рабочей нагрузки
- Тщательно управляйте политиками планирования операционной системы
Вот три команды, рекомендованные Arch Linux:
- Установите минимальную тактовую частоту в гигагерцах или мегагерцах:
# cpupower frequency-set -d clock_freq
- Настройте процессор на работу с указанной частотой в гигагерцах или мегагерцах. Не следует разгонять процессор, иначе вы можете повредить процессор компьютера, материнскую плату и, в некоторых случаях, оперативную память.
# cpupower frequency-set -f clock_freq
- Установите лимит процессора для определенного процесса:
$ cpulimit -l 50 -p 5081
Заключение
Использование медленной машины Linux может иметь несколько негативных последствий, в том числе
- Повышенное разочарование: Низкая производительность означает, что пользователям, возможно, придется дольше ждать завершения задач или иметь дело с не отвечающими приложениями.
- Невозможность запуска определенных приложений: Некоторые приложения требуют определенного уровня производительности или могут быть не оптимизированы для более медленных машин.
- Плохое взаимодействие с пользователем: В целом, медленная работа компьютера неизбежно приводит к плохому взаимодействию с пользователем, медленному времени отклика и общей низкой производительности.
Медленная машина с Linux может быть более уязвимой для киберугроз, если она не в состоянии запускать обновления системы безопасности и применять другие защитные меры достаточно быстро или эффективно.
Существует множество различных способов повысить скорость и отзывчивость вашей Linux-машины, от настройки параметров ядра до регулировки частоты процессора и оптимизации времени автономной работы. В этой статье мы рассмотрели методы, которые, скорее всего, помогут исправить медленную работу системы Linux.