Почему Ubuntu медленно работает
Сталкивались ли вы когда-то с тем, что компьютер с Ubuntu работает медленно. Например, медленно работает графическая оболочка, тот же Gnome или KDE, или же подвивает удалённый сервер, к которому вы подключены по SSH. Скорее всего, дистрибутив Ubuntu здесь не виноват, просто это одна из самых популярных операционных систем, поэтому многие пользователи сталкиваются с подобными проблемами впервые именно здесь.
В этой статье мы попытаемся разобраться почему Ubuntu медленно работает. Эту проблему могут вызвать несколько факторов: сильная нагрузка на процессор, одним из процессов, недостаточное количество оперативной памяти или же очень активное использование жесткого диска. Давайте разберемся во всём более подробно.
Почему Ubuntu медленно работает?
1. Загрузка процессора
Чаще всего когда компьютер или сервер тупит виноват либо процессор, либо оперативная память. Начнём с процессора. Удобнее всего посмотреть нагрузку на ядра процессора с помощью утилиты htop. Сначала её надо установить:
Здесь в верхней части программы расположена статистика по загрузке ядер процессора. Вы можете сориентироваться на сколько процессор загружен в данный момент в процентном соотношении. Ниже можно отсортировать все процессы по нагрузке на процессор, это колонка CPU%, в колонке Command видно какой командой была запущена программа:
На домашней машине будет достаточно завершить нагружающий систему процесс или если это графическая оболочка, то сменить её на более легкую. На сервере же такой подход не пройдёт, там обычно уже и так работает только то, программное обеспечение, которое надо. Здесь надо будет уже разбираться дальше, например, если всё процессорное время занимает интерпретатор PHP, то скорее всего, кто-то очень усердно пытается перебрать ваш пароль от админки WordPress и следует его просто забанить и настроить fail2ban.
2. Недостаточно памяти
Если виновен не процессор, то скорее всего, дело в памяти. Когда вся оперативная память будет занята, то компьютер попросту зависнет и будет ждать пока ядро не решит какой процесс ему убить чтобы освободить память. Но обычно этого не происходит, потому что существует раздел или файл подкачки на жестком диске, куда скидываются неиспользуемые данные из памяти. Если в файле подкачки находится много данных, то операционная система начинает тупить, потому что доступ к этим данным медленный и лучше чтобы всё находилось в оперативной памяти.
Оценить ситуацию по использованию памяти и раздела подкачки не устанавливая никаких дополнительных утилит можно с помощью команды free.
Надо обратить внимание на колонку Всего и Занято. Если в колонке Доступно указано, что свободно мало памяти, это ещё не значит, что памяти нет, может просто часть памяти используется на какие нибудь буферы и просто зарезервирована.
Более удобно смотреть эту информацию в утилите htop. Здесь информация о памяти находится сразу под информацией о загрузке процессора:
Аналогично предыдущему варианту можно отсортировать процессы по колонке MEM% чтобы понять какая программа потребляет больше всего памяти. На домашнем компьютере это обычно браузер. Сложно представить, что окружение рабочего стола съест все 8 Гб оперативной памяти. Вам остается только открывать меньше вкладок, сменить браузер на более легкий или докупить памяти. Обычно последний вариант помогает лучше всего.
3. Нагрузка на диск
Операционная система Linux не читает много данных с диска, но большая нагрузка на диск может в какой-то мере замедлить вашу систему особенно, если система работает на медленном HDD. Посмотреть текущую нагрузку на диск можно с помощью утилиты iotop:
Тут надо обратить внимание на колонки IO Read и IO Write, особенно на вторую. Утилита показывает все программы, которые активно ведут запись на диск или читают с диска. Обнаружив такую программу, вы можете её удалить или отключить. А затем смотреть стала ли система работать лучше.
Нагрузку на диск могут создавать различные утилиты-индексаторы, которые готовят свой индекс для того чтобы вы могли потом быстро находить нужные файлы. Одним из таких индексатров был Nepomuk в KDE 4. Тогда все старались его как можно скорее отключить. Также это могут быть и другие программы.
Жесткий диск может работать медленно не только потому, что он сильно нагружен, но и потому, что хочет сломаться. Чтобы проверить состояние жесткого диска можно использовать утилиту smartctl. Она находится в пакете smartmontools:
sudo apt install smartmontools
Чтобы проверить состояние диска запустите её с опцией -H и передайте имя нужного диска. Например:
Если в строчке test result вы увидите значение Passed, значит всё хорошо. Если там написано Failed, как на снимке, значит жесткий диск уже отслужил своё и его пора менять на новый. Читайте подробнее про проверку диска в статье Проверка диска в Linux. Ещё один вариант ускорить операционную систему за счёт диска — установить её на SSD.
4. Драйвера видеокарты
Свободные драйвера в последнее время работают очень хорошо. Но именно отсутствие проприетарных драйверов могут вызвать проблемы при работе графического окружения. Это может быть как медленная работа и фризы, так и просто тиринг и мерцание. Установить проприетарные драйвера на видеокарту в Ubuntu не так уж сложно. На сайте есть инструкция как для AMD, так и для Nvidia.
Выводы
В этой небольшой статье мы рассмотрели почему Ubuntu медленно работает и как с этим бороться. Все перечисленные советы, подойдут и для многих других дистрибутивов. А вы знаете ещё какие-нибудь причины медленной работы Ubuntu и как их исправить? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
10 советов по ускорению Ubuntu Linux
Вам знакомо то чувство, когда по прошествии какого-то времени Ubuntu начинает тормозить? В этой статье мы собрали десять небольших советов, которые помогут если не вернуть былую скорость, то хотя бы просто заставить систему работать быстрее. Описанные здесь советы вполне могут сработать и на других дистрибутивах Linux, основанных на Ubuntu, вроде Linux Mint, Elementary OS и т.д.
1. Уменьшите стандартное время загрузки GRUB
По умолчанию GRUB даёт 10 секунд на выбор одной из нескольких ОС, вход в режим восстановления и т.д., что достаточно долго. Кроме того, вам придётся сидеть перед компьютером и нажимать на enter, чтобы как можно быстрее загрузить Ubuntu. Немного затратно по времени, не так ли? Разумным решением будет сократить это время. Сначала откроем конфигурацию GRUB:
И поменяем GRUB_TIMEOUT=10 на GRUB_TIMEOUT=2 . Теперь время загрузки сократится до 2 секунд. Почему мы ставим 2, а не 0? В последнем случае мы потеряем возможность выбрать другую ОС или зайти в режим восстановления.
Чтобы применить изменения, используйте эту команду:
2. Настройте автозапуск приложений
Рано или поздно вы начинаете устанавливать приложения. Некоторые из них запускаются при каждой загрузке системы, на что уходит много ресурсов. В итоге на полную загрузку системы уходит всё больше и больше времени. Чтобы исправить это, найдите в поиске «Автоматически запускаемые приложения»:
Здесь вы увидите список приложений, запускаемых при загрузке системы. Подумайте, что из этого не нужно запускать каждый раз и смело удаляйте из автозапуска:
Но что, если вы ничего не хотите удалять? В таком случае вы можете отложить запуск приложения. Таким образом, для загрузки системы будет свободно больше ресурсов, а сами приложения запустятся спустя некоторое время.
Для этого в том же списке выберите нужное приложение, нажмите «Редактировать» и в поле «Команда» допишите в начале команду sleep ; . Например, если вы напишете sleep 20; , то приложение запустится с 20-секундной задержкой.