Переводы — Раздел /proc - загляните внутрь вашей системы
Ответьте на вопрос: сколько использовано места в файле подкачке? Каков размер кеша процессора? Сколько модулей ядра сейчас загружено? Сколько подключено дисков и разделов к вашей системе? Если у вас Linux, на все эти вопросы (и не только) простой ответ: взглянуть на директорию /proc. Это золотая жила системной информации, которая ждет своего старателя: пользователя, администратора или обращение скрипта. Пройдемся по /proc и посмотрим сколько ценной информации вы пропустили.
Возможно, главное, что надо знать о каталоге /proc - это необычный каталог с обычными файлами. Скорее, это иллюминатор для наблюдения за системой. Файлы в этой директории не читаются и записываются с винчестера, подобно обычным текстовым документам или, к примеру, файлам mp3, а генерируются ядром Linux динамически. Чтение файла /proc/meminfo, почти всегда даст разные результаты, потому что размер использованной памяти всегда колеблется.
Размещением подобной системной информации в псевдо-файловой системе, такой как proc, разработчики поддерживают философию UNIX "все является файлами". Они делают так, чтобы любой пользователь или программа могли читать данные так же легко, как и обычные текстовые файлы, без использования специальных библиотек или языков. Для нас это значит, что актуальная информация о системе всегда доступна.
Примечание: все файлы, упомянутые здесь должны легко открываться в любом текстовом редакторе по вашему выбору. Для примеров использован вывод cat, стандартной команды терминала.
Если вы использовали каталог /proc раньше, то, скорее всего, вы знакомы с эти файлом. Содержимое файла /proc/cpuinfo дает вам детальное представление о типе процессора и его возможностях.
Другой хорошо известный файл в каталоге /proc это meminfo, к тому же им чрезвычайно удобно пользоваться. В нем есть данные об использовании памяти и файла подкачки; благодаря meminfo скрипты и программы узнают сколько памяти доступно в системе.
Это файл показывает с какими опциями было запущено ядро. Это может быть полезно при проблемах с загрузкой ядра или если вам нужно проверить, какое именно ядро было использовано при загрузке системы.
Малоизвестный, но полезный файл в системе. В нем хранится список (немного расширенный) файловых систем, поддерживаемых вашим ядром. Не все из них вы сможете использовать для хранения данных, некоторые, как и /proc, имеют специальное назначение.
В данном случае, PID это идентификационный номер процесса (process ID) запущенной программы. Каждый процесс имеет уникальный номер, который система использует для идентификации каждого запущенного экземпляра каждой программы. Для примера, когда вы запускаете программу top в терминале, вы видите список запущенных процессов и PID каждого процесса. Каждый процесс имеет собственную поддиректорию в /proc, в которой содержится информация об этом процессе.
Один из самых важных файлов в proc, который содержит полный список активных в настоящий момент модулей ядра. Если вы когда либо сталкивались с проблемами видеодрайвера, то скорее всего знаете, насколько этот файл может быть полезен. Вряд ли вы будете обращаться к нему ежедневно, но modules окажется бесценным для решения проблем.
Этот файл поможет легко и быстро проверить все смонтированные диски. Не все из эти пунктов будут реальными точками монтирования, нужными пользователю. Значимые для вас, скорее всего, найдутся в конце списка.
Каталог proc содержит больше файлов, чем описано тут, так что я буду рад, если прочитавшие статью смогут найти в каталоге /proc дополнительную информацию, полезную для них. Много файлов /proc, используется самой системой, и это может пригодиться для изучении внутренней работы Linux
Оригинал: Using the /proc Filesystem to Examine Your Linux Inner Working
Перевод: Инициативная группа переводчиков welinux.ru: alff31, Zereal, settler. Особая благодарность Zereal за вычитку.
О каталоге /proc
Возможно, главное, что надо знать о каталоге /proc - это необычный каталог с обычными файлами. Скорее, это иллюминатор для наблюдения за системой. Файлы в этой директории не читаются и записываются с винчестера, подобно обычным текстовым документам или, к примеру, файлам mp3, а генерируются ядром Linux динамически. Чтение файла /proc/meminfo, почти всегда даст разные результаты, потому что размер использованной памяти всегда колеблется.
Размещением подобной системной информации в псевдо-файловой системе, такой как proc, разработчики поддерживают философию UNIX "все является файлами". Они делают так, чтобы любой пользователь или программа могли читать данные так же легко, как и обычные текстовые файлы, без использования специальных библиотек или языков. Для нас это значит, что актуальная информация о системе всегда доступна.
Примечание: все файлы, упомянутые здесь должны легко открываться в любом текстовом редакторе по вашему выбору. Для примеров использован вывод cat, стандартной команды терминала.
/proc/cpuinfo
Если вы использовали каталог /proc раньше, то, скорее всего, вы знакомы с эти файлом. Содержимое файла /proc/cpuinfo дает вам детальное представление о типе процессора и его возможностях.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ cat /proc/cpuinfo |
/proc/meminfo
Другой хорошо известный файл в каталоге /proc это meminfo, к тому же им чрезвычайно удобно пользоваться. В нем есть данные об использовании памяти и файла подкачки; благодаря meminfo скрипты и программы узнают сколько памяти доступно в системе.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
$ cat /proc/meminfo |
/proc/cmdline
Это файл показывает с какими опциями было запущено ядро. Это может быть полезно при проблемах с загрузкой ядра или если вам нужно проверить, какое именно ядро было использовано при загрузке системы.
1 2 |
$ cat /proc/cmdline |
/proc/filesystems
Малоизвестный, но полезный файл в системе. В нем хранится список (немного расширенный) файловых систем, поддерживаемых вашим ядром. Не все из них вы сможете использовать для хранения данных, некоторые, как и /proc, имеют специальное назначение.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
$ cat /proc/filesystems |
/proc/PID
В данном случае, PID это идентификационный номер процесса (process ID) запущенной программы. Каждый процесс имеет уникальный номер, который система использует для идентификации каждого запущенного экземпляра каждой программы. Для примера, когда вы запускаете программу top в терминале, вы видите список запущенных процессов и PID каждого процесса. Каждый процесс имеет собственную поддиректорию в /proc, в которой содержится информация об этом процессе.
/proc/modules
Один из самых важных файлов в proc, который содержит полный список активных в настоящий момент модулей ядра. Если вы когда либо сталкивались с проблемами видеодрайвера, то скорее всего знаете, насколько этот файл может быть полезен. Вряд ли вы будете обращаться к нему ежедневно, но modules окажется бесценным для решения проблем.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
$ cat /proc/modules |
/proc/mounts
Этот файл поможет легко и быстро проверить все смонтированные диски. Не все из эти пунктов будут реальными точками монтирования, нужными пользователю. Значимые для вас, скорее всего, найдутся в конце списка.
1 2 3 4 5 6 7 8 9 10 11 12 |
$ cat /proc/mounts |
Заключение
Каталог proc содержит больше файлов, чем описано тут, так что я буду рад, если прочитавшие статью смогут найти в каталоге /proc дополнительную информацию, полезную для них. Много файлов /proc, используется самой системой, и это может пригодиться для изучении внутренней работы Linux
Оригинал: Using the /proc Filesystem to Examine Your Linux Inner Working
Перевод: Инициативная группа переводчиков welinux.ru: alff31, Zereal, settler. Особая благодарность Zereal за вычитку.