Файловая система /proc — это специальная ФС, присутствующая во многих современных UNIX-системах и содержащая массу полезной информации в текстовом виде, хотя и не всегда понятном рядовым пользователям. Важно помнить, что эта ФС не является физической и файлы, расположенные на ней, не совсем файлы в традиционном понимании. Вернее было бы называть их псевдофайлами, поскольку существуют они только в оперативной памяти компьютера и не хранятся на диске. В этой статье автор приводит небольшой список наиболее часто используемых пользователями файлов файловой системы /proc с описанием хранящегося в них содержимого.
/proc/[pid]
Внутри каталога /proc вы обнаружите множество каталогов, имена которых состоят из цифр. Имя каждого такого каталога соответствует PID (идентификатору процесса) работающего в системе процесса.
- /proc/[pid]/cmdline. В этом файле хранится командная строка, которой был запущен данный процесс;
- /proc/[pid]/cwd. Этот файл представляет собой символическую ссылку на текущий рабочий каталог процесса;
- /proc/[pid]/exe представляет собой символическую ссылку на исполняемый файл, который инициировал запуск процесса;
- /proc/[pid]/status содержит информацию о состоянии процесса, его имени, родительском процессе, а также различную статистическую информацию, например об используемой памяти.
/proc/cmdline
В этом файле содержатся все аргументы, переданные ядру в момент старта системы.
/proc/cpuinfo
Здесь вы можете получить подробную информацию о процессорах, работающих в вашей системе: производитель, имя, рабочую частоту, поддерживаемые технологии, размер кэша и т. п.
/proc/filesystems
Этот файл содержит перечень всех поддерживаемых ядром типов файловых систем. Строки, начинающиеся с 'nodev', указывают на то, что ФС не является «физической». Например, такими системами являются сетевые файловых системы, вроде NFS, или, например, псевдо-ФС, например /proc.
/proc/loadavg
Хранит информацию о загрузке системы. Первые три поля хранят ту же информацию, которую вы получаете о средней загрузке системы при помощи команды uptime.
Четвёртое поле состоит из двух значений, разделённых слэшем. Первая часть значения поля показывает количество выполняющихся в данный момент процессов/потоков. Это значение не может быть больше количества присутствующих в вашей системе CPU. Вторая часть поля отображает количество процессов присутствующих в системе.
Значение пятого поля содержит ID последнего запущенного в системе процесса. Обратите внимание, что если вы просматриваете содержимое /proc/loadavg при помощи, например,cat, то вы увидите значение PID именно программы cat.
/proc/meminfo
В этом файле хранится информация об использовании памяти системой. Именно отсюда программа free берёт информацию для вывода.
/proc/net
В этом каталоге хранится информация, касающаяся работы сетевых устройств и протоколов:
- /proc/net/arp содержит ARP-таблицу;
- /proc/net/dev для каждого сетевого интерфейса хранит статистические данные, такие как количество принятых/переданных пакетов, ошибок и т. п.;
- /proc/net/route содержит таблицу маршрутизации в шестнадцатиричном виде;
- /proc/net/wireless хранит статистические данные о работе беспроводных интерфейсов.
/proc/swaps
В этом файле вы найдёте информацию обо всех используемых в системе разделах/файлах подкачки, их приоритетах, объёме и используемом пространстве.
/proc/sys/kernel/hostname
Этот файл содержит хостнейм вашей системы. Вы можете изменить его, просто записав в этот файл другое значение при помощи echo.
/proc/sys/kernel/threads-max
Из этого файла вы можете узнать, какое максимальное количество процессов к одновременному существованию допускается в вашей системе. Сравните это значение со значением четвёртого поля из файла /proc/loadavg.
/proc/sys/vm/swappiness
Как это уже освещалось в одной из статей, значение в этом файле регулирует поведение системы относительно частоты сброса данных из оперативной памяти в своп. Чем выше это значение — тем активнее система будет свопиться.
/proc/uptime
Значение из этого файла состоит из двух полей. Значение из первого поля в секундах отражает продолжительность работы системы с момента её запуска, а значение второго — длительность простоя системы. При помощи, например, следующей команды вы можете узнать в процентном выражении, сколько времени простаивает ваша система:
$ echo `cut -d ' ' -f 2 /proc/uptime` / `cut -d ' ' -f 1 /proc/uptime` '* 100' | bc -l
/proc/vmstat
Содержит информацию об использовании виртуальной памяти.
/proc/sys/net/ipv4/conf/default/forwarding
Значением в этом файле включается/отключается форвардинг пакетов между сетевыми интерфейсами. Если вы собираетесь использовать вашу систему в качестве маршрутизатора, то при загрузке компьютера в этот файл должна помещаться единица. В противном случае (что есть по умолчанию) там должен быть ноль.
Источник petur.eu