Linux посмотреть чем заняты диски

Закончилось место на сервере Linux. Как узнать, чем занято?

Начинающие мастера часто сталкиваются с проблемой, когда заканчивается свободное место на хостинге или VPS с Linux. При этом объёмных работ по наполнению сайтов, работающих на сервере, не производилось. У моего коллеги был случай, когда из-за нехватки места не могли создастся файлы сессий на сайте. Давайте разберёмся, как это предотвратить на реальном примере.

Как узнать в linux, сколько осталось свободного места

Для того, чтобы узнать сколько место осталось на сервере, выполните команду:

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

Печальная картина — sda1 у нас занят 21 ГБ из 24. Место скоро закончится, но лучше это предотвратить.

Как узнать, чем занято место на сервере

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

Поищем 10 самых больших файлов на сервере, выполнив команду:

Нашли самые объёмные файлы

Видим, что самый большой файл лежит в папке mysql и имеет расширение MYD. Его трогать нельзя, так как в этом файлы хранятся данные для базы данных MySQL. Это относится и к файлам ipdata1 и ib_logfile*.

В файле selogs.txt хранилась информация о ботах поисковых систем, приходящих на сайт. Такие файлы можно безболезненно удалять, выполнив команду:

Файлы логов btmp.* содержат в себе информацию о неудачных попытках входа в систему. Возможно вас пытаются взломать, подобрав пароль методом bruteforce. Чтобы себя обезопасить, рекомендую настроить авторизация по ssh ключу. Изучив содержимое этих файлов (при необходимости), их тоже можно удалить.

Очистка linux системы с помощью утилиты apt

Если у вас дистрибутив семейства Debian, можете удалить ненужные пакеты и кэш с помощью утилиты apt.

Перед установкой какого-либо пакета через apt-get, он кэшируется в локальный репозиторий. Объём сохранённых deb пакетов может достигать внушительных размеров. Команда команда apt-get clean удалит все закэшированные deb пакеты и освободит обширное пространство на диске.

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

Освобождение места с помощью утилиты yum

В семействе дистрибутивов RedHat аналогичные операции можно произвести с помощью следующих команд:

Читайте также:  Курсор mac os high sierra для windows 10

Детальное исследование занятого места на дисках в Linux

Для детального исследования занятого пространства в linux рекомендую использовать утилиту ncdu. Установить ее можно командой:

Если у вас yum, вместо apt-get, то:

sudo yum install

После установки перейдите в любую папку и выполните в консоли команду:

Вот пример с результатом работы данной программы для папки, где лежат файлы моего блога.

Таким образом, можно искать папки, занимающие большие объёмы дискового пространства.

Источник

Свободное место на разделах Linux и занимаемое папками пространство

Системы на базе UNIX, весьма стабильны, и если они перестают работать корректно, первым делом, необходимо убедиться в наличие свободного дискового пространства. В данной инструкции приведены примеры консольных команд.

Занимаемое место всеми разделами

Базовая команда, которая работает для всех систем семейства UNIX:

* -h добавлено для более читабельного вывода информации по занимаемому месту. Без данной опции информация будет показана в килобайтах.

Примерный результат выполнения команды:

1 — путь к файловому разделу (диск, внешний накопитель, сетевая шара и так далее).
2 — полный объем раздела.
3 — объем использованного пространства.
4 — сколько еще осталось места.
5 — сколько использовано в процентах.
6 — куда примонтирована файловая система.

Посмотреть занимаемое место папками

Чтобы узнать, какой именно каталог занимает много места, воспользуемся командой:

* в данном примере смотрим все папки корневого раздела (/).

Примерный вывод будет следующий:

Это очень удобная команда для поиска каталога, который занимает большую часть пространства раздела.

То же самое с сортировкой по весу папки:

du -d1 / | sort -nr

Вес одной папки и ее содержимого

Отобразить занимаемое место конкретной папки и всего ее содержимого можно следующей командой:

* отобразит занимаемое место каталогом, в котором мы находимся (можно посмотреть командой pwd).

Что чаще всего занимает место на диске

Из данных, которые могут занимать много места, и которые можно чистить, как правило, являются log-файлы — журналы приложений и операционной системы. Это текстовая информация, которая хорошо поддается сжатию. Чтобы автоматизировать процесс чистки логов, воспользуйтесь инструкцией Ротация логов в Linux и FreeBSD с помощью logrotate.

Также место могут занимать временные данные — они находятся в каталоге /tmp.

Источник

Анализ дискового пространства в Linux – команды du и ncdu

Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В Linux для таких целей давно существуют утилиты с удобным графическим интерфейсом, предоставляющих наглядную информацию о занятом пространстве в виде диаграмм и графиков. Однако, для системных администраторов, обслуживающих «серьёзные» сервера на основе Linux-систем, графический интерфейс — чрезмерное удовольствие, не оправдывающее затрачиваемых на него ресурсов. Поэтому необходимо уметь обходиться средствами командной консоли, используя специализированные консольные утилиты для анализа дискового пространства, которые доступны в виде двух команд — du и ncdu.

как посмотреть свободное место на диске

Давайте узнаем сколько у нас свободного места в системе. Узнать это можно с помощью команды

как видим у нас диск занят на 97%, и нам необходимо узнать что у нас заняло место. Давайте этим займемся.

Команда du – синтаксис и опции

Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.

Читайте также:  Windows требует gpt диск

Итак давайте узнаем что у нас занимает место

Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий

Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var

видим что это папка log

Теперь смотрим /var/log

и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.

Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:

Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:

Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:

Опция Назначение
-a Выводит объём для всех элементов, а не только для каталогов
—apparent-size Выводит действительные размеры, но не занимаемое место а диске
-B,

—block-size=РАЗМЕР

Задаёт использование определённых единиц измерения объёма
-b,

—bytes

То же самое, что и «—block-size —apparent-size=1»
-с,

—total

Выводит общий результат
-D,

—dereference-args

Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке
-d, —max-depth=N Выводит общий размер только до N-го уровня (включительно) дерева каталогов
-h,

—human-readable

Выводит размеры в удобном для человека виде
-k Эквивалентно —block-size=1K
-L,

—dereference

Разыменовывает символьные ссылки
-l,

—count-links

Складывает размеры, если несколько жёстких ссылок
-m Эквивалентно —block-size=1M
-t,

—threshold=РАЗМЕР

Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно
—time Выводит время последнего изменения в каталоге и во всех подкаталогах
—time=АТРИБУТ Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения
—time-style=СТИЛЬ Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso
-X,

—exclude-from=ФАЙЛ

Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа
—exclude=ШАБЛОН Исключает элементы, совпадающие с шаблоном
-x,

—one-file-system

Пропускать каталоги из других систем

Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.

Примеры использования команды du

Узнать общий размер каталога (например с резервными копиями):

Вывод размеров всех подкаталогов (рекурсивно):

С учётом файлов:

С фильтрацией в зависимости от размера файла/каталога:

Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:

Команда ncdu

Более удобный способ найти что занимает место на диске можно с помощью команды ncdu. Утилита ncdu (Ncurses Disk Usage) способна делать всё то же самое, что и утилита du и даже немного больше. К тому же, она предоставляет пользователю удобный в использовании псевдографический интерфейс, с помощью которого можно быстро перемещаться по дереву системы, оценивая размеры интересующих элементов и папок.

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

По-умолчанию, выполнение команды ncdu без параметров, выводит файловый браузер, в котором после предварительного сканирования (с показом прогресса выполнения) отображается список элементов и подкаталогов текущего каталога. По этому списку можно перемещаться, используя клавиши курсора, спускаться в подкаталоги ( ) выходить из них, при этом информация о размере представленных элементах и папок отображается «как на ладони». В строке состояния отображается общий используемый объём (Total disk usage), фактический объём (Apparent size), а также количество файлов и папок для текущего анализируемого каталога.

Основные опции команды ncdu:

Опция Назначение
-o ФАЙЛ Позволяет экспортировать результаты работы в указанный файл
-f ФАЙЛ Загружает из файла для отображения данные ранее экспортированные с помощью опции -o
-0 Не никаких информационных сообщений при сканировании файловой системы
-1 Подобна опции -0, но выдаёт единственную строку о статусе выполненного действия. По-умолчанию используется при экспорте в файл
-q Тихий режим. Во время сканирования директории экран с результатами сканирования будет обновляться каждые 2 секунды, вместо 10 раз за секунду. Обычно используется при работе с удаленными системами
-r Включает режим «только для чтения» для отключения встроенной функции удаления. Не работает с опцией -o
-x Не выходить за рамки текущей используемой файловой системы
—exclude ШАБЛОН Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону, но эти файлы будут отображаться в списке
-X ФАЙЛ,

—exclude-from-file

Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону из файла, но они также будут отображаться в списке

Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.

Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.

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

Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /

Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log

А здесь мы видим наши большие логи

Еще несколько полезных примеров.

Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:

Сканирование текущей директории, экспорт результатов в лог, и последующий просмотр этих результатов в браузере ncdu:

Работа с удалённой системой:

В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Читайте также:  Основное системное устройство драйвер windows 10 что это
Оцените статью