Почему Ubuntu медленно работает

Сталкивались ли вы когда-то с тем, что компьютер с Ubuntu работает медленно. Например, медленно работает графическая оболочка, тот же Gnome или KDE, или же подвивает удалённый сервер, к которому вы подключены по SSH. Скорее всего, дистрибутив Ubuntu здесь не виноват, просто это одна из самых популярных операционных систем, поэтому многие пользователи сталкиваются с подобными проблемами впервые именно здесь.

В этой статье мы попытаемся разобраться почему Ubuntu медленно работает. Эту проблему могут вызвать несколько факторов: сильная нагрузка на процессор, одним из процессов, недостаточное количество оперативной памяти или же очень активное использование жесткого диска. Давайте разберемся во всём более подробно.

Почему Ubuntu медленно работает?

1. Загрузка процессора

Чаще всего когда компьютер или сервер тупит виноват либо процессор, либо оперативная память. Начнём с процессора. Удобнее всего посмотреть нагрузку на ядра процессора с помощью утилиты htop. Сначала её надо установить:

sudo apt install htop

Затем запустите:

htop

Здесь в верхней части программы расположена статистика по загрузке ядер процессора. Вы можете сориентироваться на сколько процессор загружен в данный момент в процентном соотношении. Ниже можно отсортировать все процессы по нагрузке на процессор, это колонка CPU%, в колонке Command видно какой командой была запущена программа:

На домашней машине будет достаточно завершить нагружающий систему процесс или если это графическая оболочка, то сменить её на более легкую. На сервере же такой подход не пройдёт, там обычно уже и так работает только то, программное обеспечение, которое надо. Здесь надо будет уже разбираться дальше, например, если всё процессорное время занимает интерпретатор PHP, то скорее всего, кто-то очень усердно пытается перебрать ваш пароль от админки WordPress и следует его просто забанить и настроить fail2ban.

2. Недостаточно памяти

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

Оценить ситуацию по использованию памяти и раздела подкачки не устанавливая никаких дополнительных утилит можно с помощью команды free.

free -h

Надо обратить внимание на колонку Всего и Занято. Если в колонке Доступно указано, что свободно мало памяти, это ещё не значит, что памяти нет, может просто часть памяти используется на какие нибудь буферы и просто зарезервирована.

Более удобно смотреть эту информацию в утилите htop. Здесь информация о памяти находится сразу под информацией о загрузке процессора:

htop

Аналогично предыдущему варианту можно отсортировать процессы по колонке MEM% чтобы понять какая программа потребляет больше всего памяти. На домашнем компьютере это обычно браузер. Сложно представить, что окружение рабочего стола съест все 8 Гб оперативной памяти. Вам остается только открывать меньше вкладок, сменить браузер на более легкий или докупить памяти. Обычно последний вариант помогает лучше всего.

3. Нагрузка на диск

Операционная система Linux не читает много данных с диска, но большая нагрузка на диск может в какой-то мере замедлить вашу систему особенно, если система работает на медленном HDD. Посмотреть текущую нагрузку на диск можно с помощью утилиты iotop:

Тут надо обратить внимание на колонки IO Read и IO Write, особенно на вторую. Утилита показывает все программы, которые активно ведут запись на диск или читают с диска. Обнаружив такую программу, вы можете её удалить или отключить. А затем смотреть стала ли система работать лучше.

Нагрузку на диск могут создавать различные утилиты-индексаторы, которые готовят свой индекс для того чтобы вы могли потом быстро находить нужные файлы. Одним из таких индексатров был Nepomuk в KDE 4. Тогда все старались его как можно скорее отключить. Также это могут быть и другие программы.

Жесткий диск может работать медленно не только потому, что он сильно нагружен, но и потому, что хочет сломаться. Чтобы проверить состояние жесткого диска можно использовать утилиту smartctl. Она находится в пакете smartmontools:

sudo apt install smartmontools

Чтобы проверить состояние диска запустите её с опцией -H и передайте имя нужного диска. Например:

sudo smartctl -H /dev/sda

Если в строчке test result вы увидите значение Passed, значит всё хорошо. Если там написано Failed, как на снимке, значит жесткий диск уже отслужил своё и его пора менять на новый. Читайте подробнее про проверку диска в статье Проверка диска в Linux. Ещё один вариант ускорить операционную систему за счёт диска - установить её на SSD.

4. Драйвера видеокарты

Свободные драйвера в последнее время работают очень хорошо. Но именно отсутствие проприетарных драйверов могут вызвать проблемы при работе графического окружения. Это может быть как медленная работа и фризы, так и просто тиринг и мерцание. Установить проприетарные драйвера на видеокарту в Ubuntu не так уж сложно. На сайте есть инструкция как для AMD, так и для Nvidia.

Выводы

В этой небольшой статье мы рассмотрели почему Ubuntu медленно работает и как с этим бороться. Все перечисленные советы, подойдут и для многих других дистрибутивов. А вы знаете ещё какие-нибудь причины медленной работы Ubuntu и как их исправить? Напишите в комментариях!

14 комментариев

  1. altair-f 15 ноября, 2016 Ответить
  2. Сергей 15 ноября, 2016 Ответить
  3. lincaseidhe 15 ноября, 2016 Ответить
    • Харитон 15 ноября, 2016 Ответить
    • Юрий 21 ноября, 2016 Ответить
      • Владимир 10 октября, 2019 Ответить
  4. Алекс 16 ноября, 2016 Ответить
  5. Vital 4 декабря, 2016 Ответить
  6. Олег 13 декабря, 2016 Ответить
  7. АНДРЕЙ 13 февраля, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: