Linux
2019-08-02
Aliases: procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5)
man-pages-ru
Russian man pages from the Linux Documentation Project
manpages
Manual pages about using a GNU/Linux system
man-pages
Linux kernel and C library user-space interface documentation
ИМЯ
proc - псевдо-файловая система с информацией о процессах
ОПИСАНИЕ
Файловая система proc — это псевдо-файловая система, которая предоставляет интерфейс к структурам данных ядра. Обычно, она монтируется в /proc и это выполняется системой автоматически, но также можно монтировать её вручную с помощью команды:
mount -t proc proc /proc
Большинство файлов файловой системы proc доступны только для чтения, но есть и доступные на запись, через которые можно изменять переменные ядра.
Параметры монтирования
Файловая система proc поддерживает следующие параметры монтирования:
hidepid=n (начиная с Linux 3.3) | |||||||
Позволяет управлять доступом к информации в каталогах /proc/[pid]. В аргументе n может указываться одно из следующих значений:
|
|||||||
gid=gid (начиная с Linux 3.3) | |||||||
Задаёт ID группы, члены которой могут просматривать информацию о процессах в обход запрещению hidepid, (т. е. пользователям в этой группе кажется, что /proc смонтирована с hidepid=0). Эту группу нужно использовать вместо помещения непривилегированных пользователем в файл sudoers(5) для тех же целей. |
Обзор
В каталоге /proc существуют следующие общие группы файлов и подкаталогов:
Всё перечисленное выше далее будет описано подробней.
Подкаталоги /proc/[pid] | |
Каждый из этих подкаталогов включает файлы и подкаталоги, которые содержат информацию о процессе с соответствующим ID процесса. | |
В каждом каталоге /proc/[pid] есть подкаталог task, включающий подкаталоги вида task/[tid], которые содержат информацию о каждой нить процесса, где tid — ID нити ядра. | |
Подкаталоги /proc/[pid] видимы при обходе /proc с помощью getdents(2) (и поэтому они видимы программам подобным ls(1), которые используются для просмотра содержимого /proc). | |
Подкаталоги /proc/[tid] | |
В каждом из этих подкаталогов содержатся файлы и подкаталоги с информацией о нити с соответствующим ID нити. Содержимое этих каталогов такое же как у соответствующих каталогов /proc/[pid]/task/[tid]. | |
Подкаталоги /proc/[tid] не видимы при обходе /proc с помощью getdents(2) (и поэтому они не видимы программам подобным ls(1), которые используются для просмотра содержимого /proc). | |
/proc/self | |
Когда процесс обращается по этой символьной ссылке, она указывает на каталог /proc/[pid] самого процесса. | |
/proc/thread-self | |
Когда нить обращается по этой символьной ссылке, она указывает на каталог /proc/self/task/[tid] самого процесса. | |
/proc/[a-z]* | |
Другие файлы и подкаталоги в /proc предоставляют информацию о системе. |
Файлы и каталоги
В следующем списке подробно описаны многие файлы и каталоги в иерархии /proc.
/proc/[pid] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эти числовые подкаталоги соответствуют работающим процессам; имя подкаталога соответствует идентификатору процесса. Каждый подкаталог /proc/[pid] содержит псевдо-файлы и каталоги, описываемые далее. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файлы в каждом каталоге /proc/[pid], обычно, принадлежат действующему идентификатору пользователя и группы процесса. Однако в целях безопасности, владельцем устанавливается root:root, если у процесса атрибут «dumpable» установлен в значение, отличное от 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До Linux 4.11, root:root означал «глобальный» идентификатор суперпользователя и группы (т. е., UID 0 и GID 0 в первоначальном пользовательском пространстве имён). Начиная с Linux 4.11, если процесс находится не первоначальном пользовательском пространстве имён, имеющий корректное отображение идентификатор 0 пользователя (группы) внутри пространства имён, то владельцем (группой) файлов в /proc/[pid] вместо этого будет тот же идентификатор суперпользователя (группы) как у пространства имён. Это означает, что внутри контейнера для контейнерного «суперпользователя» всё будет работать как ожидается. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Атрибут процесса «dumpable» может измениться по следующим причинам:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сброс атрибута «dumpable» в 1 возвращает владение файлами /proc/[pid]/* действующим UID и GID процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файлы в этом катале предоставляют программный интерфейс к модулям безопасности. Содержимое этого каталога представляет собой файлы для чтения и записи атрибутов безопасности. Этот каталог был добавлен для поддержки SELinux, но данный программный интерфейс может использоваться для поддержки других модулей безопасности. Как работать с этими файлами показано на примере с SELinux ниже. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог доступен только, если ядро собрано с параметром CONFIG_SECURITY. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/current (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле представлены текущие атрибуты безопасности процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В SELinux этот файл используется для получения контекста безопасности процесса. До Linux 2.6.11 этот файл нельзя было использовать для задания контекста безопасности (запись была запрещена), так как ограничение безопасности SELinux процесса изменяется при execve(2) (смотрите описание /proc/[pid]/attr/exec ниже). Начиная с Linux 2.6.11 в SELinux это ограничение снято и началась поддержка операций «установки» посредством записи в эту ноду, если это допускается политикой, хотя использование данной операции подходит только для приложений, которым можно доверять управление любым желаемым разделением между старым и новым контекстами безопасности. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До Linux 2.6.28 в SELinux нитям не разрешалось внутри многонитевого процесса задавать свой контекст безопасности через эту ноду, так как это привело бы к нестыковке контекстов безопасности нитей, использующи[ общее адресное пространство. Начиная с Linux 2.6.28 в SELinux это ограничение снято и началась поддержка поддержка операций «установки» для нитей внутри многонитевого процесса, если новый контекст безопасности привязан к старому контексту безопасности, где связь определена политикой и гарантируется, что новый контекст безопасности является поднабором прав старого контекста безопасности. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Другие модули безопасности могут также добавить поддержку операций «установки» через запись в эту ноду. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/exec (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле представлены атрибуты, назначаемые процессу при последующем execve(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В SELinux это необходимо для поддержки перехода роль/домен и execve(2) является предпочтительным местом выполнения таких изменений, так как предлагает лучший контроль над инициализацией процесса с новой меткой безопасности и наследуемым состоянием. В SELinux этот атрибут сбрасывается при execve(2) и новая программа получает поведение по умолчанию для всех вызовов execve(2), которые она может сделать. В SELinux процесс может задать только свой атрибут в /proc/[pid]/attr/exec. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/fscreate (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле представлены атрибуты для назначения файлам, создаваемым последующими вызовами open(2), mkdir(2), symlink(2) и mknod(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELinux создаёт этот файл для поддержки создания файла (с помощью вышеупомянутых системных вызовов) в безопасном состоянии, исключая, таким образом, риск неправомерного доступа, который можно получить в промежутке между созданием и назначением атрибутов. В SELinux этот атрибут сбрасывается при execve(2), поэтому новой программе возвращается поведение по умолчанию при любых вызовах создания файла, но атрибут сохраняется между несколькими вызовами создания файла внутри программы, пока она явно его не сбросит. В SELinux процесс может установить только свой атрибут /proc/[pid]/attr/fscreate. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/keycreate (начиная с Linux 2.6.18) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если процесс записывает контекст безопасности в этот файл, то все создаваемые далее ключи (add_key(2)) будут помечены этим контекстом. Подробности смотрите в файле исходного кода ядра Documentation/security/keys/core.rst (или в файле Documentation/security/keys.txt в версиях Linux между 3.0 и 4.13, или в Documentation/keys.txt до Linux 3.0). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/prev (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит контекст безопасности процесса перед последним execve(2) — предыдущее значение /proc/[pid]/attr/current. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/attr/socketcreate (начиная с Linux 2.6.18) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если процесс записывает контекст безопасности в этот файл, то все создаваемые далее сокеты будут помечены этим контекстом. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/autogroup (начиная с Linux 2.6.38) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите sched(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/auxv (начиная с 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит информацию, полученную интерпретатором ELF и переданную процессу во время выполнения. Формат — это один идентификатор типа unsigned long ID и по одному значению типа unsigned long для каждого из элементов. Последний элемент содержит два нуля. Смотрите также getauxval(3). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/cgroup (начиная с Linux 2.6.24) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите cgroups(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/clear_refs (начиная с Linux 2.6.22) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл доступен только для записи и только владельцу процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В файл могут быть записаны следующие значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Очистка бит PG_Referenced и ACCESSED/YOUNG предоставляет метод приблизительного измерения количества памяти, используемой процессом. Во-первых, нужно прочитать значения в полях «Referenced» для VMA, показанных в /proc/[pid]/smaps, и получить объём используемой процессом памяти. Во-вторых, очистить биты PG_Referenced и ACCESSED/YOUNG и после некоторого известного временного интервала ещё раз прочитать значения в полях «Referenced», чтобы получить размер используемой процессом памяти за известный интервал. Если это интересно только для изучения выбранных типов отображения, то вместо значение 1 можно использовать 2 или 3. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дополнительные записываемые значения, влияющие на другие свойства:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Запись любого значения в /proc/[pid]/clear_refs, отличного от перечисленных выше, ничего не меняет. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/[pid]/clear_refs существует только, если включён параметр настройки ядра CONFIG_PROC_PAGE_MONITOR. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/cmdline | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл, доступный только для чтения, содержит полную командную строку процесса, если процесс не является зомби. В последнем случае этот файл пуст, поэтому чтение из него вернёт 0 символов. Аргументы командной строки в этом файле представлены в виде набора строк, разделённых байтами null (\(aq\0\(aq) и байтом null после последней строки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/comm (начиная с Linux 2.6.33) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится значение comm процесса — то есть имя команды, связанное с процессом. Разные нити одного процесса могут иметь разные значение comm, они доступны через /proc/[pid]/task/[tid]/comm. Значение comm можно изменить из самой нити или из другой нити в той же группе нитей (смотрите описание CLONE_THREAD в clone(2)) записью в файл /proc/self/task/[tid]/comm. Строки длиннее TASK_COMM_LEN (16) символов просто обрезаются. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит поднабор операций prctl(2) PR_SET_NAME и PR_GET_NAME, и возвращается pthread_setname_np(3) при использовании для переименования нитями, отличающимся от вызывающего. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/coredump_filter (начиная с Linux 2.6.23) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите core(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/cpuset (начиная с Linux 2.6.12) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите cpuset(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/cwd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это символьная ссылка на текущий рабочий каталог процесса. Например, чтобы узнать текущий каталог процесса 20, вы должны проделать следующее: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cd /proc/20/cwd; /bin/pwd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Отметим, что команда pwd часто является встроенной в оболочку, и поэтому может работать не корректно. В bash(1) вы можете воспользоваться pwd -P. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В многонитевых процессах, содержимое этой символьной ссылки недоступно, если головная нить уже завершила работу (обычно с помощью вызова pthread_exit(3)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право разыменовывать или читать (readlink(2)) эту символическую ссылку определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/environ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит начальное окружение, которое было настроено при запуске с помощью execve(2) выполняемой в настоящий момент программы. Элементы разделяются байтами null (\(aq\0\(aq), а также может быть байт null в конце. То есть, чтобы вывести окружение процесса 1, вы можете сделать следующее: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cat /proc/1/environ | tr \(aq\000\(aq \(aq\n\(aq | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если после execve(2) процесс изменил своё окружение (например, вызвав функцию putenv(3) или напрямую изменив переменную environ(7)), то этот файл не показываются такие изменения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Кроме этого, процесс может изменить расположение памяти с помощью операции prctl(2) PR_SET_MM_ENV_START, на которое ссылается этот файл. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/exe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В Linux 2.2 и новее этот файл является символьной ссылкой, содержащей актуальный путь выполняемой команды. Данная символьная ссылка может обрабатываться обычным образом; попытка её открытия приведёт к открытию исполняемого файла. Вы даже можете ввести /proc/[pid]/exe для запуска другой копии того же исполняемого файла, который выполняется процессом [pid]. Если путь был удалён, то символьная ссылка будет содержать строку \(aq(deleted)\(aq, добавленную к оригинальному пути. В многонитевом процессе содержимое этой символьной ссылки недоступно, если основная нить уже завершилась (обычно вызовом pthread_exit(3)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право разыменовывать или читать (readlink(2)) эту символическую ссылку определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В ядрах Linux 2.0 и более ранних, /proc/[pid]/exe указывает на двоичный файл, который был выполнен, и работает как символьная ссылка. Вызов readlink(2) над этим файлом в Linux 2.0 вернёт строку следующего вида: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[device]:inode | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Например, [0301]:1502 указывает на inode 1502 на устройстве со старшим номером устройства 03 (IDE, MFM, и т.п. диски), младшим номером 01 (первый раздел на первом диске). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для поиска файла можно воспользоваться find(1) с параметром -inum. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/fd/ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот подкаталог содержит одну запись для каждого файла, открытого процессом, именем является номер его файлового дескриптора, и которая является символьной ссылкой на настоящий файл. Так, 0 — это стандартный поток ввода, 1 — стандартный поток вывода, 2 — стандартный поток ошибок и т.п. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов каналов и сокетов записи будут символьными ссылками, содержимое которых — тип файла и inode. Вызов readlink(2) для такого файла вернёт строку в формате: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
тип:[inode] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Например, socket:[2248868] — для сокета с inode 2248868. Для сокетов эту inode можно использовать для поиска дополнительной информации в одном из файлов в /proc/net/. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескриптор без соответствующей иноды (например, файловые дескрипторы, создаваемые bpf(2), epoll_create(2), eventfd(2), inotify_init(2), perf_event_open(2), signalfd(2), timerfd_create(2) и userfaultfd(2)), запись будет символьной ссылкой с содержимым в виде | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
anon_inode:<тип-файла> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Во многих случаях (но не всех) тип-файла заключается в квадратные скобки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Например, файловый дескриптор epoll будет иметь символьную ссылку с содержимым в виде строки anon_inode:[eventpoll]. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В многонитевых процессах, содержимое этого каталога недоступно, если главная нить уже завершила работу (обычно при помощи вызова pthread_exit(3)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Программы, принимающие в аргументе командной строки имя файлы, не читают данные из стандартного ввода, если аргумент не указан, а программы, которые выполняют запись в файл с именем, указанным в аргументе командной строки, не пишут данные в стандартный вывод, если аргумент не указан, но, тем не менее, могут использовать стандартный ввод или вывод через файлы /proc/[pid]/fd, указанные в аргументе командной строки. Например, подразумевая что -i является флагом, обозначающим входной файл, и -o является флагом, обозначающим выходной файл, вы можете указать: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ foobar -i /proc/self/fd/0 -o /proc/self/fd/1 … | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
и вы получите работающий фильтр. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/self/fd/N — это примерно то же, что и /dev/fd/N на некоторых системах UNIX и подобных им. Фактически, большинство сценариев MAKEDEV в Linux создают символьную ссылку с именем /dev/fd на файл /proc/self/fd. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Большинство систем предоставляют символьные ссылки /dev/stdin, /dev/stdout и /dev/stderr, которые соответствуют ссылкам на файлы 0, 1 и 2 в /proc/self/fd. Так, пример указанной выше команды может быть переписан в следующем виде: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ foobar -i /dev/stdin -o /dev/stdout ... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право разыменовывать или читать (readlink(2)) символические ссылки в этом каталоге определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Заметим, что для файловых дескрипторов, указывающих на иноды (каналы и сокеты, смотрите выше), эти иноды по-прежнему имеют биты прав и информация о владельце отличается от имеющейся у /proc/[pid]/fd и этот владелец может отличаться от идентификатора пользователя и группы процесса. Непривилегированный процесс может не иметь прав на их открытие, как в этом примере: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ echo test | sudo -u nobody cat test $ echo test | sudo -u nobody cat /proc/self/fd/0 cat: /proc/self/fd/0: Permission denied | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файловый дескриптор 0 указывает на канал, созданный оболочкой и принадлежащий владельцу оболочки, не nobody, поэтому у программы cat нет прав на создание нового файлового дескриптора для чтения из этой иноды, хотя при этом она всё-таки может читать из существующего файлового дескриптора 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/fdinfo/ (начиная с Linux 2.6.22) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот подкаталог содержит один элемент на каждый файл, который открыл процесс, именем файла будет номер его файлового дескриптора. Файлы в этом каталоге доступны на чтение только владельцу процесса. Содержимое каждого файла может быть прочитано для получения информации о соответствующем файловом дескрипторе. Содержимое зависит от типа файла, на который ссылается соответствующий файловый дескриптор. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для обычных файлов и каталогов содержимым будет, что-то типа: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cat /proc/12015/fdinfo/4 pos: 1000 flags: 01002002 mnt_id: 21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов eventfd (смотрите eventfd(2)) мы увидим (начиная с Linux 3.8) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 02 mnt_id: 10 eventfd-count: 40 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В eventfd-count содержится текущее значение счётчика eventfd counter (в виде шестнадцатеричного числа). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов epoll (смотрите epoll(7)) мы увидим (начиная с Linux 3.8) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 02 mnt_id: 10 tfd: 9 events: 19 data: 74253d2500000009 tfd: 7 events: 19 data: 74253d2500000007 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Каждая строка, начинающаяся с tfd, описывает один из файловых дескрипторов, который отслеживается через файловый дескриптор epoll (подробности смотрите в epoll_ctl(2)). Поле tfd содержит номер файлового дескриптора. Поле events представляет собой шестнадцатеричную маску событий, которые отслеживаются для этого файлового дескриптора. Поле data содержит данные, связанные с этим файловым дескриптором. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов signalfd (смотрите signalfd(2)) мы увидим (начиная с Linux 3.8) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 02 mnt_id: 10 sigmask: 0000000000000006 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В sigmask содержится шестнадцатеричная маска сигналов, которые принимаются через этот файловый дескриптор signalfd (в этом примере биты 2 и 3 установлены, что соответствует сигналам SIGINT и SIGQUIT; смотрите signal(7)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов inotify (смотрите inotify(7)) мы увидим (начиная с Linux 3.8) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 00 mnt_id: 11 inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:2af87e00220ffd73 inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:27261900802dfd73 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Каждая из строк, начинающаяся с «inotify», содержит информацию об одном отслеживаемом файле или каталоге. Поля в этой строке:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если ядро собрано с поддержкой exportfs, то путь целевого файла представляется в виде описателя (handle) файла, выраженного тремя шестнадцатеричными полями: fhandle-bytes, fhandle-type и f_handle. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов fanotify (смотрите fanotify(7)) мы увидим (начиная с Linux 3.8) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 02 mnt_id: 11 fanotify flags:0 event-flags:88002 fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:4f261900a82dfd73 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В четвёртой строке содержится информация, определяющая когда была создана с помощью fanotify_init(2) группа fanotify:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В каждой дополнительной строке файла содержится информация об одной из меток в группе fanotify. Большинство полей аналогичны с inotify, за исключением:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подробную информацию об этих полях смотрите в fanotify_mark(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для файловых дескрипторов timerfd (смотрите timerfd(2)) мы увидим (начиная с Linux 3.17) следующие поля: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pos: 0 flags: 02004002 mnt_id: 13 clockid: 0 ticks: 0 settime flags: 03 it_value: (7695568592, 640020877) it_interval: (0, 0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/gid_map (начиная с Linux 3.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
См. user_namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/io (начиная с версии ядра 2.6.20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит статистику ввода-вывода процесса, например: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# cat /proc/3828/io rchar: 323934931 wchar: 323929600 syscr: 632687 syscw: 632675 read_bytes: 0 write_bytes: 323932160 cancelled_write_bytes: 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Замечание: В текущей реализации существует большая состязательность в 32-битных системах: если процесс A читает /proc/[pid]/io процесса B в момент обновления 64-битных счётчиков процесса B, то процесс A может увидеть промежуточный результат. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/limits (начиная с Linux 2.6.24) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержатся мягкие и жёсткие ограничения (limit), а также измерения по каждого ограничению ресурсов процесса (см. getrlimit(2)). Файл доступен на чтение только реальному UID процесса. Начиная с Linux 2.6.36, может читаться всеми пользователями системы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/map_files/ (начиная с версии ядра 3.3) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом подкаталоге содержатся записи, соответствующие файлам, отображённым в память (смотрит mmap(2)). Имена записей соответствуют начальному и конечному адресу области памяти (в виде шестнадцатеричных чисел), и символьными ссылками на само отображённые файлы. Пример (подогнан под 80-колоночный терминал): | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# ls -l /proc/self/map_files/ lr--------. 1 root root 64 Apr 16 21:31 3252e00000-3252e20000 -> /usr/lib64/ld-2.15.so ... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Хотя эти записи предназначены для областей памяти, отображённых с флагом MAP_FILE, из реализации в Linux области анонимной общей памяти (области, созданные с флагами MAP_ANON | MAP_SHARED) также будут присутствовать в этом каталоге. Пример, в котором файл назначения — удалённый /dev/zero: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lrw-------. 1 root root 64 Apr 16 21:33 7fc075d2f000-7fc075e6f000 -> /dev/zero (deleted) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог присутствуют только, если ядро собрано с включённым параметром CONFIG_CHECKPOINT_RESTORE. Для просмотра содержимого этого каталога требуется мандат CAP_SYS_ADMIN. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/maps | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл, содержащий адреса областей памяти, которые используются программой в данный момент и права доступа к ним. Информацию об отображении памяти смотрите в mmap(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Формат файла: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
address perms offset dev inode pathname 00400000-00452000 r-xp 00000000 08:02 173521 /usr/bin/dbus-daemon 00651000-00652000 r--p 00051000 08:02 173521 /usr/bin/dbus-daemon 00652000-00655000 rw-p 00052000 08:02 173521 /usr/bin/dbus-daemon 00e03000-00e24000 rw-p 00000000 00:00 0 [heap] 00e24000-011f7000 rw-p 00000000 00:00 0 [heap] ... 35b1800000-35b1820000 r-xp 00000000 08:02 135522 /usr/lib64/ld-2.15.so 35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522 /usr/lib64/ld-2.15.so 35b1a20000-35b1a21000 rw-p 00020000 08:02 135522 /usr/lib64/ld-2.15.so 35b1a21000-35b1a22000 rw-p 00000000 00:00 0 35b1c00000-35b1dac000 r-xp 00000000 08:02 135870 /usr/lib64/libc-2.15.so 35b1dac000-35b1fac000 ---p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so 35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so 35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870 /usr/lib64/libc-2.15.so ... f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0 [stack:986] ... 7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0 [stack] 7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0 [vdso] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В поле address показано адресное пространство процесса, в которое выполнено отображение, а в поле perms — права доступа: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
r = можно читать w = можно писать x = можно выполнять s = можно использовать несколькими процессами совместно p = личное (копирование при записи) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поле offset — это смещение в файле/где-то ещё; dev — устройство (старший номер:младший номер); inode — индексный дескриптор на данном устройстве. 0 означает, что с данной областью памяти не связаны индексные дескрипторы: примером тому является сегмент BSS (неинициализированные данные). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В поле pathname обычно указывается отображённый файл. Если файл в формате ELF, то вы легко можете установить связь с полем offset, посмотрев в Offset программного заголовка ELF (readelf -l). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дополнительные полезные псевдо-пути:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение поля pathname пусто, то это анонимное отображение, полученное с помощью mmap(2). Нет простого способа увязать это с источником в процессе, кроме как запустив его в gdb(1), strace(1) и т.п. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Всё значение pathname является неэкранированным, кроме символа новой строки, который заменяется на восьмеричную экранирующую последовательность. В результате невозможно определить, что в оригинальном пути — символ новой строки или экранирующая последовательность буквенная \e012. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если файл отображается в виртуальную память и удаляется, то к пути добавляется строка " (deleted)". Заметим, что это также проблематичное решение. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В Linux 2.0 поле, указывающее на имя файла, отсутствует. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/mem | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл можно использовать для получения доступа к страницам памяти процесса через вызовы open(2), read(2) и lseek(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_ATTACH_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/mountinfo (начиная с Linux 2.6.26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится информация о точках монтирования в пространстве имён монтирования процесса (смотрите mount_namespaces(7)). Здесь представлена различная информация (например, состояние распространения, корень монтирования для привязок монтирования, идентификатор каждого монтирования и его родитель), которой нет в (старом) файле /proc/[pid]/mounts, и исправлены различные проблемы этого файла (например, непродолжаемость, невозможность различить параметры конкретного монтирования и суперблока). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержатся строки в следующем формате: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue(1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Описания полей (номер представлен в скобках):
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Возможные необязательные поля на данный момент: shared, master, propagate_from и unbindable. Описание этих полей смотрите в mount_namespaces(7). Анализаторы должны игнорировать все неизвестные необязательные поля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подробней о концепции распространения монтирования смотрите в исходном коде ядра Linux в файле Documentation/filesystems/sharedsubtree.txt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/mounts (начиная с Linux 2.4.19) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит список всех файловых систем, смонтированных в пространстве имён монтирования процесса в данный момент (смотрите mount_namespaces(7)). Формат этого файл описан в fstab(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с ядра версии 2.6.15 этот файл можно опрашивать: после открытия файла на чтение, изменение в этом файле (т. е., монтирование или размонтирование файловой системы) заставляют select(2) помечать файловый дескриптор как имеющий исключительное условие, а poll(2) и epoll_wait(2) помечают файл как имеющий приоритетное событие (POLLPRI) (до Linux 2.6.30, изменение этого файла отражались на файловом дескрипторе с помощью отметки как читаемого для select(2) и имеющего условие ошибки для poll(2) и epoll_wait(2)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/mountstats (начиная с Linux 2.6.17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится информация (статистика, информация о настройке) о точках монтирования в пространстве имён монтирования процесса (смотрите mount_namespaces(7)). Формат строк в файле: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device /dev/sda7 mounted on /home with fstype ext3 [statistics] ( 1 ) ( 2 ) (3 ) (4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля каждой строки:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл доступен на чтение только владельцу процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/net (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите описание /proc/net. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/ns/ (начиная с Linux 3.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом подкаталоге содержится по одной записи на каждое пространство имён, для которых в setns(2) есть поддержка изменений. Дополнительную информацию смотрите в namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/numa_maps (начиная с Linux 2.6.14) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите numa(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/oom_adj (начиная с Linux 2.6.11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл может использоваться для подгонки оценки, используемой при выборе процесса, который нужно завершить при нехватке памяти (OOM). Ядро использует это значение в операции побитового сдвига значения oom_score у процесса: допустимые находятся в диапазоне от -16 до +15, плюс специальное значение -17, которое отключает OOM-завершение для этого процесса совсем. Положительная оценка увеличивает вероятность, что процесс будет завершён OOM-killer; отрицательная оценка уменьшает вероятность. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию в этом файле равно 0; новый процесс наследует его от родительского значения oom_adj. Для изменения этого файла процесс должен иметь мандат CAP_SYS_RESOURCE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 2.6.36, вместо этого файла рекомендуется использовать /proc/[pid]/oom_score_adj. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/oom_score (начиная с Linux 2.6.11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит текущую оценку, которую ядро назначило процессу, учитывающуюся при избрании процесса OOM-killer. Более высокая оценка означает, что у процесса есть больше шансов быть выбранным OOM-killer. Основой оценки является количество памяти используемой процессом и различные увеличивающие (+) и уменьшающие (-) факторы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До ядра 2.6.36 при вычислении oom_score также используются следующие факторы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение oom_score также отражает подгонку смещения, указанную в oom_score_adj или oom_adj процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/oom_score_adj (начиная с Linux 2.6.36) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл может использоваться для подгонки оценки вредности для выбора процесса, который нужно завершить при нехватке памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение оценки вредности назначается каждой задаче-кандидату от 0 (никогда не завершать) до 1000 (всегда завершать), которым определяется какой процесс будет выбран. Единицы примерно пропорциональны диапазону разрешённой памяти, которую может запросить процесс, на основе вычисления его текущей памяти и использованию подкачки.Например, если задача использует всю разрешённую память, то значение вредности будет равно 1000. Если процесс использует половину разрешённой памяти, то значение будет 500. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Есть дополнительный фактор, учитывающийся для вредности: процессам root даётся на 3% больше памяти, чем другим задачам. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество «разрешённой» памяти зависит от контекста, в котором был вызван OOM-killer. Если он вызван в момент, когда при назначении памяти для выделенного cpuset задачи происходит исчерпание, то разрешённая память представляет набор mem, назначенных этому cpuset (смотрите cpuset(7)). Если это происходит при исчерпании узлов mempolicy, то разрешённая память представляет набор узлов mempolicy. Если это происходит при достижении лимита на память (или лимита подкачки), то разрешённой памятью считается настроенный лимит. Наконец, если это происходит при нехватке памяти во всей системе, то разрешённой памятью считаются все доступные для выделения ресурсы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение oom_score_adj добавляется к значению вредности перед тем как оно будет использовано для определения завершаемой задачи. Диапазон разрешённых значений: от -1000 (OOM_SCORE_ADJ_MIN) до +1000 (OOM_SCORE_ADJ_MAX). Это позволяет осуществлять контроль за настройкой OOM-killing из пользовательского пространства, указывая самые ненужные задачи или полностью отключая OOM-killing для самых важных. Самое минимальное значение, -1000, эквивалентно полному отключению OOM-killing для определённой задачи, так как оно снижает значение вредности до 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Следовательно, из пользовательского пространства очень просто определить количество памяти по каждой задаче. Например, установка значения oom_score_adj равным +500, примерно эквивалентна разрешению оставшимся задачам использовать общим в системы ресурсам, cpuset, mempolicy, или контроллеру памяти не менее 50% памяти. С другой стороны, значение -500 было бы примерно эквивалентно отниманию 50% из разрешённой памяти задачи при подсчёте вредности задачи. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для обратной совместимости с предыдущими версиями ядер значение в /proc/[pid]/oom_adj всё ещё может учитываться при подстройке значения вредности. Это значение линейно масштабируется с oom_score_adj. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Запись в /proc/[pid]/oom_score_adj или /proc/[pid]/oom_adj изменит и значение в другом параметре с соответствующим масштабом. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Программа choom(1) предоставляет интерфейс командной строки для подбора значения oom_score_adj в уже работающем процессе или новой запускаемой команде. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/pagemap (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Через данный файл показываются отображения каждой виртуальной страницы процесса в физические страничный кадры и области подкачки. Каждой страницы соответствует одно 64-битное число, биты которого имеют следующее значение:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До Linux 3.11, биты 60-55 использовались как кодирование размера страницы в виде логарифма по основанию 2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для эффективного использования /proc/[pid]/pagemap обратитесь к /proc/[pid]/maps для определения какие области памяти действительно отображены и отбросьте не отображённые области. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/[pid]/pagemap существует только, если включён параметр настройки ядра CONFIG_PROC_PAGE_MONITOR. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/personality (начиная с Linux 2.6.28) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В файле (только для чтения) содержится домен выполнения процесса, заданный personality(2). Значение отображено в шестнадцатеричной системе счисления. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_ATTACH_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/root | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UNIX и Linux поддерживают идею о попроцессном корневом каталоге файловой системы, который может быть установлен системным вызовом chroot(2). Этот файл является символьной ссылкой, которая указывает на корневой каталог процесса и ведёт себя так же, как exe и fd/*. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Однако заметим, что этот файл не просто символьная ссылка. Note however that this file is not merely a symbolic link. Она предоставляет тоже отражение файловой системы (включая пространства имён и набор попроцессного монтирования) как сам процесс. Покажем это на примере. В одном терминале мы запустим оболочку в новом пространстве имён пользователя и монтирования, и создадим несколько новых точек монтирования: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ PS1=’sh1# ’ unshare -Urnm sh1# mount -t tmpfs tmpfs /etc # монтирование пустой tmpfs в /etc sh1# mount --bind /usr /dev # монтирование /usr в /dev sh1# echo $$ 27123 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Во втором терминальном окне, в первоначальном пространстве имён монтирования, посмотрим содержимое соответствующего монтирования в первоначальном и новом пространстве имён: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ PS1=’sh2# ’ sudo sh sh2# ls /etc | wc -l # в первоначальном NS 309 sh2# ls /proc/27123/root/etc | wc -l # /etc в другом NS 0 # пустой каталог tmpfs sh2# ls /dev | wc -l # в первоначальном NS 205 sh2# ls /proc/27123/root/dev | wc -l # /dev в другом NS 11 # в реальности привязано # к смонтированному /usr sh2# ls /usr | wc -l # /usr в первоначальном NS 11 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В многонитевых процессах, содержимое символьной ссылки /proc/[pid]/root недоступно, если головная нить уже завершила работу (обычно с помощью вызова pthread_exit(3)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право разыменовывать или читать (readlink(2)) эту символическую ссылку определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/seccomp (Linux 2.6.12 по 2.6.22) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл можно использовать для чтения и изменения настройки режима безопасных вычислений в процессе (seccomp). Он содержит значение 0, если процесс не в режиме seccomp, и 1, если процесс ограничен режимом seccomp (смотрите seccomp(2)). Запись 1 в этот файл безвозвратно помещает процесс в ограниченный режим seccomp (последующие попытки записать в файл завершаются ошибкой EPERM). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В Linux 2.6.23 этот файл был убран и заменён операциями PR_GET_SECCOMP и PR_SET_SECCOMP вызова prctl(2) (а позднее seccomp(2) и полем Seccomp в /proc/[pid]/status). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/setgroups (начиная с Linux 3.19) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
См. user_namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/smaps (начиная с Linux 2.6.14) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит значение потребления памяти каждого отображения процесса. (команда pmap(1) выводит похожую информацию в пригодной для анализа форме). Для каждого отображения есть несколько строк в виде: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
00400000-0048a000 r-xp 00000000 fd:03 960637 /bin/bash Size: 552 kB Rss: 460 kB Pss: 100 kB Shared_Clean: 452 kB Shared_Dirty: 0 kB Private_Clean: 8 kB Private_Dirty: 0 kB Referenced: 460 kB Anonymous: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB Swap: 0 kB KernelPageSize: 4 kB MMUPageSize: 4 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB ProtectionKey: 0 VmFlags: rd ex mr mw me dw | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Первые строки содержат ту же информацию, что и для отображения в /proc/[pid]/maps. Следующие строки содержат размер отображения, размер отображения, которое сейчас находится в RAM («Rss»), вклад этого отображения в пропорцию общих страниц процесса («Pss»), количество чистых и грязных общих страниц в отображении и количеств количество чистых и грязных частных страниц в отображении. В «Referenced» указано количество памяти помеченной, в данный момент, как ссылочная или доступная. В «Anonymous» указано количество памяти, которая не принадлежит никакому файлу. В «Swap» указано как много также использовалось было бы анонимной памяти, но она в подкачке. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение «KernelPageSize» (доступно, начиная с Linux 2.6.29) — размер страницы, используемый ядром при делении области виртуальной памяти. В большинстве случаев, размер совпадает с используемым в MMU. Однако, есть один контрпример в ядрах на PPC64, где в качестве базового размера страницы используется 64КБ, но при этом по-прежнему могут использоваться 4КБ страницы для MMU на старых процессорах. Для различения двух атрибутов значением «MMUPageSize» (также доступно начиная с Linux 2.6.29) определяется размер страницы, используемой MMU. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение «Locked» указывает будет ли отображение заблокировано в памяти или нет. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение «ProtectionKey» (доступно, начиная с Linux 4.9 только на x86) содержит ключ защиты памяти (смотрите pkeys(7)), связанный с областью виртуальной памяти. Этот элемент появляется, только если ядро было собрано с параметром настройки CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение «VmFlags» (доступно, начиная с Linux 3.8) представляет флаги ядра, связанные с виртуальной областью памяти, в виде двухбуквенного кода: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rd - доступна для чтения wr - доступна для записи ex - доступна для исполнения sh - общая mr - может читаться mw - может писаться me - может исполняться ms - может быть общей gd - сегмент стека растёт вниз pf - чистый диапазон PFN dw - отключена запись в отображаемый файл lo - страницы заблокированы в памяти io - память отображённой области ввода-вывода sr - предоставляет уведомление для последовательного чтения rr - предоставляет уведомление для чтения с произвольным доступом dc - область не копируется при fork de - область не расширяется при переотображении ac - область учитывается nr - для области не зарезервировано пространство подкачки ht - область использует огромные страницы tlb nl - нелинейное отображение ar - флаг, зависящий от архитектуры dd - область не включается в дамп памяти sd - флаг несильного загрязнения mm - область смешанной карты hg - уведомительный флаг огромной страницы nh - уведомительный флаг не огромной страницы mg - уведомительный флаг слияния |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение «ProtectionKey» содержит ключ защиты памяти (смотрите pkeys(5)), связанный с областью виртуальной памяти. Этот элемент появляется, только если ядро было собрано с параметром настройки CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS (начиная с Linux 4.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/[pid]/smaps существует только, если включён параметр настройки ядра CONFIG_PROC_PAGE_MONITOR. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/stack (начиная с Linux 2.6.29) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл предоставляет символическую трассировку вызовов функций в стеке ядра для этого процесса. Этот файл есть в системе только, если ядро было собрано с параметром настройки CONFIG_STACKTRACE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_ATTACH_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/stat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация о состоянии процесса. Она используется командой ps(1). Определяется в файле исходного кода ядра fs/proc/array.c. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля в соответствующем порядке с их надлежащими описателями формата scanf(3) перечислены ниже. Корректность информации в этих полях управляется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS | PTRACE_MODE_NOAUDIT (описана в ptrace(2)). Если проверкой доступ запрещён, то значение поля показывается как 0. Затронутые поля отмечены [PT]. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/statm | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Предоставляет информацию об использовании памяти, измеряется в страницах. Колонки: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
size(1) полный размер программы (тоже что и VmSize в /proc/[pid]/status) resident (2) размер резидентной части (тоже что и VmRSS в /proc/[pid]/status) shared (3) количество резидентных общих страниц (т. е., отражаемых файлом) (тоже что и RssFile+RssShmem в /proc/[pid]/status) text (4) текст программы (код) lib (5) библиотека (не используется начиная с Linux 2.6; всегда 0) data (6) данные + стек dt (7) недостоверные страницы (не используется начиная с Linux 2.6; всегда 0) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/status | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В основном, предоставляет информацию из /proc/[pid]/stat и /proc/[pid]/statm в более лёгком для прочтения человеком формате. Пример: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cat /proc/$$/status Name: bash Umask: 0022 State: S (sleeping) Tgid: 17248 Ngid: 0 Pid: 17248 PPid: 17200 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 100 100 100 100 FDSize: 256 Groups: 16 33 100 NStgid: 17248 NSpid: 17248 NSpgid: 17248 NSsid: 17200 VmPeak: 131168 kB VmSize: 131168 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 13484 kB VmRSS: 13484 kB RssAnon: 10264 kB RssFile: 3220 kB RssShmem: 0 kB VmData: 10332 kB VmStk: 136 kB VmExe: 992 kB VmLib: 2104 kB VmPTE: 76 kB VmPMD: 12 kB VmSwap: 0 kB HugetlbPages: 0 kB # 4.4 CoreDumping: 0 # 4.15 Threads: 1 SigQ: 0/3067 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff CapAmb: 0000000000000000 NoNewPrivs: 0 Seccomp: 0 Speculation_Store_Bypass: vulnerable Cpus_allowed: 00000001 Cpus_allowed_list: 0 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 150 nonvoluntary_ctxt_switches: 545 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/syscall (начиная с Linux 2.6.27) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл отражает аргументные регистры и номер системного вызова, который выполняется процессом; далее указаны значения регистров указателя стека и программного счётчика. Хотя большинство системных вызовов использует только несколько регистров, видны значения всех шести аргументных регистров. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если процесс заблокирован не системным вызовом, то в файле содержится -1 на месте номера системного вызова, затем указаны только значения указателя стека и программного счётчика. Если процесс не заблокирован, то файл содержит строку «running». | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл доступен только, если ядро собрано с параметром CONFIG_HAVE_ARCH_TRACEHOOK. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_ATTACH_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/task (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержатся подкаталоги, под одному на нить процесса. Имя подкаталога задаётся числом, которое является ID ([tid]) нити (смотрите gettid(2)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В каждом подкаталоге есть набор файлов с одинаковыми именами и содержимым как у каталогов /proc/[pid]. Для общих атрибутов всех нитей содержимое каждого файла в подкаталогах task/[tid] будет одинаковым, как у соответствующего файла в родительском каталоге /proc/[pid] (например, в многонитевом процессе все файлы task/[tid]/cwd будут иметь одинаковое значение, совпадающее с содержимым файла /proc/[pid]/cwd в родительском каталоге, так как все нити в процессе используют общий рабочий каталог). Для отличающихся атрибутов нитей соответствующие файлы в task/[tid] могут иметь различные значения (например, различные поля в каждом файле task/[tid]/status могут отличаться в каждой нити) или вообще могут отсутствовать в /proc/[pid]. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В многонитевых процессах, содержимое каталога /proc/[pid]/task недоступно, если главная нить уже завершила работу (обычно при помощи вызова pthread_exit(3)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/task/[tid]/children (начиная с Linux 3.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Разделённый пробелами список задач-потомков данной задачи. Каждая задача-потомок представлена своим TID. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот параметр предназначен для использования системой восстановления из контрольных точек (CRIU) и предоставляет достоверный список потомков, только если дочерние процессы остановлены или заморожены. Он не работает правильно, если потомки целевой задачи завершаются во время чтения файла! Завершающиеся потомки могут привести к пропаже из списка не завершившихся потомков. Это делает данный интерфейс ещё более ненадёжным чем классический на основе PID, если просматриваемая задача и её потомки не заморожены, и вероятно, в большинстве программ лучше не использовать данный интерфейс. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До Linux 4.2 наличие этого файла управлялось параметром настройки ядра CONFIG_CHECKPOINT_RESTORE. Начиная с Linux 4.2, он управляется параметром CONFIG_PROC_CHILDREN. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/timers (начиная с Linux 3.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Список таймеров POSIX этого процесса. Каждый таймер описывается в строке, которая начинается со строки «ID:». Пример: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ID: 1 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 0 ID: 0 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Строки каждого таймера имеют следующее значение:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл доступен только, если ядро было собрано с параметром CONFIG_CHECKPOINT_RESTORE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/timerslack_ns (начиная с Linux 4.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл отражает значение (в наносекундах) «текущего» допуска таймера процесса. Файл доступен на запись, что позволяет изменить значение допуска таймера процесса. Запись 0 сбрасывает «текущий» допуск таймера в значение допуска таймера «по умолчанию». Дополнительную информацию смотрите в описании PR_SET_TIMERSLACK из prctl(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Первоначально, права доступа к этому файлу определялись проверкой режима доступа ptrace PTRACE_MODE_ATTACH_FSCREDS (смотрите ptrace(2)). Однако это впоследствии посчитали слишком строгим требованием (и имеющим побочный эффект, выражающимся в требовании от процесса иметь мандат CAP_SYS_PTRACE, который также позволяет ему просматривать и изменять всю память процесса). Поэтому, начиная с Linux 4.9, для доступа к этому файлу требуется только мандат CAP_SYS_NICE (маломощный). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/uid_map, /proc/[pid]/gid_map (начиная с Linux 3.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
См. user_namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/wchan (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Символическое имя, соответствующее расположению, где процесс спит в ядре. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Право доступа к этому файлу определяется проверкой режима доступа ptrace PTRACE_MODE_READ_FSCREDS; смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[tid] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталог с числовым названием для каждой выполняющейся нити, которая не является лидером группы нитей (т. е., нить, чей ID нити не совпадает с ID её процесса); подкаталог называется по ID нити. В подкаталоге содержатся файлы и подкаталоги с информацией о нити с ID нити tid. Содержимое этих каталогов совпадает с соответствующими каталогами /proc/[pid]/task/[tid]. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталоги /proc/[tid] невидимы при обходе /proc с помощью getdents(2) (и поэтому невидимы программам, подобным ls(1), отображающим содержимое /proc). Однако пути к этим каталогам видимы (т. е., их можно использовать в качестве параметров) системным вызовам, работающими с этими путями. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/apm | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Версия системы расширенного управления питанием и информация о батарее, если ядро собрано с поддержкой CONFIG_APM. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/buddyinfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится информация, которую можно использовать при диагностике проблем с фрагментацией памяти. Каждая строка начинается с идентификатора узла и имени зоны, которые вместе определяют область памяти. Далее следует количество доступных блоков (chunks) определённого порядка, в котором разделялись зоны. Размер в байтах порядка задаётся формулой: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(2^order) * PAGE_SIZE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Алгоритм двоичных близнецов (binary buddy allocator) внутри ядра разделит один блок на несколько меньшего размера (например, пополам) или объединит два рядом стоящих блока в один большего размера (например удвоенного), чтобы выполнить запрос выделения и подсчёта фрагментации памяти. Порядок совпадает с номером столбца, при начале отсчёта от нуля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример для системы x86-64: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 3 Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 404 Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 587 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом примере показан один узел, содержащий три зоны и 11 блоков разного размера. Если размер страницы равен 4 КБ, то первая зона с именем DMA (в x86 — первые 16 МБ памяти) содержит 1 блок по 4 КБ (порядок 0) и 3 блока по 4 МБ (порядок 10). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если памяти сильно фрагментирована, то счётчики блоков высшего порядка будут равны нулю и выделение больших непрерывных областей будет завершаться с ошибкой. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дополнительную информацию о зонах смотрите /proc/zoneinfo. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/bus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит подкаталоги для установленных шин. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/bus/pccard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталог для устройств PCMCIA, если ядро собрано с поддержкой CONFIG_PCMCIA. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/bus/pccard/drivers
/proc/bus/pci |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит различные подкаталоги шин и псевдо-файлы, содержащие информацию о шинах PCI, установленных устройствах и драйверах устройств. Некоторые из этих файлов не являются текстовыми. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/bus/pci/devices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация о устройствах PCI. К ним можно получить доступ через lspci(8) и setpci(8). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/cgroups (начиная с Linux 2.6.24) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите cgroups(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/cmdline | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Аргументы, переданные ядру Linux во время начальной загрузки. Часто это делается через менеджер начальной загрузки, такой как lilo(8) или grub(8). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/config.gz (начиная с Linux 2.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле представлены параметры настройки, которые использовались при сборке выполняющегося в данный момент ядра. Его формат одинаков с файлом .config, который создаётся после настройки ядра (с помощью make xconfig, make config и подобных команд). Содержимое файла сжато; для просмотра и поиска используйте zcat(1) и zgrep(1). Пока не внесены изменения в настройку ядра, содержимое /proc/config.gz и показываемого по команде файла одинаково: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cat /lib/modules/$(uname -r)/build/.config | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/config.gz доступен только, если ядро собрано с поддержкой CONFIG_IKCONFIG_PROC. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/crypto | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Список алгоритмов шифрования, предоставляемых ядерным программным интерфейсом crypto. Подробности смотрите в документации ядра Linux Kernel Crypto API из каталога исходного кода ядра Documentation/crypto/ (или в Documentation/DocBook до версии 4.10; эта документация может быть создана по команде make htmldocs в корневом каталоге дерева исходного кода ядра). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/cpuinfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это коллекция элементов, зависящих от процессора и системной архитектуры; для каждой поддерживаемой архитектуры список различен. Имеются только две общих записи: processor — обозначает номер процессора и bogomips— системная константа, которая высчитывается во время инициализации ядра. Для многопроцессорных машин информация предоставляется по каждому процессору. Команда lscpu(1) берёт информацию из этого файла. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/devices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Текстовый список старших (major) номеров устройств и групп устройств. Он может быть использован сценариями MAKEDEV для того, чтобы создать устройства, поддерживаемые ядром. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/diskstats (начиная с Linux 2.5.69) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл со статистикой дискового ввода-вывода по каждому устройству. Дополнительная информация доступна в файле Documentation/iostats.txt из исходного кода ядра Linux. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/dma | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Список рабочих зарегистрированных каналов DMA (прямого доступа в память) ISA. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/driver | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пустой подкаталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/execdomains | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Список доменов исполнения (индивидуально для ABI). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/fb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация о фрейм-буфере, если ядро собрано с поддержкой CONFIG_FB. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/filesystems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Текстовый список файловых систем, которые поддерживаются ядром, а именно файловые системы, вкомпилированные в ядро или загруженные в данный момент модулями (смотрите также filesystems(5)). Если файловая система помечена как «nodev», то это означает, что для неё не требуется монтировать блочное устройство (например, виртуальная и сетевая файловые системы). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В частности, этот файл может использоваться программой mount(8) для поиска нужной файловой системы, если она не указана при монтировании и её тип невозможно определить. При этом пробуются все файловые системы из этого файла (за исключением помеченных как «nodev»). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/fs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит подкаталоги, которые, в свою очередь, содержат файлы с информацией о (некоторых) смонтированных файловых системах. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/ide | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный подкаталог существует в системах с шиной IDE. Для каждого канала IDE и подключенных устройств имеется отдельный каталог. Файлы каталога: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cache размер буфера в KБ capacity количество секторов driver версия драйвера geometry физическая и логическая геометрия identify в шестнадцатеричном виде media тип носителя model номер модели производителя settings настройки драйвера smart_thresholds в шестнадцатеричном виде smart_values в шестнадцатеричном виде | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Утилита hdparm(8) предоставляет доступ к этой информации в дружественном формате. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/interrupts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Используется для записи количества прерываний по каждому процессору и по каждому устройству ввода-вывода. Начиная с Linux 2.6.24 для архитектур i386- и x86-64 (по крайней мере), также включены внутренние прерывания системы (то есть, не связанные с устройством как таковым), такими как NMI (немаскируемые прерывания), LOC (прерывание локального таймера) и для многопроцессорных систем: TLB (прерывание сброса TLB), RES (прерывание перепланирования), CAL (прерывание вызова удалённой функции), и, возможно другие. Очень легко понять, так как записи в ASCII. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/iomem | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Карта памяти ввода/вывода в Linux 2.4. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/ioports | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Список зарегистрированных областей портов ввода-вывода, которые используются в данный момент. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kallsyms (начиная с Linux 2.5.71) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит определения экспортируемых ядром символов, используемые инструментами modules(X) для динамической компоновки и связывания загружаемых модулей. В Linux 2.5.47 и ранее был подобный файл ksyms, но имел немного другой синтаксис. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kcore | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл отображает физическую память системы и хранится в формате ELF core. С помощью этого псевдо-файла и ядра, из которого не убраны таблицы символов (/usr/src/linux/vmlinux), можно использовать GDB для проверки текущего состояния любых структур данных ядра. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Полная длина этого файла — это размер физической памяти (RAM) плюс 4 КиБ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/keys (начиная с Linux 2.6.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите keyrings(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/key-users (начиная с Linux 2.6.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите keyrings(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kmsg | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл может быть использован вместо системного вызова syslog(2) для чтения сообщений ядра. Процесс должен иметь привилегии суперпользователя, чтобы читать этот файл, причём делать это может только один процесс. Данный файл невозможно прочесть, если запущен процесс syslog, который использует системный вызов syslog(2) для протоколирования сообщений ядра. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация из этого файла извлекается с помощью программы dmesg(1). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kpagecgroup (начиная с Linux 4.3) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится 64-битный номер иноды, относящийся к каждой странице памяти cgroup, проиндексированные по номеру страничного кадра (смотрите описание /proc/[pid]/pagemap). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/kpagecgroup существует только, если включён параметр настройки ядра CONFIG_MEMCG. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kpagecount (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится 64-битный счётчик, который показывает сколько раз отображался каждый физический страничный кадр (physical page frame). Индексация счётчиков выполнена по номеру страничного кадра (смотрите описание /proc/[pid]/pagemap). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/kpagecount существует только, если включён параметр настройки ядра CONFIG_PROC_PAGE_MONITOR. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/kpageflags (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится 64-битная маска каждого физического страничного кадра (physical page frame); Индексация масок выполнена по номеру страничного кадра (смотрите описание /proc/[pid]/pagemap). Биты маски: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 - KPF_LOCKED 1 - KPF_ERROR 2 - KPF_REFERENCED 3 - KPF_UPTODATE 4 - KPF_DIRTY 5 - KPF_LRU 6 - KPF_ACTIVE 7 - KPF_SLAB 8 - KPF_WRITEBACK 9 - KPF_RECLAIM 10 - KPF_BUDDY 11 - KPF_MMAP (начиная с Linux 2.6.31) 12 - KPF_ANON (начиная с Linux 2.6.31) 13 - KPF_SWAPCACHE (начиная с Linux 2.6.31) 14 - KPF_SWAPBACKED (начиная с Linux 2.6.31) 15 - KPF_COMPOUND_HEAD (начиная с Linux 2.6.31) 16 - KPF_COMPOUND_TAIL (начиная с Linux 2.6.31) 17 - KPF_HUGE (начиная с Linux 2.6.31) 18 - KPF_UNEVICTABLE (начиная с Linux 2.6.31) 19 - KPF_HWPOISON (начиная с Linux 2.6.31) 20 - KPF_NOPAGE (начиная с Linux 2.6.31) 21 - KPF_KSM (начиная с Linux 2.6.32) 22 - KPF_THP (начиная с Linux 3.4) 23 - KPF_BALLOON (начиная с Linux 3.18) 24 - KPF_ZERO_PAGE (начиная с Linux 4.0) 25 - KPF_IDLE (начиная с Linux 4.3) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информацию по отдельным битам смотрите в файле исходного кода ядра Documentation/admin-guide/mm/pagemap.rst. До версии ядра 2.6.29, биты KPF_WRITEBACK, KPF_RECLAIM, KPF_BUDDY и KPF_LOCKED показывались некорректно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/kpageflags существует только, если включён параметр настройки ядра CONFIG_PROC_PAGE_MONITOR. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/ksyms (Linux 1.1.23-2.5.47) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите /proc/kallsyms. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/loadavg | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Первые три поля в этом файле содержат параметры средней загрузки, которые предоставляют собой количество заданий в очереди выполнения (состояние R) или ожидают дискового ввода-вывода (состояние D) в среднем за 1, 5 и 15 минут. Это то же самое, что и средняя загрузка, которую выдаёт uptime(1) и другие программы. Четвёртое поле состоит из двух чисел, разделённых косой чертой (/). Первое из них показывает количество исполняемых планируемых ядерных элементов в данный момент (процессы, нити). Значение после косой черты показывает количество планируемых ядерных элементов, существующих в системе. В пятом поле содержится PID процесса, который был создан системой последним. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/locks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл показывает текущие файловые блокировки (flock(2) и fcntl(2)) параметры (fcntl(2)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример содержимого этого файла: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1: POSIX ADVISORY READ 5433 08:01:7864448 128 128 2: FLOCK ADVISORY WRITE 2001 08:01:7864554 0 EOF 3: FLOCK ADVISORY WRITE 1568 00:2f:32388 0 EOF 4: POSIX ADVISORY WRITE 699 00:16:28457 0 EOF 5: POSIX ADVISORY WRITE 764 00:16:21448 0 0 6: POSIX ADVISORY READ 3548 08:01:7867240 1 1 7: POSIX ADVISORY READ 3548 08:01:7865567 1826 2335 8: OFDLCK ADVISORY WRITE -1 08:01:8713209 128 191 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля каждой строки имеют следующее назначение:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 4.9, список блокировок, показываемых в /proc/locks, фильтруется: показываются только блокировки процессов в пространстве имён PID (смотрите pid_namespaces(7)), для которых была смонтирована файловая система /proc (в начальном пространстве имён PID записи этого файла не фильтруются). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Команда lslocks(8) выводит больше информации о каждой блокировке. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/malloc (только до Linux 2.2 включительно) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл существует только, если ядро собрано с поддержкой CONFIG_DEBUG_MALLOC. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/meminfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит статистику по использованию памяти системы. Он используется программой free(1) для формирования отчёта о свободной и используемой памяти (как физической, так и подкачки), а также общей памяти и памяти под буферы, которую использует ядро. В каждой строке файла содержится имя параметра, двоеточие, значение параметра и необязательная единица измерения (например, «kB»). В списке далее описываются параметры и определитель формата, требуемый для чтения значения поля. За исключением замечаний, представленных ниже, все показанные поля имеются начиная с Linux 2.6.0. Некоторые поля появляются только, если ядро собрано с определёнными параметрами; это зависимости также показаны в списке.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/modules | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Текстовый список модулей, которые были загружены системой. Смотрите также lsmod(8). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/mounts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До ядра версии 2.4.19, в этом файле содержался список всех файловых систем, которые примонтированы в настоящий момент. С введением попроцессных пространств имён монтирования в Linux 2.4.19 (смотрите mount_namespaces(7)), этот файл стал указывать на /proc/self/mounts, в котором представлен список точек монтирования из пространства монтирования процесса. Формат этого файла описан в fstab(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/mtrr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Диапазонные регистры типа памяти. Подробности смотрите в файле дерева исходного кода ядра Linux Documentation/x86/mtrr.txt (или Documentation/mtrr.txt до Linux 2.6.28). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог хранит различные файлы и подкаталоги, содержащие информацию о сетевой подсистеме. В файлах используются структуры в ASCII и поэтому их можно читать утилитой cat(1). Однако, стандартная комплект netstat(8) предоставляет более понятную информацию из этих файлов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
С появлением сетевых пространств имён различная информация о сетевом стеке стала виртуализированной (смотрите namespaces(7)). То есть, начиная с Linux 2.6.25 файл /proc/net — это символическая ссылка на каталог /proc/self/net, в котором содержатся те же файлы и каталоги, перечисленные ниже. Однако эти файлы и каталоги теперь отражают информацию для сетевого пространства имён, в котором числится процесс. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/arp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл содержит читабельный ASCII-дамп ARP таблицы ядра, которая используется для определения адресов. Она покажет как полученные динамически, так и заданные явно записи ARP. Формат файла: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP address HW type Flags HW address Mask Device 192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0 192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Здесь "IP-адрес" это адрес машины в нотации IPv4, "Тип обор." это тип аппаратного обеспечения для этого адреса согласно RFC 826. Флаги — это внутренние флаги структуры ARP(определённые в /usr/include/linux/if_arp.h), а "Аппарат. адрес" — это адрес канального уровня для IP-адреса, если он известен. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/dev | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Псевдо-файл dev содержит информацию о состоянии сетевых устройств. Она представляет собой количество принятых и отправленных пакетов, количество ошибок и коллизий и другую базовую статистику. Эта информация используется программой ifconfig(8) для вывода отчёта о состоянии устройства. Формат информации: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0 eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0 ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0 tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/dev_mcast | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Определено в /usr/src/linux/net/core/dev_mcast.c: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
индекс имя_интерфейса dmi_u dmi_g адрес_dmi 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/igmp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Internet Group Management Protocol (протокол управления группами Интернета). Определён в /usr/src/linux/net/core/igmp.c. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/rarp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл использует тот же формат, что и файл arp и содержит текущую обратную базу данных адресов ARP, используемую при работе служб обратного поиска адресов rarp(8). Если поддержки RARP нет в ядре, то этот файл не существует. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/raw | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит дамп таблицы неструктурированных (RAW) сокетов. Большая часть этой информации не используется ни для чего, кроме отладки. Значение «s»" — это хэшируемый слот ядра для сокета, «local_address» — это пара локальный адрес, номер протокола. «St» — это внутреннее состояние сокета. «tx_queue» и «rx_queue» — это исходящая и входящая очереди данных в том, виде в каком они используются в памяти ядра. Поля «tr», «tm->when» и «rexmits» не используются в RAW. Поле «uid» содержит эффективный UID создателя сокета. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/snmp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит ASCII данные, необходимые SNMP-агенту для баз управляющей информации IP, ICMP, TCP и UDP. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/tcp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит дамп таблицы TCP-сокетов. Большая часть этой информации не используется ни для чего, кроме отладки. Значение «sl» — это хэшируемый слот ядра для сокета, «local_address» — это пара локальный адрес и номер порта. «rem_address» — это пара удалённого локального адреса и номера порта. «st» — это внутреннее состояние сокета. «tx_queue» и «rx_queue» — это исходящая и входящая очереди данных в том, виде в каком они используются в памяти ядра. Поля «tr», «tm->when» и «rexmits» содержат внутреннюю информацию ядра о состоянии сокета и полезны только для отладки. Поле «uid» содержит эффективный UID создателя сокета. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/udp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит дамп таблицы UDP-сокетов. Большая часть этой информации не используется ни для чего, кроме отладки. Значение «sl» — это хэшируемый слот ядра для сокета, «local_address» — это пара локальный адрес и номер порта. «rem_address» — это пара удалённого локального адреса и номера порта. «st» — это внутреннее состояние сокета. «tx_queue» и «rx_queue» — это исходящая и входящая очереди данных в том, виде в каком они используются в памяти ядра. Поля «tr», «tm->when» и «rexmits» не используются в UDP. Поле «uid» содержит эффективный UID создателя сокета. Формат: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/unix | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Показывает список доменных сокетов UNIX, присутствующих в системе, а также их состояния. Формат: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Num RefCount Protocol Flags Type St Inode Path 0: 00000002 00000000 00000000 0001 03 42 1: 00000001 00000000 00010000 0001 01 1948 /dev/printer |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/net/netfilter/nfnetlink_queue | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится информация об очередях netfilter в пользовательском пространстве (если используется). Каждая строка описывает очередь. Очередь, на которые которые не было подписок из пространства пользователя, не показываются. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 4207 0 2 65535 0 0 0 1 (1) (2) (3)(4) (5) (6) (7) (8) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля каждой строки:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последний номер существует только для совместимости и всегда равен 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/partitions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержит старший (major) и младший (minor) номер каждого раздела, а также количество 1024-байтных блоков и имя раздела. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/pci | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это список всех устройств PCI, найденных во время инициализации ядра, а также их конфигурация. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл устарел и был заменён на новый интерфейс /proc для PCI (/proc/bus/pci). Он стал необязательным в Linux 2.2 (доступен, если установлен параметр сборки ядра CONFIG_PCI_OLD_PROC). Он стал ещё более необязательным в Linux 2.4. В Linux 2.6 он стал не рекомендуемым (но ещё доступным через параметр CONFIG_PCI_LEGACY_PROC), и, наконец, был полностью удалён в Linux 2.6.17. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/profile (начиная с Linux 2.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный файл существует только, если ядро загружено с параметром командной строки profile=1. В нём содержится профилирующая информация ядра в двоичном формате, которую использует readprofile(1). Запись (например, пустой строки) в этот файл обнуляет счётчики профилирования; на некоторых архитектурах запись двоичного целого «профилирующего умножителя» размером с sizeof(int) устанавливает частоту профилирующего прерывания. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/scsi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Каталог с псевдо-файлом scsi и различными каталогами низкоуровневых драйверов SCSI, которые содержат по одному файлу на каждый SCSI-узел в системе, и которые представляют некоторую информацию о части подсистемы ввода/вывода SCSI. Данные файлы содержат ASCII структуры и прекрасно читаются утилитой cat(1). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Также вы можете писать в некоторые из этих файлов для перенастройки подсистемы или включения/выключения некоторых возможностей. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/scsi/scsi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это список всех SCSI-устройств, которые известны ядру. Список похож на тот, что выдается при начальной загрузке. scsi в настоящий момент поддерживает только команду add-single-device, которая позволяет суперпользователю добавлять устройства на ходу, без выключения машины. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Команда | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo \(aqscsi add-single-device 1 0 5 0\(aq > /proc/scsi/scsi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
заставит адаптер scsi1 просканировать SCSI канал 0, чтобы найти устройство с ID 5 и LUN 0. Если по этому адресу уже есть известное устройство или если заданный адрес неправилен, то будет возвращена ошибка. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/scsi/[имя_драйвера] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Именем_драйвера] в настоящий момент могут быть: NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore или wd7000. Эти каталоги показывают все драйверы, который зарегистрированы хотя бы одним SCSI HBA. Каждый каталог содержит по одному файлу на каждый зарегистрированный узел. Имя каждого узла соответствует номеру, который был получен этим узлом во время инициализации. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Чтение данных файлов обычно показывает информацию о конфигурации драйвера и узла, статистику и т. п. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Записывая в эти файлы, можно добиться различных результатов от разных узлов. Например, командами latency и nolatency суперпользователь может включить и выключить команду кода вычисления задержки в драйвере eata_dma. Командами lockup и unlock суперпользователь может управлять блокировками шины, которые симулирует драйвер scsi_debug. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/self | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог указывает на процесс, обращающийся к файловой системе /proc, и идентичен каталогу /proc, соответствующему номеру этого процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/slabinfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация о кэшах ядра. Подробности в slabinfo(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/stat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Статистика ядра/системы. Различается для разных архитектур. Общие элементы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/swaps | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Используемое пространство подкачки. См. также swapon(8). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог (присутствующий, начиная с версии 1.3.57) содержит несколько файлов и подкаталогов, которые соответствуют переменным ядра. Эти переменные могут быть прочитаны и иногда изменены через файловую систему /proc, а также с помощью (не рекомендуется) системного вызова sysctl(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Строковые значения могут заканчиваться \(aq\0\(aq или \(aq\n\(aq. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Целые и длинные целые значения могут записываться в десятичной или шестнадцатеричной системе счисления (например, 0x3FFF). При записи нескольких значений их можно разделять любым из следующих пробельных символов: \(aq \(aq, \(aq\t\(aq или \(aq\n\(aq. При использовании других разделителей возникает ошибка EINVAL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/abi (начиная с Linux 2.4.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог может содержать файлы информацию об исполнении приложений (application binary information). Дополнительную информацию смотрите в файле исходного кода ядра Linux Documentation/sysctl/abi.txt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/debug | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог может быть пуст. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/dev | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог содержит информацию, специфичную для устройств (например, dev/cdrom/info). В некоторых системах он может быть пуст. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталог, содержащий файлы и подкаталоги с переменными ядра, касающиеся файловых систем. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/binfmt_misc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Документацию по файлам в этом каталоге можно найти в файле исходного кода ядра Linux Documentation/admin-guide/binfmt-misc.rst (в старых ядрах — в Documentation/binfmt_misc.txt). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/dentry-state (начиная с Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл содержит информацию о состоянии кэша каталогов (dcache). В нём есть шесть чисел, nr_dentry, nr_unused, age_limit (возраст в секундах), want_pages (страниц, запрошенных системой) и два пустых значения.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/dir-notify-enable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл может быть использован для включения и выключения интерфейса dnotify, описанного в fcntl(2), во всей системе. Значение 0 в этом файле отключает интерфейс, а значение 1 включает его. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/dquot-max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл показывает максимальное количество кэшируемых элементов дисковых квот. В некоторых (2.4) системах его нет. Если число свободных кэшируемых дисковых квот является очень маленьким, а у вас в системе одновременно работает большое количество пользователей, то вам, возможно, захочется увеличить этот лимит. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/dquot-nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл показывает количество выделенных в использование элементов дисковых квот и количество свободных элементов дисковых квот. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/epoll (начиная с Linux 2.6.28) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержится файл max_user_watches, который можно использовать для ограничения количества памяти ядра, потребляемой интерфейсом epoll. Подробности смотрите в epoll(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/file-max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл показывает системный лимит на количество открытых файлов для всех процессов. Системные вызовы, возвращающие ошибку при достижении этого лимита возвращают ENFILE (смотрите также setrlimit(2), который можно использовать, чтобы установить ограничение RLIMIT_NOFILE на количество открытых файлов файлов на процесс). Если вы получаете большое количество сообщений в журнале ядра об ошибках о невозможности открыть файловые дескрипторы (такие как «VFS: file-max limit <number> reached»), попытайтесь увеличить это значение: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo 100000 > /proc/sys/fs/file-max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Привилегированный процесс (с CAP_SYS_ADMIN) может изменять ограничение file-max. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/file-nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл (доступный только для чтения) содержит три числа: количество выделенных файловых дескрипторов (handles), количество свободных файловых дескрипторов (handles) и максимальное количество файловых дескрипторов (handles). Ядро выделяет файловые дескрипторы динамически, но оно не освобождает их сразу же. Если количество выделенных файловых дескрипторов приближается к максимальному, то вам необходимо увеличить максимальное значение. До Linux 2.6 ядро выделяло файловые дескрипторы динамически, но не освобождало их. Вместо этого свободные файловые дескрипторы оставались в списке для повторного выделения; значение «количество свободных файловых дескрипторов» показывает размер этого списка. Большое когда количество свободных файловых дескрипторов указывает на то, что ранее был пик использования свободных файловых дескрипторов. Начиная с Linux 2.6 ядро освобождает свободные файловые дескрипторы и «количество свободных файловых дескрипторов» всегда равно 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/inode-max (только до Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит максимальное количество индексных дескрипторов, находящихся в памяти. Это значение должно быть в 3-4 раза больше, чем максимальное значение в file-max, так как stdin, stdout и сетевым сокетам также необходимы индексные дескрипторы. Если вам регулярно не хватает индексных дескрипторов, то вам необходимо увеличить это значение. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 2.4, больше не существует статического ограничения на количество индексных дескрипторов и этот файл удалён. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/inode-nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит первые два значения из inode-state. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/inode-state | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит сем чисел: nr_inodes, nr_free_inodes, preshrink и четыре заглушки (всегда равные нулю). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В nr_inodes содержится количество выделенных системой индексных дескрипторов. В nr_free_inodes содержится количество свободных индексных дескрипторов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение preshrink не равно нулю, если nr_inodes > inode-max и системе нужно сократить список индексных дескрипторов, а не выделять новые; начиная с Linux 2.4 это значение не используется (всегда равно нулю). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/inotify (начиная с Linux 2.6.13) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог содержит файлы max_queued_events, max_user_instances, и max_user_watches, которые можно использовать для ограничения количества памяти ядра, потребляемом интерфейсом inotify. Подробней смотрите в inotify(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/lease-break-time | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле задаётся период, в течении которого, ядро предоставляет процессу возможность удерживать файл (fcntl(2)), по окончании которого оно посылает сигнал процессу, извещая его о том, что другой процесс ожидает открытия этого файла. Если удерживающий файл процесс не удалит или не отменит удержание файла в течении указанного периода, то ядро принудительно снимет удержание. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/leases-enable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл можно использовать, чтобы разрешить или запретить в системе возможность удержания файла (fcntl(2)). Если файл содержит 0, удержание запрещено. Если не ноль — разрешено. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/mount-max (начиная с Linux 4.9) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение в этом файле задаёт максимальное количество монтирований, которые могут существовать в пространстве имён монтирования. Значения файла по умолчанию равно 100000. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/mqueue (начиная с Linux 2.6.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержатся файлы msg_max, msgsize_max и queues_max, которые контролируют ресурсы, используемые очередями сообщений POSIX. Подробней смотрите в mq_overview(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/nr_open (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл налагает потолок на значение, до которого может быть повышен ограничитель ресурса RLIMIT_NOFILE (смотрите getrlimit(2)). Этот потолок применяется к непривилегированным и привилегированным процессам. Значение по умолчанию в этом файле равно 1048576 (до Linux 2.6.25 потолок для RLIMIT_NOFILE был неизменяемым с этим же значением). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/overflowgid и /proc/sys/fs/overflowuid | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эти файлы позволяют вам изменить значение фиксированных UID и GID. По умолчанию оно равно 65534. Некоторые файловые системы поддерживают только 16-битные UID и GID, в то время как в Linux UID и GID являются 32-битными. Когда монтируется одна из таких файловых систем с правами, позволяющими запись, все UID или GID, которые превышают 65535, транслируются перед записью на диск в значения переполнения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/pipe-max-size (начиная с Linux 2.6.35) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите pipe(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/pipe-user-pages-hard (начиная с Linux 4.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите pipe(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/pipe-user-pages-soft (начиная с Linux 4.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите pipe(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/protected_hardlinks (начиная с Linux 3.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в файле равно 0, то на создание жёстких ссылок не накладываются ограничения (соответствует поведению до Linux 3.6). Если значение в файле равно 1, то жёсткая ссылка может быть создана, если соблюдается одно из следующих условий:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию в файле равно 0. Установка значения в 1 закрывает долголетний класс проблем с безопасностью, вызванных проверкой времени на основе жёсткой ссылки, состязательностью при использовании времени, наиболее часто встречающейся в каталогах доступным на запись всем, таким как /tmp. Распространённый метод использования этой уязвимости — присвоение прав при переходе по жёсткой ссылке (т.е., процесс суперпользователя переходит по жёсткой ссылке, созданной другим пользователем). Также, в системах без выделенных разделов это останавливает неправомочных пользователей от «закрепления» уязвимых файлов с битами set-user-ID и set-group-ID при выполнении администратором обновления, или компоновки со специальными файлами. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/protected_symlinks (начиная с Linux 3.6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в этом файле равно 0, то на переход по символьным ссылкам никаких ограничений не накладывается (т. е., обычное поведение ядра Linux до версии 3.6). Если значение в файле равно 1, то переход по символьным ссылкам происходит только при следующих условиях:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Системный вызов, который не может перейти по символьной ссылке из-за перечисленных выше ограничений, возвращает ошибку EACCES в errno. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию в файле равно 0. Установка значения в 1 закрывает долголетний класс проблем с безопасностью, вызванных проверкой времени, состязательностью при использовании времени при доступе к символьным ссылкам. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/suid_dumpable (начиная с Linux 2.6.13) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение из этого файла присваивается флагу «возможность создания дампа» процесса в случаях, описанных в prctl(2). Фактически, значение в этом файле определяет будут ли создаваться файлы дампа памяти для файлов с установленным битом set-user-ID или других защищённых/с добавкой (tainted) исполняемых файлов. Настройка «возможность создания дампа» также влияет на владение файлами в каталоге процесса /proc/[pid] как описано выше. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Можно указать три разных целых значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
О том, как влияет флаг «возможности создания дампа» процесса на проверку режима доступа ptrace, смотрите в ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/super-max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл управляет максимальным значением суперблоков и таким образом максимальным количеством файловых систем, которое может смонтировать ядро. Вам необходимо увеличивать super-max только в том случае, если нужно смонтировать больше файловых систем, чем это позволяет значение в файле super-max. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/fs/super-nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит количество файловых систем, которое смонтировано в данный момент. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержатся файлы, контролирующие набор параметров ядра, описанных далее. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/acct | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержатся три числа: highwater, lowwater и frequency. Если включён учёт процессов в стиле BSD, то эти значения управляют его поведением. Если свободного места на файловой системе, куда осуществляется протоколирование учёта, становится меньше, чем lowwater процентов, то учёт процессов приостанавливается. Если свободного места становится больше, чем highwater процентов, то учёт процессов возобновляется. Значение frequency определяет как часто ядро проверяет свободное место (в секундах). По умолчанию значения соответственно составляют 4, 2 и 30. Таким образом, приостановка учёта осуществляется, если свободно менее 2% места на диске; возобновление если места больше или равно 4%; информация о свободном месте обновляется каждые 30 секунд. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/auto_msgmni (Linux с 2.6.27 по 3.18) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
С Linux 2.6.27 по 3.18 этот файл использовался для управления перерасчётом значения в /proc/sys/kernel/msgmni при добавлении или удалении памяти или при создании/удалении пространства имён IPC. Запись «1» в этот файл включает автоматический перерасчёт msgmni (и возбуждает перерасчёт msgmni на основе текущего количества доступной памяти и количества пространств имён IPC). Запись «0» отключает автоматический перерасчёт (также автоматический перерасчёт отключается, если значение /proc/sys/kernel/msgmni было назначено явно). Значением auto_msgmni по умолчанию было 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 3.19 содержимое этого файла не учитывается (так как значение msgmni по умолчанию близко к максимально возможному), а чтение из этого файла всегда возвращает «0». | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/cap_last_cap (начиная с Linux 3.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите capabilities(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/cap-bound (с Linux 2.2 до 2.6.24) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит набор привязанных мандатов ядра (выражаемый как десятичные числа со знаком). Этот набор мандатов, предоставляемых процессу во время execve(2), которые складываются посредством битового умножения (AND). Начиная с Linux 2.6.25, глобального набора привязанных мандатов больше нет, теперь свой набор привязанных мандатов есть у каждой нити; смотрите capabilities(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/core_pattern | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите core(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/core_pipe_limit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите core(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/core_uses_pid | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите core(5). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/ctrl-alt-del | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл управляет обработкой нажатия клавиш Ctrl-Alt-Del. Когда значение в этом файле равно 0, Ctrl-Alt-Del обрабатывается и производит вызов программы init(1) для выполнения контролируемого перезапуска системы. Когда значение в файле больше 0, реакция Linux соответствует Vulcan Nerve Pinch (tm) [коронный приём расы Vulcan, см. сериал Star Trek], согласно которому произойдёт немедленная перезагрузка, даже без синхронизации буферов дисков. Замечание: когда какая-либо программа (типа dosemu) работает с клавиатурой в режиме «без обработки», нажатие ctrl-alt-del обработается этой программой, до того как оно достигнет уровня tty ядра и, таким образом, именно эта программа будет решать, что делать. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/dmesg_restrict (начиная с Linux 2.6.37) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение этого файла определяет, кто может видеть содержимое syslog от ядра. Значение 0 снимает все ограничения. Если значение равно 1,то только привилегированные пользователи могут читать syslog от ядра (подробности смотрите syslog(2) в). Начиная с Linux 3.4, только пользователи с мандатом CAP_SYS_ADMIN могут изменять содержимое этого файла. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/domainname и /proc/sys/kernel/hostname | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
могут быть использованы для установки имени домена службы NIS/YP и имени узла вашей машины точно таким же образом как и командами domainname(1) и hostname(1), т.е.: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname # echo \(aqmydomain\(aq > /proc/sys/kernel/domainname | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
выполнят тоже самое, что и команды | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# hostname \(aqdarkstar\(aq # domainname \(aqmydomain\(aq | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Однако заметим, что классический darkstar.frop.org имеет имя узла "darkstar" и доменное имя DNS (Сервера Доменных Имен) "frop.org", не путайте с доменным именем NIS (Службы Сетевой Информации) или как она раньше называлась YP (Yellow Pages). Эти два доменных имени полностью различны по своей сути. Подробности об это можно найти в справочной странице hostname(1). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/hotplug | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит путь для агента политики устройств. По умолчанию это файл /sbin/hotplug. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/htab-reclaim (до Linux 2.4.9.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(только для PowerPC) Если значение в этом файле установлено в ненулевое значение, то PowerPC htab (см. файл Documentation/powerpc/ppc_htab.txt в исходном коде ядра) сокращается каждый раз, когда система входит в цикл простоя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/keys/* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержатся различные файлы, определяющие параметры и ограничения инфраструктуры управления ключами. Эти файлы описаны в keyrings(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/kptr_restrict (начиная с Linux 2.6.38) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значением этого файла определяется будут ли видны ядра ядра, показываемые в файлах /proc и других интерфейсах. Значение 0 снимает все ограничения. Если значение равно 1, то указатели ядра, выводимые по формату %pK, будут заменены на нули, если пользователь не имеет мандата CAP_SYSLOG. Если значение равно 2, то указатели ядра, выводимые по формату %pK, будут заменены на нули, независимо от наличия мандатов у пользователя. В начале значение по умолчанию было равно 1, но изменилось на 0 в Linux 2.6.39. Начиная с Linux 3.4, только пользователи с мандатом CAP_SYS_ADMIN могут изменять значение в этом файле. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/l2cr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(только для PowerPC) Этот файл содержит флаг, который управляет кэшем L2 на процессорных платах G3. Если 0, кэш выключен. Если не ноль, то включён. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/modprobe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом файле содержится путь к загрузчику модулей ядра. Значение по умолчанию равно /sbin/modprobe. Файл существует только, если ядро собрано с параметром CONFIG_MODULES (CONFIG_KMOD — в Linux 2.6.26 и более ранних). Он описан в файле Documentation/kmod.txt из дерева исходного кода ядра Linux (есть только в ядре версии 2.4 и более ранних). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/modules_disabled (начиная с Linux 2.6.31) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение-переключатель, показывающий, можно ли загружать модули в модульное ядро. Значение по умолчанию равно 0 (можно загружать), но может быть установлено в 1 (нельзя загружать). При значении 1 модули нельзя не загружать не выгружать, и значение-переключатель тоже нельзя изменить. Данный файл появляется только, если ядро собрано с включённым параметром CONFIG_MODULES. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/msgmax (начиная с Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет системный лимит на максимальное число байт в одном сообщении, которое пишется в очередь сообщений System V. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/msgmni (начиная с Linux 2.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет системное ограничение на количество идентификаторов в очереди сообщений. Смотрите также /proc/sys/kernel/auto_msgmni. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/msgmnb (начиная с Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет системный параметр, используемый при начальной настройке msg_qbytes для последовательно создаваемых очередей сообщений. Настройка msg_qbytes задаёт максимальное число байт, которые могут быть записаны в очередь сообщений. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/ngroups_max (начиная с Linux 2.6.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл только для чтения, отображает верхний предел на количество членов группы процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/ns_last_pid (начиная с Linux 3.3) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите pid_namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/ostype и /proc/sys/kernel/osrelease | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эти файлы содержат подстроки из /proc/version. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/overflowgid и /proc/sys/kernel/overflowuid | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эти файлы дублируют файлы /proc/sys/fs/overflowgid и /proc/sys/fs/overflowuid. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/panic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл предоставляет доступ на чтение и запись к переменной ядра panic_timeout. Если значение в файле равно нулю, ядро будет зацикливаться при крахе системы по panic; если не ноль, то это означает, что ядро должно выполнить автоматическую перезагрузку после этого количества секунд. Когда вы используете программный драйвер устройства watchdog (устройство, периодически делающее проверку, что система функционирует), то рекомендуется установить значение 60. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/panic_on_oops (начиная с Linux 2.5.68) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл управляет поведением ядра, когда случается oops или BUG. Если файл содержит 0, то система пытается продолжить работу. Если содержит 1, то система выполняет задержку на несколько секунд (чтобы дать время klogd записать вывод oops) и затем генерирует крах системы через panic. Если файл /proc/sys/kernel/panic также содержит ненулевое значение, то машина будет перезагружена. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/pid_max (начиная с Linux 2.5.34) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл задаёт значение, после которого идентификаторы процессов (PID)начинают использоваться с начала (т. е., значение в этом файле на единицу больше,чем максимальный PID). Значения PID больше этого значения не выделяются; то есть значение в этом файле также служит системным ограничением общего количества процессов и нитей. По умолчанию, значение в этом файле составляет 32768, т. е. означает тот же самый диапазон PID-ов, что и в ранних ядрах. На 32-битных платформах максимальное значение pid_max равно 32768. На 64-битных платформах pid_max может принимать любое значение до 2^22 (PID_MAX_LIMIT, приблизительно 4 миллиона). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/powersave-nap (только на PowerPC) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит флаг. Если он установлен Linux-PPC будет использовать режим "nap" для энергосбережения, в противном случае будет использоваться режим "doze". | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/printk | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите syslog(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/pty (начиная с Linux 2.6.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этом каталоге содержится два файла, отражающих количество псевдо-терминалов UNIX 98 (см. pts(4)) в системе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/pty/max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет максимальное количество псевдо-терминалов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/pty/nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл доступен только для чтения, показывает количество используемых в данный момент псевдо-терминалов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/random | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог содержит различные параметры, управляющие работой файла /dev/random. Дополнительную информацию смотрите в random(4). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/random/uuid (начиная с Linux 2.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
При каждом чтении из этого, доступного только для чтения файла, возвращается генерируемый случайным образом 128-битный UUID в виде строки в стандартном формате UUID. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/randomize_va_space (начиная с Linux 2.6.12) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Выбирает политику случайного выбора адресного пространства (ASLR) в системе (на архитектурах с поддержкой ASLR). Возможны три значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/real-root-dev | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл описывается в файле исходного кода ядра Linux Documentation/admin-guide/initrd.rst (или Documentation/initrd.txt до Linux 4.10). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/reboot-cmd (только на Sparc) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл, вероятно, является способом задания аргументов для начального загрузчика SPARC ROM/Flash. Способ сказать ему, что делать после перезагрузки? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/rtsig-max | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Только в ядре 2.6.7 и более ранних; см. setrlimit(2)) Этот файл может быть использован для настройки максимального количества сигналов реального времени POSIX (в очереди), которое может воспринять система. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/rtsig-nr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Только в ядре 2.6.7 и более ранних) Этот файл показывает количество сигналов реального времени POSIX, которые в настоящий момент находятся в очереди. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/[pid]/sched_autogroup_enabled (начиная с Linux 2.6.38) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите sched(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sched_child_runs_first (начиная с Linux 2.6.23) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если этот файл содержит нулевое значение, то после fork(2) первым на ЦП планируется выполнение родителя. Если файл содержит ненулевое значение, то первым на ЦП планируется выполнение потомка (естественно, на многопроцессорной системе может быть запланировано немедленное одновременное выполнение и родителя и потомка). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sched_rr_timeslice_ms (начиная с Linux 3.9) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите sched_rr_get_interval(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sched_rt_period_us (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите sched(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sched_rt_runtime_us (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите sched(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/seccomp (начиная с Linux 4.14) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог содержит дополнительную информацию и настройки seccomp. Подробней смотрите в seccomp(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sem (начиная с Linux 2.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит 4 значения, описывающих ограничения семафоров System V IPC. Вот эти значения по порядку:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sg-big-buff | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл показывает размер буфера стандартного SCSI устройства (sg). Вы не можете пока настраивать его, но его можно изменить при компиляции ядра, исправив include/scsi/sg.h, изменив в нём значение SG_BIG_BUFF. Однако, в этом, как правило, нет необходимости. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/shm_rmid_forced (начиная с Linux 3.1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в файле равно 1, то все общие сегменты памяти System V будут помечены на уничтожение сразу после сокращения присоединённых процессов до нуля; другими словами становится невозможно создать сегмент общей памяти, существующий независимо от присоединённого процесса. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это подобно тому, как если бы выполнили shmctl(2) IPC_RMID для всех существующих сегментов, а также выполняли бы для всех сегментов, создаваемых в будущем (пока значение в файле не будет сброшено в 0). Заметим, что при задании в файле значения 1 существующие сегменты, не присоединённые к процессу, будут немедленно уничтожены. Установка этого значения также будет уничтожать сегменты, которые были созданы, но не присоединены — при завершении процесса, который создал эти сегменты с помощью shmget(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Установка значения в 1 позволяет быть уверенным, что все общие сегменты памяти System V подсчитаны и следуют заданным ограничениям ресурсов, как минимум, в одном процессе (смотрите описание RLIMIT_AS в getrlimit(2)). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Так как установка в этом файле значения 1 вызывает нестандартное поведение и может привести к неработоспособности приложений, значение по умолчанию равно 0. Указывайте значение 1 только, если хорошо понимаете работу приложений, использующих общую память System V. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/shmall (начиная с Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит системный лимит на общее количество страниц общей памяти по стандарту System V. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/shmmax (начиная с Linux 2.2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл может быть использован для опроса и установки ограничения максимального размера сегмента общей памяти по стандарту System V во время выполнения. В настоящий момент ядро поддерживает сегменты общей памяти до 1ГБ. Значение по умолчанию равно SHMMAX. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/shmmni (начиная с Linux 2.4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Задаёт максимальное системное ограничение на количество создаваемых общих сегментов памяти по стандарту System V. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sysctl_writes_strict (начиная с Linux 3.16) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значением в этом файле определяется как учитывать файловое смещение при обновлении записей в файле /proc/sys. Есть три возможных значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/sysrq | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл контролирует функции, которые можно вызывать по клавише SysRq. По умолчанию в нём содержится 1, которая означает, что разрешены любые возможные запросы SysRq (в старых ядрах SysRq по умолчанию выключена, и её требовалось явно включать при работе, но теперь этого больше не требуется.). Возможные значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл существует только, если включён параметр сборки ядра CONFIG_MAGIC_SYSRQ. Дополнительную информацию можно найти в исходном коде ядра Linux в файле Documentation/admin-guide/sysrq.rst (или Documentation/sysrq.txt до Linux 4.10). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/version | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит строку, такую как: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#5 Wed Feb 25 21:49:24 MET 1998 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Часть «#5» означает, что это пятая сборка ядра от исходной базы, а далее указана дата и время сборки ядра. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/threads-max (начиная с Linux 2.3.11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет системный лимит на количество нитей (задач), которое может быть создано в системе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 4.1, значение, которое можно записать в threads-max ограничено. Минимальное значение равно 20. Максимальное значение определяется константой FUTEX_TID_MASK (0x3fffffff). Если в threads-max записывается значение вне этого диапазона, то возвращается ошибка EINVAL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
По записываемому значению проверяется доступные страницы RAM. Если структуры нити заняли бы слишком много (более 1/8й) доступных страниц RAM, то threads-max сокращается соответствующим образом. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/yama/ptrace_scope (начиная с Linux 3.5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите ptrace(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/kernel/zero-paged (только на PowerPC) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит флаг. Когда он установлен (не ноль), Linux-PPC будет размещать заранее обнулённые страницы в цикле простоя, что возможно увеличит скорость выполнения get_free_pages. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/net | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог содержит некоторую информацию по функционированию сетевой подсистемы. Описание некоторых файлов в этом каталоге можно найти в tcp(7) и ip(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/net/core/bpf_jit_enable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите bpf(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/net/core/somaxconn | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл определяет наименьшее значение параметра backlog системного вызова listen(2); подробности смотрите в справочной странице listen(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/proc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог может быть пуст. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/sunrpc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный каталог поддерживает удалённый вызов процедур Sun для сетевой файловой системы (NFS). В некоторых системах его нет. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/user (начиная с Linux 4.9) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смотрите в namespaces(7). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог содержит файлы для тонкой настройки управления памятью, буферами и кэшем. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/overcommit_kbytes (начиная с Linux 3.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В данном файле задаётся количество свободной памяти (в КиБ) в системе, которое должно быть зарезервировано для пользователей с мандатом CAP_SYS_ADMIN. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию равно минимум от [3% свободных страниц, 8МиБ], выраженное в КиБ. Этого достаточно для того, чтобы суперпользователь смог войти и удалить процесс, если нужно, когда система работает в режиме по умолчанию — «угадывание» перерасхода (т. е., 0 в /proc/sys/vm/overcommit_memory). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для систем, работающих в режиме «без перерасхода» (overcommit never) (т. е., 2 в /proc/sys/vm/overcommit_memory) нужно увеличить значение в этом файле с учётом полного размера виртуальной памяти для программ, используемых при восстановлении (например, login(1) ssh(1) и top(1)). В противном случае суперпользователь не сможет войти для восстановления системы. Например, на x86-64 подходящим значением будет 131072 (резервируется 128 МиБ). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Изменение этого значения влияет на последующие запросы памяти приложениями. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/compact_memory (начиная с Linux 2.6.35) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
При записи в этот файл 1 все зоны уплотняются так, чтобы свободная память была непрерывными блоками насколько это возможно. Результат этого действия можно оценить по файлу /proc/buddyinfo. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Доступен только, если ядро собрано с параметром CONFIG_COMPACTION. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/drop_caches (начиная с Linux 2.6.16) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Запись в этот файл заставляет ядро сбросить чистые кэши, dentries и индексные дескрипторы из памяти, тем самым освобождая её. Это может быть полезно для тестирования управления памятью и выполнения воспроизводимых тестов производительности файловой системы. Так как запись в этот файл вызывает потерю преимуществ кэширования, это может снизить производительность системы в целом. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для освобождения страничного кэша (pagecache) используйте: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo 1 > /proc/sys/vm/drop_caches | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для освобождения dentries и индексных дескрипторов используйте: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo 2 > /proc/sys/vm/drop_caches | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для освобождения страничного кэша, dentries и индексных дескрипторов используйте: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo 3 > /proc/sys/vm/drop_caches | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Так как запись в этот файл — неразрушающая операция и изменившиеся (dirty) объекты не свободны, пользователь сначала должен запустить команду sync(1). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/legacy_va_layout (начиная с Linux 2.6.9) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если не равно нулю, то новая раскладка 32-битного отображения памяти выключается; ядро будет использовать старую (2.4) раскладку для всех процессов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/memory_failure_early_kill (начиная с Linux 2.6.32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Управляет, как завершать процессы, когда неисправленная ошибка памяти (обычно, 2-битная ошибка в модуле памяти), которая не может быть обработана ядром, обнаружена в фоновом режиме аппаратным обеспечением. В некоторых случаях (например, когда страница имеет правильную копию на диске), ядро может может прозрачно исправить ошибку без влияния на приложения. Но если актуальной копии данных нет, то ядро завершит процесс, чтобы остановить распространение повреждения данных. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В файле содержатся следующие значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Такое завершение выполняется с использованием сигнала SIGBUS с установления значения si_code равным BUS_MCEERR_AO. Процессы могут обработать такую ситуацию, если захотят; подробней см. sigaction(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это свойство активно только на архитектурах/платформах с дополнительными проверки и зависит от возможностей аппаратного обеспечения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Приложения могут изменить настройку memory_failure_early_kill для себя с помощью операции PR_MCE_KILL вызова prctl(2). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Доступен только, если ядро собрано с параметром CONFIG_MEMORY_FAILURE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/memory_failure_recovery (начиная с Linux 2.6.32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Включает восстановление отказов памяти (если поддерживается платформой)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Доступен только, если ядро собрано с параметром CONFIG_MEMORY_FAILURE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/oom_dump_tasks (начиная с Linux 2.6.25) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Включает системный дамп задач (исключая ядерные нити), который создаётся когда ядро выполняет OOM-killing. Дамп включает следующую информацию по каждой задаче (нити, процессу): ID нити, реальный ID пользователя, ID группы нитей (ID процесса), размер виртуальной памяти, размер резидентной настройки, процессор, на котором работала задача, счётчик oom_adj (описание смотрите в /proc/[pid]/oom_adj) и имя команды. Эти данные полезны для определения того, почему был вызван OOM-killer и нахождения экземпляра задачи, его вызвавшего. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если в файле содержится нулевое значение, то информация не выдаётся. На очень больших системах с тысячами задач дамп информации о состоянии памяти может быть неосуществим по каждой задаче. Системы не должны страдать от потери производительности из-за возникновения ситуаций с OOM, если такая информация ненужна. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если задано ненулевое значение, то эта информация показывается в момент когда OOM-killer завершает захватившую память задачу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию равно 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/oom_kill_allocating_task (начиная с Linux 2.6.24) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Включает или выключает задачу завершения при OOM (исчерпание свободной памяти). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если это значение равно нулю, то OOM-killer будет сканировать весь список задач и выбирать задачу для завершения на основе набора эвристических правил. Обычно выбирается задача, которая больше всех захватила памяти, что при её завершении позволит освободить огромное количество памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если это значение не равно нулю, то OOM-killer просто завершит задачу, из-за которой возникла ситуация нехватки памяти. Это позволяет избежать затратной операции сканирования списка задач. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если /proc/sys/vm/panic_on_oom не равно нулю, то оно имеет приоритет над значением из /proc/sys/vm/oom_kill_allocating_task. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию равно 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/overcommit_kbytes (начиная с Linux 3.14) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данный, доступный на запись файл является альтернативой управлению CommitLimit через /proc/sys/vm/overcommit_ratio, когда /proc/sys/vm/overcommit_memory содержит значение 2. Это позволяет задать количество перерасходуемой памяти (memory overcommitting) абсолютным значением (в КБ), а не в виде процента, как это делается через overcommit_ratio. Это предоставляет более точный контроль CommitLimit в системах с очень большим объёмом памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Может задействовать либо overcommit_kbytes, либо overcommit_ratio: если значение overcommit_kbytes не равно нулю, то оно используется для вычисления, в противном случае используется overcommit_ratio. Запись значения в один из этих файлов приводит к обнулению значения в другом файле. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/overcommit_memory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит значение режима учёта виртуальной памяти ядра. Значения:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В режиме 0 вызов mmap(2) с MAP_NORESERVE не проверяется, и проверка по умолчанию очень поверхностная, что может привести к завершению процесса с помощью OOM-killer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В режиме 1, ядро притворяется, что памяти всегда достаточно, пока помять действительно не закончится. Одним из вариантов использования для этого режима являются приложения для научных вычислений, в которые используются большие разреженные массивы. В ядрах Linux до версии 2.6.0 любое ненулевое значение подразумевает режим 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В режиме 2 (доступен начиная с Linux 2.6), общее виртуальное адресное пространство, которое можно выделить (CommitLimit в /proc/meminfo) вычисляется по формуле | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CommitLimit = (total_RAM - total_huge_TLB) * overcommit_ratio / 100 + total_swap |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
где:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Например, в системе с 16ГБ физической памяти, 16ГБ подкачки, без выделения огромных страниц и с overcommit_ratio равным 50 по этой формуле значение CommitLimit равно 24ГБ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Начиная с Linux 3.14, если значение в /proc/sys/vm/overcommit_kbytes не равно нулю, то CommitLimit вычисляется так: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CommitLimit = overcommit_kbytes + total_swap | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Также смотрите описание /proc/sys/vm/admin_reserve_kbytes и /proc/sys/vm/user_reserve_kbytes. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/overcommit_ratio (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Доступный на запись файл содержит процент памяти, который может быть перерасходован (overcommitted). Значение по умолчанию равно 50. Смотрите описание /proc/sys/vm/overcommit_memory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/panic_on_oom (начиная с Linux 2.6.18) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Включает или отключает панику ядра при нехватке памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение равно 0, то ядерный OOM-killer завершит какой-нибудь вышедший из подчинения процесс. Обычно, OOM-killer способен завершить такой процесс и система продолжит работу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в файле равно 1, то ядро, обычно, переходит в состояние паники при нехватке памяти. Однако, если процесс ограничен в выделении определённых элементов (nodes) согласно политике памяти (mbind(2) MPOL_BIND) или процессора (cpuset(7)) и предел таких элементов памяти был достигнут, то такой процесс может быть завершён OOM-killer. В этом случае состояние паники не возникнет, так как другие элементы памяти могут освободиться, что означает, что система в целом может не прийти к ситуации нехватки памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в файле равно 2, то ядро всегда переходит в состояние паники, когда возникает нехватка памяти. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию равно 0. Значение 1 и 2 используются для отказоустойчивости кластеров. Выберите любое согласно вашей политике отказоустойчивости. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/swappiness | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение в этом файле определяет, насколько активно ядро будет вытеснять страницы в пространство подкачки. Большие значения увеличивают активность, меньшие значения сокращают активность. По умолчанию значение равно 60. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sys/vm/user_reserve_kbytes (начиная с Linux 3.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Задаёт количество памяти (в КиБ), которая резервируется под процессы пользователя. Предназначена для предотвращения запуска пользовательского процесса, который бы один съел всю память и это нельзя прекратить (завершить такой процесс). Это значение учитывается только, если значение в /proc/sys/vm/overcommit_memory равно 2 (режим «без перерасхода»). В этом случае система резервирует количество памяти, равное, минимум [3% от размера текущего процесса, user_reserve_kbytes]. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Значение по умолчанию равно минимум [3% свободных страниц, 128 МиБ], выражается в КиБ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если значение в файле равно нулю, то пользователю разрешено выделять всю память под один процесс (за минусом резерва из /proc/sys/vm/admin_reserve_kbytes). Любая последующая попытка выполнить команду будет завершаться «fork: невозможно выделить память». | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Изменение этого значения влияет на последующие запросы памяти приложениями. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sysrq-trigger (начиная с Linux 2.4.21) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Запись символа в этот файл приводит к вызову функции SysRq, как если бы была нажата <клавиша> ALT-SysRq (смотрите описание /proc/sys/kernel/sysrq). Обычно, этот файл доступен на запись только root. Дополнительную информацию смотрите в исходном коде ядра Linux в файле Documentation/admin-guide/sysrq.rst (или Documentation/sysrq.txt до Linux 4.10). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/sysvipc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталог содержит псевдо-файлы msg, sem и shm.Эти файлы описывают объекты межпроцессного взаимодействия (System V Interprocess Communication (IPC)) (соответственно: очереди сообщений, семафоры и общую память), которые существуют в системе в настоящий момент. Похожая информация предоставляется через ipcs(1). Эти файлы имеют заголовки и форматируются (по одному IPC объекту на строку) для более лёгкого понимания. В sysvipc(7) представлена подробное описание информации в этих файлах. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/thread-self (начиная с Linux 3.17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот каталог ссылает на нить, обращающуюся к файловой системе /proc, и он идентичен каталогу /proc/self/task/[tid], где в имени ID нити процесса ([tid]) — эта же нить. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/timer_list (начиная с Linux 2.6.21) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл, доступный только для чтения, содержит список всех ожидающих в данный момент таймеров (высокой точности), всех источников событий часов и их параметры. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/timer_stats (Linux 2.6.21 по Linux 4.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это отладочное средство делает таймер, используемый в системе Linux, видимым разработчикам ядра и в пользовательском пространстве. Оно может использоваться для проверки отсутствия чрезмерной нагрузки на таймеры. Цель — для оптимизации потребления энергии избежать ненужных пробуждений. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если включено в ядре (CONFIG_TIMER_STATS) и не используется, то почти не задействует процессор и потребляет относительно малое количество памяти под структуры данных. Даже включённый в время выполнения сбор статистики не даёт высокой нагрузки: все блокировки относятся к ЦП, а поиск хэшируется. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Файл /proc/timer_stats используется для управления функцией сборки и чтения полученных результатов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Средство timer_stats при запуске системы неактивно. Период тестирования может быть запущен командой: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# echo 1 > /proc/timer_stats | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Следующая команда остановит период тестирования: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# echo 0 > /proc/timer_stats | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Статистику можно получить так: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cat /proc/timer_stats | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
На время действия периода сбора каждым чтением /proc/timer_stats можно получить обновлённую статистику. После выключения сбора статистика останется доступной до следующего начала периода сбора. Это позволяет читать несколько раз. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример статистики из /proc/timer_stats: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ cat /proc/timer_stats Timer Stats Version: v0.3 Sample period: 1.764 s Collection: active 255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer) 71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer) 58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer) 4, 1694 gnome-shell mod_delayed_work_on (delayed_work_timer_fn) 17, 7 rcu_sched rcu_gp_kthread (process_timeout) ... 1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn) 1D, 2522 kworker/0:0 queue_delayed_work_on (delayed_work_timer_fn) 1029 total events, 583.333 events/sec |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Выводимые столбцы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В течении цикла разработки Linux 4.11 этот файл был удалён из-за проблем с безопасностью, так как выдавал информацию всем пространствам имён. Кроме этого, подобную информацию можно получить через встроенные в ядро возможности трассировки, например через ftrace. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/tty | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подкаталог, содержащий псевдо-файлы и подкаталоги драйверов tty и параметры линий. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/uptime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит два числа (значения в секундах): время работы системы с момента загрузки (включая время, проведённой режиме приостанова) и время, которое система провела в состоянии простоя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/version | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Строка, идентифицирующая версию ядра, которое запущено в данный момент. Она включает содержимое /proc/sys/kernel/ostype, /proc/sys/kernel/osrelease и /proc/sys/kernel/version. Пример: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/vmstat (начиная с Linux 2.6.0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл отражает различную статистику виртуальной памяти. Каждая строка файла содержит одну пару имя-значение (через пробел). Некоторые строки присутствуют только, если ядро собрано с соответствующим параметром (в некоторых случаях требуемые параметры в различные в разных версиях ядер и не перечислены здесь. Подробности можно найти в исходном коде ядра). Существуют следующие поля:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/proc/zoneinfo (начиная с Linux 2.6.13) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Этот файл содержит информацию о зонах памяти. Он полезен при анализе поведения виртуальной памяти. |
ЗАМЕЧАНИЯ
Многие файлы со строками (например, окружение и командная строка), хранят данные во внутреннем формате с полями, завершающимися нулевыми байтами (\(aq\0\(aq). При просмотре таких файлов данные будут более читаемыми, если воспользоваться следующей командой вывода.
$ cat file | tr \(aq\000\(aq \(aq\n\(aq
Данная справочная страница неполна, в ней могут быть неточности и является одной из страниц, которую требуется обновлять очень часто.
СМОТРИТЕ ТАКЖЕ
cat(1), dmesg(1), find(1), free(1), htop(1), init(1), ps(1), pstree(1), tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), sysfs(5), hier(7), namespaces(7), time(7), arp(8), hdparm(8), ifconfig(8), lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8), route(8), sysctl(8)
Файлы исходного кода ядра Linux: Documentation/filesystems/proc.txt, Documentation/sysctl/fs.txt, Documentation/sysctl/kernel.txt, Documentation/sysctl/net.txt и Documentation/sysctl/vm.txt.
REFERENCED BY
delete_module(2), eventfd(2), fcntl(2), fork(2), getrlimit(2), getrusage(2), init_module(2), ioctl_ns(2), kcmp(2), link(2), mlock(2), mmap(2), mount(2), msgctl(2), open(2), posix_fadvise(2), prctl(2), seccomp(2), semctl(2), shmctl(2), shmget(2), signalfd(2), sysctl(2), sysinfo(2), timer_create(2), vfork(2), errno(3), fexecve(3), getauxval(3), getloadavg(3), malloc(3), mallopt(3), program_invocation_name(3), pthread_create(3), acct(5), core(5), filesystems(5), capabilities(7), cgroup_namespaces(7), cpuset(7), epoll(7), fanotify(7), hier(7), inotify(7), libc(7), mount_namespaces(7), namespaces(7), netdevice(7), pid_namespaces(7), pkeys(7), pthreads(7), pty(7), signal(7), user_namespaces(7), vdso(7), sysfs(5), netstat(8), ps(1), strace(1), bilibop.conf(5), , procinfo(8), procenv(1), scsi-spin(8), smem(8), smemcap(8), tcpspy.rules(5), tcpspy(8), vnstat(1), wmnd(1), vlimit(3), vtimes(3), network_namespaces(7), procps(1), choom(1), checkproc(8), killproc(8), mkill(8), rvmtab(8), startproc(8), blogd(8), blogger(8), showconsole(8), chroot(2), pidfd_open(2), credentials(7)