informações sobre / proc / pid / sched

8

Não tenho certeza se este é o lugar certo para esta pergunta, mas aqui vai:

Estou tentando entender os arquivos / proc / pid / sched e / proc / pid / task / tid / sched para um processo de servidor altamente encadeado, mas não consegui encontrar uma boa explicação de como interpretar isso. arquivo (apenas alguns bits aqui: http://knol.google.com/k/linux-performance-tuning-and-measurement# ). Presumo que essa entrada no procfs esteja relacionada a versões mais recentes do kernel que são executadas com o agendador do CFS?

Distro do CentOS em execução em uma versão do kernel 2.6.24.7-149.el5rt com patch preempt rt.

Alguma ideia?

olho vermelho
fonte

Respostas:

-1

Você pode encontrar mais documentação sobre o arquivo / proc / [pid] / sched neste artigo:

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

Veja os comentários. A maioria dos campos é explicada.

Marian HackMan Marinov
fonte
5
É uma boa prática incluir todas as informações relevantes desse site. A razão para isso é que um dia a página poderá ficar indisponível e sua resposta será inútil.
27660 Lucas Kauffman
-3

Provavelmente "man proc" é o lugar para ler! Do manual:

/ proc / [pid] / task
(desde o Linux 2.6.0-test6) Esse é um diretório que contém um subdiretório para cada encadeamento no processo. O nome de cada subdiretório é o ID numérico do encadeamento ([tid]) do encadeamento (consulte gettid (2)). Dentro de cada um desses subdiretórios, há um conjunto de arquivos com os mesmos nomes e conteúdos dos diretórios / proc / [pid]. Para atributos compartilhados por todos os encadeamentos, o conteúdo de cada um dos arquivos nos subdiretórios task / [tid] será o mesmo que o arquivo correspondente no diretório parent / proc / [pid] (por exemplo, em um processo multithread , todos os arquivos de tarefas / [tid] / cwd terão o mesmo valor que o arquivo / proc / [pid] / cwd no diretório pai, pois todos os threads em um processo compartilham um diretório ativo). Para atributos que são distintos para cada encadeamento, os arquivos correspondentes na tarefa / [tid] podem ter valores diferentes (por exemplo, vários campos em cada um dos arquivos de tarefas / [tid] / status podem ser diferentes para cada encadeamento).

Em um processo multithread, o conteúdo do diretório / proc / [pid] / task não estará disponível se o encadeamento principal já tiver sido finalizado (geralmente chamando pthread_exit (3)).

Então, basicamente entender / proc / pid / task / significa entender o próprio proc.

Hans
fonte