Centos 7 сколько места на диске
Перейти к содержимому

Centos 7 сколько места на диске

  • автор:

Как посмотреть место на диске в CentOS, Debian/Ubuntu

Рекомендуемый хостинг:

В Linux (Debian, Ubuntu, CentOS и т.д) для этого есть несколько универсальных утилит.

Основная утилита для анализа места на диске — это само собой df.

Самый распространенный вариант применения:
df -h

он показывает общее место на каждом из подмонтированных дисков (Столбец «Size»), занятое место в мегабайтах/гигабайтах и процентах (столбцы «Used» и «Use%») а также сколько осталось свободного места (Столбец «Avail»)

[root@server ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda3 58G 6,3G 48G 12% / tmpfs 2,0G 0 2,0G 0% /dev/shm /dev/xvda1 194M 117M 68M 64% /boot
Второй очень важный вариант использования:
df -i

аргумент «-i» указывает на необходимость вывода статистики по Inode («инодам»). Проще говоря, сколько всего файлов и папок можно создать на диске (Inodes), сколько уже создано (IUsed, IUse%), сколько ещё можно создать (IFree):

[root@server ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda3 3726848 309625 3417223 9% / tmpfs 181859 1 181858 1% /dev/shm /dev/xvda1 51200 62 51138 1% /boot
Как узнать, какая папка занимает больше всего места?

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

Ещё вариант сделать то же самое вручную (получить список всех подпапок начиная от текущего положения отсортированных по убыванию их объёма в мегабайтах):

du -shm *| sort -nr

то же самое, но без сортировки. В некоторых случаях бывает удобнее:

Centos 7 сколько места на диске

18.11.2017 08:09:00

Часто требуется узнать сколько свободного места осталось на дисках на сервере или сколько занимает конкретная папка места на жестком диске. Для этого мы воспользуемся двумя программами: 1) df — покажет сколько места на дисках, 2) ncdu — покажет в удобном виде размеры папок.

Утилита DF. Свободное место на диске

DF встроенная утилита и используется начиная с минимальных версий Centos. Правда она не показывает все необходимые данные. Мы будем использовать данную программу с ключом «-h», который покажет данные в удобном для нас виде (в мегабайтах, гигабайтах).

df -h

Согласитесь не очень наглядно, не понятно что именно занимает столько места. Для этого мы поставим утилиту ncdu.

Установка ncdu и работа в ней

Установим утилиту командой

yum install ncdu

Во время установки система запросит подтвердить установку и импорт GPG ключа, мы соглашаемся набрав букву «y» и нажав «Enter».
Утилита запускается с параметром ncdu
Если мы хотим увидеть размер всех папок и файлов в корне, то указываем команду

 ncdu /


Так мы видим какая папка сколько занимает в иерархическом виде, и с помощью стрелок на клавиатуре можем переходить по папкам.
Для вывода подсказок по кнопкам, нажмите кнопку «?». В программе вы можете отсортировать по имени (кнопка «n»), по размеру (кнопка «s»), удалять файлы и папки (кнопка «d») и другие действия.
Для выхода из программы нажимаем «q».

Следующая новость Centos 7. Делаем резервную копию базы данных и ее восстановление через SSH

Как узнать общий объем физической памяти (RAM) в Linux

image

Иногда возникает необходимость проверить общий объём памяти сервера, на котором запущена ОС Linux, или же данные о памяти требуются для сценариев командной оболочки. К счастью, есть множество инструментов, которые нам в этом помогут. В этом руководстве приводятся различные команды и утилиты для определения общего объёма физической памяти.

2. Команда free

free — самая простая в использовании команда из подборки. С её помощью выводятся данные по использованию физической и SWAP-памяти — по умолчанию в стандартном потоке вывода. Команда free — один из самых распространённых способов быстро проверить объём оперативной памяти, поскольку она доступна в большинстве дистрибутивов Linux . Достаточно ввести её в терминале без всяких флагов:

$ free
 total used free shared buff/cache available Mem: 8021048 1320432 5689744 335556 1010872 6121932 Swap: 0 0 0

Как видите, объём физической памяти указан в байтах. Однако, эти же данные можно вывести в удобочитаемом формате, добавив флаг -h или –human :

$ free -h
 total used free shared buff/cache available Mem: 7.6Gi 1.3Gi 5.4Gi 318Mi 985Mi 5.8Gi Swap: 0B 0B 0B

Как видно из полученных результатов, общий объём оперативной памяти составляет 7,6 ГБ. Есть и другие опции, с помощью которых можно привести выводимые данные в нужный формат: –kilo, –mega, –Giga и так далее. Ещё есть интересная опция -s :

$ free -h -s 5

Флаг -s обозначает секунды, и в этом случае команда free выведет данные об использовании оперативной памяти за каждые пять секунд. Опция особенно полезна, если отслеживать использование памяти нужно с заданным интервалом . Останавливается процесс сочетанием горячих клавиш Ctrl +C.

3. Команда vmstat

Как и команда free , vmstat (статистика виртуальной памяти) также доступна в большинстве дистрибутивов Linux. По умолчанию при выполнении команды vmstat выводятся данные о свободной памяти, памяти используемой в качестве буферов и кэша, SWAP-памяти, использовании процессора, блочных устройств и системы в целом:

$ vmstat -w
--procs-- -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 5352900 56816 1053708 0 0 162 73 328 1087 18 4 78 0 0

Флаг -w или –wide позволяет отобразить результат в развёрнутом, удобном для чтения формате. Поскольку нас интересует общий объём оперативной памяти, добавим флаг -s или –stats :

$ vmstat -s
 8021048 K total memory 1564516 K used memory 305336 K active memory 1962636 K inactive memory 5391588 K free memory 58224 K buffer memory 1006720 K swap cache 0 K total swap 0 K used swap 0 K free swap 76393 non-nice user cpu ticks 5 nice user cpu ticks 14122 system cpu ticks 337834 idle cpu ticks 1790 IO-wait cpu ticks 1463 IRQ cpu ticks 614 softirq cpu ticks 0 stolen cpu ticks 617253 pages paged in 310410 pages paged out 0 pages swapped in 0 pages swapped out 1426200 interrupts 4722588 CPU context switches 1625563254 boot time 1949 forks 

Первая запись в результатах — общий объём памяти RAM. Если нужны не все данные, можно использовать grep для получения только требуемой записи:

$ vmstat -s | grep -i 'total memory' | sed 's/ *//'
8021048 K total memory

4. Команда top

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

top - 15:18:13 up 57 min, 1 user, load average: 3.40, 3.26, 2.04 Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie %Cpu(s): 17.2 us, 3.6 sy, 0.0 ni, 77.5 id, 0.3 wa, 0.9 hi, 0.5 si, 0.0 st MiB Mem : 7833.1 total, 4665.9 free, 1782.3 used, 1384.8 buff/cache top - 15:18:49 up 57 min, 1 user, load average: 2.61, 3.08, 2.03 Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie top - 15:18:58 up 58 min, 1 user, load average: 2.45, 3.02, 2.02 MiB Swap: 0.0 total, 0.0 free, 0.0 used. 5324.5 avail Mem

Вверху, рядом с полем Mem , приводятся данные по физической памяти: общий объём RAM 7833 МБ.

5. Утилита dmidecode

Утилита dmidecode в удобочитаемом формате выводит сведения об аппаратных ресурсах: спецификации, серийные номера, версии BIOS. Данные по оборудованию извлекаются из таблицы DMI . С помощью утилиты можно получить ценные сведения о системе, например, максимальный объём поддерживаемой памяти.

5.1. Установка dmidecode

Утилита dmidecode не на всех дистрибутивах Linux установлена по умолчанию , так что начнём с её установки. Установить dmidecode можно непосредственно из репозитория дистрибутива с помощью менеджера пакетов.
В дистрибутивах, основанных на Ubuntu, возможна установка пакета с помощью инструмента apt :

# apt install dmidecode

Для RHEL, Fedora и CentOS можно использовать yum :

# yum install dmidecode

Если дистрибутив основан на Arch, с этой задачей справится pacman :

# pacman -Sy dmidecode

5.2. Использование dmidecode

Как только установка завершена, выполним команду dmidecode из терминала:

# dmidecode

Чтобы выполнить dmidecode , нам потребуются корневые привилегии . После выполнения мы получим подробные сведения об аппаратных ресурсах. Будет много данных по оборудованию, но нас интересует только общий объём памяти.

К счастью, мы можем добавить к команде опцию –type и указать интересующие нас компоненты: BIOS, память, процессор, температуру и так далее. Опция –type требует введения номера типа записи DMI.

В нашем случае это запись DMI о памяти, и получить к ней доступ можно, введя следующие значения: 5, 6, 16, 17, 18, 19, 20, 21 и 22. Из этого перечня выбираем 19, поскольку именно так обозначаются устройства оперативной памяти, подключённые к материнской плате:

# dmidecode --type 19
# dmidecode 3.3 Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Handle 0x0049, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x001FFFFFFFF Range Size: 8 GB Physical Array Handle: 0x0044 Partition Width: 1

Из результатов следует, что у нас только один модуль RAM размером 8 ГБ, установленный в один из слотов для оперативной памяти.

6. Виртуальный файл /proc/meminfo

Директория /proc относится к особому типу директорий, содержащих виртуальные файлы. Эти виртуальные файлы позволяют заглянуть в ядро, процессы и конфигурации Linux . Они не занимают места на диске, поскольку создаются непосредственно в момент обращения к ним. Для чтения некоторых требуются корневые привилегии.

В директории /proc есть особый файл под названием meminfo , прочесть который можно командами cat и less . Среди прочих полезностей там содержатся и данные об объёме физической памяти . Давайте заглянем в файл /proc/meminfo с помощью cat :

$ cat /proc/meminfo

В примере использована команда cat — удобная утилита для чтения из файла или стандартного потока ввода. При выполнении эта команда прочтёт файл /proc/meminfo и представит обширные сведения о физической памяти . Нас интересует только общий объём оперативной памяти, который указан в первых трёх строках результата.

$ cat /proc/meminfo | head -n 3
MemTotal: 8021048 kB MemFree: 4542960 kB MemAvailable: 5155668 kB

Мы ограничили вывод интересующими нас строками с помощью команды head . В сочетании с аргументом -n команда head задаёт количество строк результата. Размер памяти приводится в килобайтах и даёт понимание общего объёма физической памяти, а также свободного и доступного объёма.

Предположим, что мы пишем скрипт для командной оболочки Bash, и в нём фигурирует объём физической памяти RAM. Чтобы его туда добавить, можем выполнить чтение файла /proc/meminfo , а затем с помощью grep извлечь общий объём памяти.

#!/bin/bash total_ram () < local totalram=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') echo $totalram >ram_size=$(total_ram) echo "Total RAM: $ram_size kB" 

Теперь сохраним скрипт и сделаем его исполняемым:

$ chmod +755 totalram.sh $ ./totalram.sh Total RAM: 8021048 kB

7. Использование диспетчеров задач с графическим пользовательским интерфейсом

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

7.1. GNOME System Monitor

GNOME System Monitor входит в состав среды рабочего стола GNOME как диспетчер задач по умолчанию . А пользователи другой рабочей среды с лёгкостью могут найти пакет gnome-system-monitor в репозитории с дистрибутивом. После установки можно запустить диспетчер из командной строки:

$ gnome-system-monitor

image

Среди сведений на вкладке Resources найдётся и общий объём памяти.

7.2. KSysGuard

KSysGuard — диспетчер задач, разработанный сообществом KDE как дефолтный для свободной среды рабочего стола KDE . Аналогичным образом, если вы используете другую рабочую среду, его несложно установить в системе с помощью пакета ksysguard в соответствующем репозитории. Запустить его после установки можно командой ksysguard :

$ ksysguard

image

Открыв ksysguard , перейдём на вкладку System Load . Данные о памяти там представлены вместе с наглядным графиком.

8. Заключение

В этой статье мы рассмотрели различные команды и инструменты, с помощью которых можно выяснить объём физической памяти системы под управлением Linux.

Мы изучили базовую команду free и её альтернативу vmstat . Затем узнали, как с помощью команды top можно получить различные системные данные. Также взглянули на утилиту dmidecode и выяснили, как извлечь данные о физической памяти из таблицы DMI.

Ознакомились с директорией /proc и научились читать файл /proc/meminfo , чтобы выяснить общий объём памяти RAM и использовать его в скрипте для оболочки Bash. И наконец, перечислили пару графических диспетчеров задач, показав, как с их помощью просмотреть объём и статистику использования оперативной памяти.

НЛО прилетело и оставило здесь промокод для читателей нашего блога:

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .

  • FirstVDS
  • Linux
  • cистемное администрирование
  • Блог компании FirstVDS
  • Настройка Linux
  • Системное администрирование
  • Серверное администрирование

CentOS 7: Get total and remaining hard disk capacity

I am making a simple script to display some information about my CentOS 7 PC, similar to the System Information application on Windows. I wanted to know if there is a command which will display the total and remaining capacity of my virtual disk? Currently, I’m aware of the df command which I have used in this configuration to give me the remaining capacity:

df -Ph | grep sda1 | awk '' | tr -d '\n' 

I am also aware of the lsblk command, which does show the total size of my virtual disc.

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 59G 0 part ├─centos-root 253:0 0 37G 0 lvm / ├─centos-swap 253:1 0 3.9G 0 lvm [SWAP] └─centos-home 253:2 0 18.1G 0 lvm /home sr0 11:0 1 1024M 0 rom 

I can also filter the lsblk command via: lsblk -o NAME,SIZE which gives:

NAME SIZE sda 60G ├─sda1 1G └─sda2 59G ├─centos-root 37G ├─centos-swap 3.9G └─centos-home 18.1G sr0 1024M 

I would like to know how I can filter the output to just show 60G which is the capacity of sda ? I don’t know anything about awk but I have seen it pop-up is many other responses to similar questions, so maybe this is something I need to look further into.

asked Oct 6, 2022 at 17:41
83 10 10 bronze badges

2 Answers 2

lsblk -no SIZE /dev/sda | head -1 

With lsblk -n the headings will not be printed. So if you run:

lsblk -no SIZE /dev/sda 

The output will be something like this:

970.5M 970.4M 

The first value 970.5M is the total disk capacity of /dev/sda . With head -1 it will get only the first line of the output, in this case 970.5M . The another value 970.4M is the capacity of /dev/sda1 (in my case).

lsblk -no PATH,NAME,SIZE /dev/sda #Output: /dev/sda sda 970.5M /dev/sda1 └─sda1 970.4M 

You can use the command above to specify any partition. For example, If I want to get information about /dev/sda1 and /dev/nvme0n1p1 I should use:

lsblk -no PATH,NAME,SIZE /dev/nvme0n1p1 /dev/sda1 #Output: /dev/sda1 sda1 970.4M /dev/nvme0n1p1 nvme0n1p1 260M 

Regarding your question: how I could display just the result of sda3 you can use this:

lsblk -no SIZE /dev/sda3 

answered Oct 6, 2022 at 18:42
Edgar Magallon Edgar Magallon
4,789 2 2 gold badges 12 12 silver badges 27 27 bronze badges

Hello @user:414186 thank you for your response. This has been helpful and definitely achieved what I need. I’m looking to expand and show what the remaining space on the disk. When I run the lsblk no NAME,SIZE /dev/sda command, I get: sda1 238.5G` and further down the tree sda3 237.3G . Do you happen to known how I could display just the result of sda3

Oct 12, 2022 at 15:54
@Hymcode sure, I’ll update the answer.
Oct 12, 2022 at 16:37

To get TOTAL DISK CAPACITY one other way to do it you might find useful is with smartctl .

smartctl --scan smartctl --xall /dev/sda # in my case a scan results in Smartctl open device: /dev/sda failed: DELL or MegaRaid controller, please try adding '-d megaraid,N' # therefore for me a smartctl -d megaraid,0 --all /dev/bus/0 shows === START OF INFORMATION SECTION === Vendor: TOSHIBA Product: KPM5WRUG3T84 Revision: B322 Compliance: SPC-4 User Capacity: 3,840,755,982,336 bytes [3.84 TB] Logical block size: 512 bytes Physical block size: 4096 bytes LU is resource provisioned, LBPRZ=1 Rotation Rate: Solid State Device Form Factor: 2.5 inches Logical Unit id: 0x58ce38ee20abca2d Serial number: Device type: disk Transport protocol: SAS (SPL-3) Local Time is: Wed Oct 12 14:26:53 2022 EDT SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported Read Cache is: Enabled Writeback Cache is: Enabled === START OF READ SMART DATA SECTION === SMART Health Status: OK Percentage used endurance indicator: 4% Current Drive Temperature: 29 C Drive Trip Temperature: 70 C Manufactured in week 33 of year 2019 Elements in grown defect list: 0 

a smartctl -d megaraid,0 —all /dev/bus/0 | grep Capacity | awk » extracts 3,840,755,982,336 which you could make use of.

Check man smartctl for options on how to maybe have it all done with an option to smartctl instead of piping to grep and to awk.

But smartctl won’t tell you used or remaining capacity, but I think it would be a good way to get a trustworthy total disk capacity number.

Also a lshw -class disk and lshw -short -C disk might interest you:

lshw -short -C disk H/W path Device Class Description ========================================================= /0/2/0/2.0.0 /dev/sda disk 3840GB PERC H740P Adp /0/2/0/2.1.0 /dev/sdb disk 19TB PERC H740P Adp 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *