Файловая система Linux /proc — это виртуальная файловая система, которая предоставляет подробную информацию о системе в режиме реального времени, включая процессы, память, процессор и сетевую активность. В отличие от традиционных файловых систем, /proc
не хранит данные на диске. Вместо этого она динамически создаёт файлы и каталоги на основе текущего состояния ядра Linux.
Что такое файловая система /proc
?
Файловая система /proc
— это специальный каталог в Linux, который служит интерфейсом между ядром и пространством пользователя. Он позволяет пользователям и системным администраторам получать системную информацию без использования специализированных инструментов. Читая файлы внутри /proc
, вы можете получить доступ к таким системным данным, как загрузка процессора, состояние памяти, запущенные процессы и многое другое.
Файловая система /proc
полезна для:
- Мониторинг в реальном времени:
/proc
предоставляет актуальную информацию о состоянии системы, такую как загрузка процессора, использование памяти и многое другое. - Инструмент для отладки: помогает устранять проблемы с производительностью и процессами.
- Управление процессами: Отображает информацию об активных процессах.
- Конфигурация сети: Показывает подробную информацию о сети, включая активные подключения.
- Конфигурация: Измените определенные параметры ядра во время выполнения.
- Обучение: Поймите, как ваша система работает под капотом.
Изучение файлов и каталогов в /proc
Каталог /proc
содержит различные файлы и подкаталоги. Некоторые из наиболее важных из них:
Файлы системной информации
Файл | Описание |
---|---|
/proc/cpuinfo |
Подробная информация о процессоре (модель, ядра, скорость) |
/proc/meminfo |
Использование памяти (общее, свободное, буферы) |
/proc/stat |
Системная статистика (процессор, прерывания, переключения контекста) |
/proc/uptime |
Время безотказной работы системы и простоя |
/proc/loadavg |
Средняя загрузка процессора составляет 1, 5 и 15 минут |
/proc/version |
Версия ядра и сведения о сборке |
/proc/cmdline |
Параметры ядра, передаваемые во время загрузки |
Файловые системы и хранилище
Файл | Описание |
---|---|
/proc/mounts |
Перечисляет смонтированные файловые системы и их типы |
/proc/filesystems |
Показывает поддерживаемые типы файловых систем |
/proc/swaps |
Информация об активных пространствах подкачки |
/proc/diskstats |
Статистика дискового ввода-вывода (чтение, запись, время) |
Сетевая информация
Файл | Описание |
---|---|
/proc/net/dev |
Статистика сетевого интерфейса (RX/ TX пакеты, байты, ошибки) |
/proc/net/tcp |
Список активных TCP-соединений (адреса, порты, очереди) |
/proc/net/route |
Отображает таблицу маршрутизации IPv4 ядра |
/proc/net/sockstat |
Статистика сокетов (выделенные, потерянные сокеты) |
/proc/sys/net/ipv4/conf/eth0/ |
Настройки IPv4 для eth0 сетевого интерфейса |
Информация, относящаяся к конкретному процессу
У каждого запущенного процесса в Linux есть каталог /proc
с именем, соответствующим идентификатору процесса (PID). Например, у процесса с PID 1234
будет каталог /proc/1234/
со следующим содержимым:
Файл | Описание |
---|---|
/proc/[PID]/cmdline |
Аргументы командной строки, используемые процессом |
/proc/[PID]/status |
Сведения о процессе (состояние, память, потоки) |
/proc/[PID]/io |
Статистика ввода-вывода процесса |
/proc/[PID]/fd/ |
Откройте файловые дескрипторы, используемые процессом |
/proc/[PID]/net/ |
Детали процесса, связанные с сетью |
Как использовать команды /proc
в Linux
Вы можете использовать базовые команды Linux для изучения /proc
файловой системы:
1. Просмотр информации о процессоре:
cat /proc/cpuinfo
2. Проверьте доступную память:
cat /proc/meminfo
3. Контролируйте время безотказной работы системы:
cat /proc/uptime
4. Список смонтированных файловых систем:
cat /proc/mounts
5. Отображение запущенных процессов:
ls /proc | grep "^[0-9]"
Linux /proc
Таблица с описанием файловой системы
Вот удобная шпаргалка с кратким описанием ключевых файлов и каталогов в файловой системе /proc
:
Файл/Каталог | Описание |
---|---|
cat /proc/cpuinfo |
Сведения о процессоре (модель, ядра, скорость). |
cat /proc/meminfo |
Использование памяти (общее, свободное, используемое). |
cat /proc/uptime |
Время безотказной работы системы и простоя. |
cat /proc/loadavg |
Средняя загрузка системы за 1, 5 и 15 минут. |
cat /proc/version |
Версия ядра и информация о сборке. |
cat /proc/cmdline |
Параметры ядра, передаваемые во время загрузки. |
cat /proc/mounts |
Список смонтированных файловых систем. |
cat /proc/swaps |
Информация об активных пространствах подкачки. |
cat /proc/net/dev |
Статистика сетевого интерфейса. |
cat /proc/net/tcp |
Активные TCP-соединения. |
cat /proc/net/route |
Таблица маршрутизации IPv4 ядра. |
ls /proc/[PID] |
Перечислите информацию о процессе |
cat /proc/PID/cmdline |
Аргументы командной строки для конкретного процесса. |
cat /proc/PID/status |
Подробное состояние процесса. |
cat /proc/PID/io |
Статистика ввода-вывода для процесса. |
ls /proc/PID/fd/ |
Файловые дескрипторы, открытые процессом. |
ls /proc/sys/ |
Настройки ядра, которые могут быть изменены во время выполнения. |
cat /proc/stat |
Просмотр системной статистики |
Распечатайте этот контрольный лист и держите его рядом со своим столом.
Заключение
Файловая система /proc
— важный инструмент для пользователей Linux, системных администраторов и разработчиков. Понимая её структуру и ключевые файлы, вы сможете отслеживать производительность системы, устранять неполадки и получать важную системную информацию в режиме реального времени.
Начните изучение /proc
сегодня, чтобы узнать, как работает ваша система Linux изнутри!