← Весь справочник

uname, hostname, uptime, free

Сведения о системе — ядро и архитектура, имя хоста и IP, время работы и нагрузка, свободная память

Четыре коротких команды, с которых начинается знакомство с незнакомым сервером: uname — какое ядро и архитектура, hostname — как называется машина и какие у неё IP, uptime — сколько она работает и насколько загружена, free — сколько памяти занято и доступно. Версию дистрибутива показывает файл /etc/os-release.

Синтаксис

uname [-asnrvmo]
hostname [-s|-f|-d|-i|-I] [новое_имя]
uptime [-p|-s]
free [-h|-m|-g] [-w] [-t] [-s сек [-c раз]]

uname — ядро и архитектура

ОпцияЧто печатаетПример
без опций, -sимя ядраLinux
-nсетевое имя хостаweb01
-rверсия (релиз) ядра6.8.0-45-generic
-vсборка ядра: номер и дата#45-Ubuntu SMP PREEMPT_DYNAMIC …
-mархитектура процессораx86_64, aarch64
-oоперационная системаGNU/Linux
-p / -iтип процессора / платформа (часто unknown или повтор -m)
-aвсё сразу в порядке -s -n -r -v -m -p -i -o

hostname — имя машины

ОпцияЧто делает
без опцийимя хоста (из ядра; при загрузке берётся из /etc/hostname)
-sкороткое имя — до первой точки
-fполное имя (FQDN), через /etc/hosts или DNS
-dDNS-домен — часть FQDN после первой точки
-iIP-адреса, в которые разрешается имя хоста (через /etc/hosts или DNS)
-Iвсе IP-адреса всех сетевых интерфейсов, кроме loopback
-Aвсе FQDN машины
hostname новое_имясменить имя до перезагрузки (нужен root)

Сменить имя навсегда на машине с systemd: hostnamectl set-hostname новое_имя (он же пишет /etc/hostname). Не забудь обновить строку с именем в /etc/hosts.

uptime — время работы и нагрузка

Вывод: 15:22:02 up 19 days, 3:31, 2 users, load average: 0.52, 0.61, 0.70.

ЧастьЧто значит
15:22:02текущее время
up 19 days, 3:31сколько система работает с последней загрузки
2 usersчисло открытых сессий (из utmp)
load averageсредняя нагрузка за 1, 5 и 15 минут
ОпцияЧто делает
-pтолько время работы словами: up 19 hours, 31 minutes
-sдата и время загрузки: 2026-10-12 19:50:58

Load average — среднее число процессов, которые выполняются или ждут процессор (а в Linux ещё и ждут диск). Сравнивай с числом ядер (nproc): на 4 ядрах нагрузка 4.0 — полная загрузка, 8.0 — очередь вдвое больше, чем ядер. Рост первой цифры относительно третьей — нагрузка растёт прямо сейчас. Сырые данные — в /proc/loadavg и /proc/uptime (секунды с загрузки).

free — память

               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       2.6Gi       136Mi        21Mi       1.3Gi       1.2Gi
Swap:          4.0Gi       686Mi       3.3Gi
СтолбецЧто значит
totalвся оперативная память (или swap)
usedзанято: total − available (в procps 4.x, как в Ubuntu 24.04)
freeсовсем не используется
sharedобщая память, в основном tmpfs (/dev/shm, /run)
buff/cacheдисковый кэш и буферы ядра — освобождаются автоматически, когда память нужна программам
availableсколько можно выделить новым программам без ухода в swap — главная цифра
ОпцияЧто делает
-hчеловекочитаемо: Gi, Mi (степени 1024)
-b / -k / -m / -gв байтах / КиБ (по умолчанию) / МиБ / ГиБ
--siстепени 1000 вместо 1024 (с -h — G, M)
-wширокий вывод: buffers и cache отдельными столбцами
-tстрока Total — RAM плюс swap
-s Nобновлять каждые N секунд
-c Nвместе с -s: сделать N замеров и выйти
-Lвсё в одну строку
-vпоказать committed-память и её предел

Подробная картина — в /proc/meminfo.

Примеры

# ядро, архитектура и дистрибутив одним взглядом
uname -srm
grep PRETTY_NAME /etc/os-release

# имя для скрипта: подставить архитектуру в URL загрузки
arch=$(uname -m)
echo "https://example.com/tool-linux-$arch.tar.gz"

# короткое имя хоста и все IP
hostname -s
hostname -I

# когда была загрузка и сколько ядер — для оценки load average
uptime -s
nproc
cat /proc/loadavg

# память в удобных единицах, с итогом
free -h -t

# только доступная память в МиБ — для скриптов
free -m | awk '/^Mem:/ { print $7 }'

# следить за памятью: 5 замеров раз в 2 секунды
free -h -s 2 -c 5

# процент занятой памяти
free | awk '/^Mem:/ { printf "%.0f%%\n", ($2 - $7) / $2 * 100 }'

Подводные камни

  • «Свободно мало» — ещё не проблема. Linux занимает свободную память под дисковый кэш, поэтому free почти всегда небольшой. Смотри на available; тревожный признак — малый available и растущий used в swap.
  • В контейнере free и uptime показывают хост. Лимит памяти контейнера (docker run -m 256m) в free не виден — он в /sys/fs/cgroup/memory.max, а потребление — в /sys/fs/cgroup/memory.current. uname -r и uptime тоже относятся к ядру хоста.
  • uname -r — это ядро, а не дистрибутив. Версию Ubuntu ищи в /etc/os-release или lsb_release -a.
  • hostname новое_имя действует до перезагрузки. Для постоянной смены нужен /etc/hostname или hostnamectl. В контейнере без привилегий смена имени не работает вовсе.
  • hostname -i разрешает имя через /etc/hosts, поэтому может вернуть 127.0.1.1 или другой адрес оттуда, а не адрес сетевой карты. Реальные адреса интерфейсов — hostname -I или ip -br addr.
  • Load average — не проценты. Значение 2.0 на 16 ядрах — почти простой, а на одном — перегрузка. Высокая нагрузка при низком использовании процессора обычно значит процессы, ждущие диск (состояние D в ps).

См. также

top · ps · who-last · df-du · proc · ip