информация о / proc / pid / sched

8

Не уверен, что это правильное место для этого вопроса, но здесь идет:

Я пытаюсь разобраться в файлах / proc / pid / sched и / proc / pid / task / tid / sched для высокопоточного серверного процесса, однако мне не удалось найти хорошее объяснение того, как это интерпретировать файл (всего несколько бит здесь: http://knol.google.com/k/linux-performance-tuning-and-measurement# ). Я предполагаю, что эта запись в procfs связана с более новыми версиями ядра, которые работают с планировщиком CFS?

Дистрибутив CentOS, работающий на версии ядра 2.6.24.7-149.el5rt с предустановленным патчем rt.

Какие-нибудь мысли?

красный глаз
источник

Ответы:

-1

Вы можете найти больше документации о файле / proc / [pid] / sched в этой статье:

http://lwn.net/Articles/242900/

Посмотрите на комментарии. Большинство полей объяснены.

Мариан ХакМан Маринов
источник
5
Хорошей практикой считается включение всей соответствующей информации с этого сайта. Причина в том, что однажды эта страница может стать недоступной, и тогда ваш ответ будет бесполезным.
Лукас Кауфман
-3

Вероятно, "man proc" - это место для чтения! Из руководства:

/ Proc / [PID] / задачи
(начиная с Linux 2.6.0-test6) Это каталог, который содержит один подкаталог для каждого потока в процессе. Имя каждого подкаталога - это числовой идентификатор потока ([tid]) потока (см. Gettid (2)). В каждом из этих подкаталогов есть набор файлов с теми же именами и содержимым, что и в каталогах / proc / [pid]. Для атрибутов, которые являются общими для всех потоков, содержимое каждого из файлов в подкаталогах task / [tid] будет таким же, как в соответствующем файле в каталоге parent / proc / [pid] (например, в многопоточном процессе). все файлы task / [tid] / cwd будут иметь то же значение, что и файл / proc / [pid] / cwd в родительском каталоге, поскольку все потоки в процессе совместно используют рабочий каталог). Для атрибутов, которые различны для каждого потока, соответствующие файлы в task / [tid] могут иметь разные значения (например, различные поля в каждом из файлов задачи / [tid] / status могут быть разными для каждого потока).

В многопоточном процессе содержимое каталога / proc / [pid] / task недоступно, если основной поток уже завершен (обычно путем вызова pthread_exit (3)).

Таким образом, в основном понимание / proc / pid / task / означает понимание самого proc.

Hans
источник