Как узнать свободное место на диске в Linux

Сегодня в статье рассмотрим, как получить информацию об оперативной памяти (RAM) в Linux.

Какая альтернатива?

Если использование выделенного раздела подкачки нецелесообразно, или вы просто хотите попробовать альтернативу и не тратить деньги на дополнительную ОЗУ, то вместо этого вы можете использовать файл подкачки функционирует аналогично разделу, хотя у него есть дополнительное преимущество для пользователей, которые могут контролировать размер без изменения размера тома. Кроме того, то, как будет использоваться выделенный обмен, или фактор «swappiness», также можно контролировать, изменяя значение свопинга. Создание свопов Мы проведем базовый пример создания файла подкачки 1 создайте файл, введя в свой терминал следующую команду:sudo fallocate -l 1G /mnt/Если у вас нет установленного fallocate, запустите более традиционную команду:sudo dd if=/dev/zero of=/mnt/ bs=1024 count=1048576Теперь отформатируйте файл подкачки:sudo mkswap /mnt/Добавьте swap в систему как файл подкачки:

sudo swapon /mnt/Откройте «/etc/fstab» в своем любимом текстовом редакторе и добавьте это до конца, чтобы сделать изменение постоянным:/mnt/ нет swap sw 0 0Вышеуказанная строка разбивается следующим образом:

  • «/Mnt/» — это имя устройства и файла
  • «Swap» — это определяет точку монтирования
  • «Swap sw» — это показывает, что файл подкачки активируется swapon (см. Ниже)
  • «0 0» — это параметры, используемые программой дампа и команда fsck соответственно

В этот момент, если вы хотите изменить значение «swappiness», вы можете отредактировать «/etc/» так же, как вы отредактировали fstab выше. Значение swappiness обычно равно 60; чем выше число (до 100), тем более агрессивный своп.Необходимая сумма зависит от того, как система работает и как используется память. Пользователи должны экспериментировать, чтобы найти то, что лучше для них. Если значение выше установлено на ноль, тогда файл подкачки будет использоваться только тогда, когда система исчерпала память. Значения выше нуля позволят системе заменить незанятые процессы и освободить память для кэширования диска; это может потенциально улучшить общую производительность , проверьте, активен ли своп:sudo swapon -sПросто перезагрузитесь, и у вас будет рабочий файл подкачки, а не раздел подкачки. Какой вариант лучше для вас? Используете ли вы раздел или используете выделенный файл? Сообщите нам в комментариях, а также сообщите нам о любых альтернативных методах, которые могут возникнуть для создания файла.

Примеры команд df — проверка свободного места на диске

Введите df -h или df -k для отображения свободного места на диске:

$ df -h

ИЛИ

$ df -k

Выходы:

Filesystem Size Used Avail Use% Mounted on /dev/sdb1 20G 49% /

Утилита df отображает статистику о количестве свободного места на диске в указанной файловой системе, частью которой является файл программ. Значения отображаются в 512 байтах на количество блоков. Опция -H называется «удобочитаемой для человека». Он использует суффиксы устройства: байты, килобайты, мегабайты, гигабайты, терабайты и петабайты, чтобы уменьшить количество цифр до четырех или менее, используя базу 10 для размеров, то есть вы видите 30G (30 гигабайт).

Оптимизация SWAP

Оптимизация сводится к настройке двух параметров.

Параметр ядра swappiness

Параметры от 0 до 100. При значениях близких к нулю, ядро не переносит данные на диск, если в этом нет крайней необходимости.

Определение используемого параметра swappiness:

cat /proc/sys/vm/swappiness = вывод команды = 30

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 10:

sysctl -w = вывод команды =

параметр -w для сохранения этой настройки после перезагрузки.

Параметр ядра vfs_cache_pressure

Показывает системе какое время нужно хранить открытые. Значение по умолчанию 100. При значениях близких к нулю, ядро будет держать их в памяти как можно дольше.

Определение используемого параметра vfs_cache_pressure:

cat /proc/sys/vm/vfs_cache_pressure = вывод команды= 100

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 1000:

sysctl -w _cache_pressure=1000 = вывод команды = _cache_pressure=1000

Значительное увеличение vfs_cache_pressure за пределы 100 может отрицательно сказаться на производительности. Для восстановления кода необходимо использовать различные блокировки для поиска свободных каталогов и объектов inode. При vfs_cache_pressure = 1000 он будет искать в десять раз больше свободных объектов, чем есть.

Как создать и подключить файл подкачки SWAP

Далее, в работе используется командная строка SSH. Инструментарий: Far Manager или Putty. Для примера приводятся команды из под root. Если Вы работаете не под root, перед командами задавайте префикс sudo

Проверка наличия свопа в системе

Для начала, нужно убедиться, что своп ещё не подключен:

swapon -s

Если команда выдала пустой результат или что-то навроде:

Filename Type Size Used Priority

— значит, своп, скорее всего отсутствует.

Дополнительно проверим командой:

free -m

Если в таблице в строке swap стоит 0, значит своп отсутствует.

Проверка наличия свободного места на диске

Теперь, надо проверить, сколько свободного места есть на диске:

df -h

В результате, мы увидим что-то подобное:

[email protected]:~# df -h Файловая система Размер Использовано Дост Использовано% Cмонтировано в /dev/vda1 30G 20G 9,0G 66% / udev 10M 0 10M 0% /dev tmpfs 403M 41M 362M 11% /run tmpfs 1006M 336K 1005M 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1006M 0 1006M 0% /sys/fs/cgroup tmpfs 1006M 492K 1005M 1% /tmp

Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.

Какого размера создать swap

Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.

Создание файла SWAP

Быстрый способ Используем fallocate:

fallocate -l 4G /swapfile

Результатом будет пустая строка, это нормально. В отличие от dd, результат будет получен почти сразу, и я рекомендую именно его.

</pre>

Традиционный, медленный способ

dd if=/dev/zero of=/swapfile bs=1G count=4

Синтаксис команды простой:

</pre>

  • dd — команда предназначена для того, чтобы что-то куда-то копировать побайтово;
  • if=/dev/zero — указывает на источник, т.е. на то, откуда копируем, в данном случае из /dev/zero — это специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов;
  • of=/swapfile — указывает путь назначения, куда копируем данные;
  • bs=1G — количество байт, которые будут записаны за раз. В нашем случае, 1 гигабайт. Обозначения: G — гигабайт, M — мегабайт, K — килобайт, и так далее;
  • count=4 — сколько блоков размером с bs будет создано, в нашем случае 4.

Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске.

</ul></dl>

Теперь, когда файл создан, проверим результат:

ls -lh /swapfile

В результате увидим:-rw-r—r— 1 root root Jul 07 16:16 /swapfile Как видим, файл создался верно и с нужным объёмом.

Как подключить SWAP файл

Для начала, ограничим права доступа к вновь созданному файлу.

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

chmod 600 /swapfile

Проверим результат:

ls -lh /swapfile

В результате, мы должны увидеть подобное:-rw——- 1 root root Jul 07 16:16 /swapfile Права прописаны верно.

Теперь нужно сделать из swapfile файл подкачки:

mkswap /swapfile

В результате, увидим примерно следующее:Setting up swapspace version 1, size = 4193300 KiB no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544

Теперь, файл готов в роли свопа. Подключим его к системе:

swapon /swapfile

swapon: /swapfile: swapon failed: Operation not permitted

Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использовать IHOR, сервера от 100 рублей в месяц и виртуализация KVM позволяют включать SWAP.

Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:

swapon -s

Filename Type Size Used Priority /swapfile file 4193300 0 -1

Своп также будет виден в стандартных командах:

free -m

total used free shared buffers cached Mem: 2010 1887 122 0 5 30 -/+ buffers/cache: 827 1183 Swap: 4095 0 4095

Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.

Добавление свопа в автозагрузку

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

echo «/swapfile none swap sw 0 0» >> /etc/fstab

nano /etc/fstab

Читайте также:  Обзор и установка дистрибутива Linux Debian 9 Stretch