- How to find out how much disk space is remaining?
- du — estimate file space usage
- df
- pydf
- discus
- di
- GNOME System Monitor
- Disk Usage Analyzer
- ncdu
- Анализ дискового пространства в Linux – команды du и ncdu
- как посмотреть свободное место на диске
- Команда du – синтаксис и опции
- Примеры использования команды du
- Команда ncdu
- Примеры команд ncdu
- Похожие записи:
How to find out how much disk space is remaining?
The -h flag provides human readable output (which makes reading of the output — easier).
du — estimate file space usage
A second tool is with du which is a slower approach but will give you a better break down of a per directory. Information on that can be found in How to determine where the biggest files/directories on my system are stored?
There are several good command line tools for reporting disk usage. Use the one that’s most helpful to you:
df
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 56G 4.4G 48G 9% / none 1.5G 256K 1.5G 1% /dev none 1.5G 472K 1.5G 1% /dev/shm none 1.5G 400K 1.5G 1% /var/run none 1.5G 0 1.5G 0% /var/lock tmpfs 1.5G 596K 1.5G 1% /var/log tmpfs 1.5G 8.0K 1.5G 1% /var/log/apt /dev/sdb2 840G 579G 253G 70% /home
df is installed by default.
pydf
$ pydf Filesystem Size Used Avail Use% Mounted on /dev/sda1 55G 4437M 48G 7.9 [##. ] / none 1506M 256k 1505M 0.0 [. ] /dev /dev/sdb2 839G 578G 252G 68.9 [###################. ] /home
Column headers are colored.
discus
$ discus Mount Total Used Avail Prcnt Graph / 55.02 GB 4.33 GB 50.69 GB 7.9% [*---------] /sys 0 KB 0 KB 0 KB 0.0% [----------] +onnections 0 KB 0 KB 0 KB 0.0% [----------] +rnel/debug 0 KB 0 KB 0 KB 0.0% [----------] +l/security 0 KB 0 KB 0 KB 0.0% [----------] /dev 1.47 GB 256 KB 1.47 GB 0.0% [----------] /dev/shm 1.48 GB 472 KB 1.48 GB 0.0% [----------] /var/run 1.48 GB 400 KB 1.48 GB 0.0% [----------] /var/lock 1.48 GB 0 KB 1.48 GB 0.0% [----------] /var/log 1.48 GB 596 KB 1.48 GB 0.0% [----------] +ar/log/apt 1.48 GB 8 KB 1.48 GB 0.0% [----------] /home 839.00 GB 578.13 GB 260.87 GB 68.9% [*******---] +infmt_misc 0 KB 0 KB 0 KB 0.0% [----------] +e/ak/.gvfs 0 KB 0 KB 0 KB 0.0% [----------]
Column headers and progress bars are colored.
di
$ di Filesystem Mount Mebis Used Avail %Used fs Type /dev/sda1 / 56340.2 4436.7 49041.6 13% ext4 /dev/sdb2 /home 859138.9 592008.8 258401.8 70% ext4 tmpfs /var/log 1511.2 0.6 1510.6 0% tmpfs tmpfs /var/log/apt 1511.2 0.0 1511.2 0% tmpfs
GNOME System Monitor
If you prefer graphical gnome-system-monitor :
Disk Usage Analyzer
The Disk Usage Analyzer counterpart for CLI would be ncdu .
For example, du -sh /home/mark will show a summarised usage report in human-readable output for /home/mark .
You can use this command to find out how much space files in your home directory (replace ~/ with / for entire filesystem) and sort by largest files
ncdu
You can also use ncdu (available directly from the Ubuntu repos) which use the ncurses library for showing a graphical overview directly in the terminal.
will analyze disk usage on root partition without crossing filesystem boundaries.
df -h is your best bet (run it in the Terminal).
Note that df -h will show you only remaining space on mounted partitions. Suppose there are NTFS and FAT32 partitions too before running it note that mount all the partitions. If Ubuntu is sole OS on your machine then I don’t see any problem with df .
Get one value that expresses disk utilization in percent
This expression takes all volumes total, available und used space in kB and summarizes the values and finally calculates a total percentage of disk utilization.
df --block-size=1K --output=source,size,used,avail | awk 'NR > 1 END '
Use this at your own risk.
This might possibly fail for your use case. If you want to manually check disk utilization df -h will be totally fine.
Again, this is by no means perfect. If you use this, make sure you test this individually on each machine if the volumes you are interested in are covered and represented with the correct return values.
Full command for custom monitoring expressions (e.g. zabbix)
I wanted to exclude volumes whose usage is smaller than 5GB (5000000 kB) and also exclude some other volumes I had no interest in. This works nicely with zabbix or any other monitoring tool that uses custom expressions.
You can debug this by removing the awk expression and decide what you want to include or not.
This command parameterizes a threshold value with a Makro in Zabbix and looks like this:
df --block-size=1K --output=source,size,used,avail | awk '!/tmpfs|loop|shm|overlay|udev/ && $3 >= && NR > 1 END '
I was then able to set the default threshold () to 0 and increase it to e.g. 5GB for one machine where I had a volume that I didn’t want to track, since it was almost empty.
Анализ дискового пространства в Linux – команды du и ncdu
Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В Linux для таких целей давно существуют утилиты с удобным графическим интерфейсом, предоставляющих наглядную информацию о занятом пространстве в виде диаграмм и графиков. Однако, для системных администраторов, обслуживающих «серьёзные» сервера на основе Linux-систем, графический интерфейс — чрезмерное удовольствие, не оправдывающее затрачиваемых на него ресурсов. Поэтому необходимо уметь обходиться средствами командной консоли, используя специализированные консольные утилиты для анализа дискового пространства, которые доступны в виде двух команд — du и ncdu.
как посмотреть свободное место на диске
Давайте узнаем сколько у нас свободного места в системе. Узнать это можно с помощью команды
как видим у нас диск занят на 97%, и нам необходимо узнать что у нас заняло место. Давайте этим займемся.
Команда du – синтаксис и опции
Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.
Итак давайте узнаем что у нас занимает место
Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий
Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var
и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.
Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:
Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:
du code_text.txt 4 code_text.txt
Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:
Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.
Примеры использования команды du
Узнать общий размер каталога (например с резервными копиями):
$ du -sh ~/home/backups 19G /home/john/backups
Вывод размеров всех подкаталогов (рекурсивно):
$ du -h ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups
$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups
С фильтрацией в зависимости от размера файла/каталога:
$ du -ha -t2M ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 5,0M /home/john/backups
Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:
$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 1,5M /home/john/backups/vhosts
Команда ncdu
Более удобный способ найти что занимает место на диске можно с помощью команды ncdu. Утилита ncdu (Ncurses Disk Usage) способна делать всё то же самое, что и утилита du и даже немного больше. К тому же, она предоставляет пользователю удобный в использовании псевдографический интерфейс, с помощью которого можно быстро перемещаться по дереву системы, оценивая размеры интересующих элементов и папок.
Фактически, ncdu может выполнять функции полноценного браузера системы, при этом имеет большое количество опций, позволяющих настраивать псевдоинтерфейс для разных режимов работы, экспортировать и импортировать результаты работы в файлы, выполнять сортировки, экономить сетевой трафик, если это нужно, когда анализируется удалённая (например по SSH) система.
По-умолчанию, выполнение команды ncdu без параметров, выводит файловый браузер, в котором после предварительного сканирования (с показом прогресса выполнения) отображается список элементов и подкаталогов текущего каталога. По этому списку можно перемещаться, используя клавиши курсора, спускаться в подкаталоги () выходить из них, при этом информация о размере представленных элементах и папок отображается «как на ладони». В строке состояния отображается общий используемый объём (Total disk usage), фактический объём (Apparent size), а также количество файлов и папок для текущего анализируемого каталога.
Основные опции команды ncdu:
Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.
Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.
Примеры команд ncdu
Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /
Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log
А здесь мы видим наши большие логи
Еще несколько полезных примеров.
Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:
$ ncdu -1xo- / | gzip > usage_fs.gz $ zcat usage_fs.gz | ncdu -f-
Сканирование текущей директории, экспорт результатов в лог, и последующий просмотр этих результатов в браузере ncdu:
$ ncdu -o- | tee usage_fs.txt | ncdu -f-
Работа с удалённой системой:
ssh -C username@hostname ncdu -o- / ncdu -f-
В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.