[Linux] sistema de arquivos proc

[Linux] sistema de arquivos proc

prefácio

 1. Introdução ao sistema de arquivos proc

1.1 O que é o sistema de arquivos proc?

1.2 O papel e as características do sistema de arquivos proc

1.3 Informações fornecidas pelo sistema de arquivos proc

2. Descrição detalhada dos nós comumente usados ​​no sistema de arquivos proc

2.1 /proc/cpuinfo 

2.2 /proc/meminfo

2.3 /proc/coldsyms

2.4 /proc/interrupções

2.5 /proc/loadavg

3. Resumo


prefácio

O elo importante: continue avançando com problemas

No sistema Linux, existem alguns sistemas de arquivos especiais, que são usados ​​para realizar operações unificadas na interface de arquivos para completar várias funções, e o sistema de arquivos proc é um deles.

  1. sistema de arquivos proc
  2. O papel e as características do sistema de arquivos proc
  3. Quais informações o sistema de arquivos proc pode fornecer
  4. Uso comum do sistema de arquivos proc

No curso de aprendizado do professor de anotações do Linux, as palestras do professor são concisas e aprofundadas, mas é necessário algum conhecimento prévio para começar. Aqui eu expandi e resumi.

Artigos e vídeos de referência: https://xuesong.blog.csdn.net/article/details/109522945

https://live.csdn.net/v/263371?spm=1001.2014.3001.5501

 1. Introdução ao sistema de arquivos proc

1.1 O que é o sistema de arquivos proc?

O diretório /proc no sistema Linux é um sistema de arquivos, ou seja, o sistema de arquivos proc.

/ Ao contrário de outros sistemas de arquivos comuns, /proc é um sistema de arquivos virtual, que não contém nenhum arquivo em disco, mas arquivos e diretórios gerados dinamicamente pelo kernel em tempo de execução.

No Linux, existe um tipo especial de pseudo-sistema de arquivos, que executa operações unificadas em interfaces de arquivos para concluir várias funções, como ptyfs, devfs, sysfs e procfs. E o procfs é um dos pseudo sistemas de arquivos mais usados.

O ponto de montagem do sistema de arquivos proc é /proc, que foi originalmente projetado para fornecer informações quando o processo está em execução, como o status de execução do processo, os arquivos atualmente abertos pelo processo, os soquetes criados e a disposição dos memória virtual A origem de seu nome (Process Data Filesystem). Posteriormente, muitas informações do kernel no nível do sistema foram adicionadas, como informações de interrupção, informações de mapeamento de dispositivos, status de memória e assim por diante.

No geral, o sistema de arquivos /proc fornece aos administradores e desenvolvedores do sistema uma maneira conveniente de consultar e depurar o status e o desempenho do sistema.

1.2 O papel e as características do sistema de arquivos proc

O sistema de arquivos proc fornece informações sobre vários subsistemas no kernel, o que torna possível simplesmente usar os comandos cat e echo no espaço do usuário, ou ler e escrever chamadas do sistema para obter informações sobre vários subsistemas do kernel, como modelo e parâmetros da CPU , uso de memória, hardware de tempo disponível e parâmetros detalhados, dispositivos externos conectados e endereços de mapeamento, etc., também podem modificar dinamicamente os parâmetros do kernel quando o sistema está em execução, sem recompilar o código-fonte do kernel.

Quais são as características do sistema de arquivos proc?

  • Legibilidade: As informações do sistema de arquivos proc são apresentadas em formato de texto, o que facilita a leitura e a análise.
  • Nível do sistema: o sistema de arquivos proc fornece acesso ao kernel e informações de nível do sistema, como processos em execução no sistema, uso de memória, informações da CPU, configuração de hardware e muito mais.
  • Pode ser usado para diagnóstico e depuração: O sistema de arquivos proc fornece acesso em tempo real ao estado do sistema e informações de processo, o que o torna muito útil para diagnosticar e depurar problemas do sistema.
  • Estabilidade e manutenção: Quando for necessário modificar vários parâmetros e informações de configuração do sistema, podemos gerenciá-lo através do sistema de arquivos proc sem escrever um módulo especial do kernel .
     

1.3 Informações fornecidas pelo sistema de arquivos proc

documento introduzir
/proc/cpuinfo Este arquivo contém informações detalhadas sobre a CPU, incluindo fabricante, modelo, frequência, cache, etc.
/proc/meminfo Este arquivo contém informações detalhadas sobre a memória, incluindo memória disponível, tamanho do cache, partição swap, etc.
/proc/loadavg Este arquivo contém a carga média do sistema, que representa o número médio de processos rodando no sistema e o número de processos esperando pela CPU.
/proc/coldsyms Este arquivo é uma tabela de símbolos que contém os endereços na memória de todas as variáveis ​​globais e funções do kernel.
/proc/interrupções Este arquivo contém contagens registradas pelo sistema de vários tipos de interrupções processadas em cada CPU.
/proc/versão Este arquivo contém as informações de versão do sistema, incluindo versão do kernel, versão do GCC e outras informações.
/proc/net/tcp Este arquivo contém informações sobre a conexão TCP, incluindo endereço local, endereço remoto, status e muito mais.
/proc/net/udp Este arquivo contém informações sobre conexões UDP, incluindo endereço local, endereço remoto, status, etc.
/proc/sys/kernel/nome do host Este arquivo contém o nome do host do sistema
/proc/sys/kernel/pid_max Este arquivo contém o ID de processo máximo permitido pelo sistema
/proc/sys/fs/arquivo-nr Este arquivo contém estatísticas sobre arquivos abertos, incluindo o número de arquivos abertos no momento, o número de identificadores de arquivo alocados e o maior identificador de arquivo

2. Descrição detalhada dos nós comumente usados ​​no sistema de arquivos proc

2.1 /proc/cpuinfo 

Este arquivo contém as informações de parâmetro da CPU do sistema atual, incluindo o número de núcleos da CPU, a frequência operacional de cada núcleo, o tamanho do cache, a largura da palavra, o comprimento da linha do endereço, etc. Por exemplo, no meu computador pessoal, algumas das informações exibidas por cat /proc/cpuinfo são as seguintes:

2.2 /proc/meminfo

Esse arquivo mostra as informações atuais do status da memória no sistema, como capacidade total da memória física, memória usada, memória livre, memória compartilhada, tamanho da memória de troca e assim por diante.

No trabalho diário de desenvolvimento, os desenvolvedores geralmente preferem visualizar o uso atual de memória do sistema por meio da saída do comando top, porque na maioria das vezes, basta se preocupar apenas com a quantidade total de memória e o uso atual.

No entanto, em alguns casos especiais, você ainda precisa consultar as informações de status de memória mais detalhadas fornecidas neste arquivo, como uso de memória slab (registro de como dividir e alocar memória para pequenas áreas de armazenamento em um quadro de página), memória recuperável quantidade (SReclaimable), o tamanho do espaço da pilha do kernel (Kernel Stack), a quantidade total de memória heap alocada usando malloc, a quantidade total de memória mapeada usando mmap e assim por diante.

2.3 /proc/coldsyms

Este arquivo é uma tabela de símbolos que contém os endereços na memória de todas as variáveis ​​globais e funções do kernel.

Este é um arquivo adicionado para ajudar os desenvolvedores de kernel a depurar o kernel.Nas informações de Opps geradas quando o sistema Linux trava, o nome da função exibido na pilha de chamada de função é gerado com a ajuda deste arquivo.

2.4 /proc/interrupções

Este arquivo contém contagens registradas pelo sistema de vários tipos de interrupções processadas em cada CPU.

No Linux, se não houver processamento especial, geralmente todas as interrupções serão entregues ao primeiro núcleo (CPUO) da CPU para processamento. Existe um utilitário chamado rqbalance que pode ajudar o sistema a distribuir interrupções para diferentes CPUs para obter o balanceamento de carga, o que tem um efeito significativo na melhoria do desempenho e no controle do consumo de energia dos processadores multi-core.

A maioria das distribuições atuais do Linux iniciará esse serviço por padrão em processadores multi-core, mas apenas por precaução, os leitores podem confirmar se o serviço está habilitado em seus próprios sistemas e verificar o arquivo proc/interrupts para determinar se as interrupções são balanceadas .distribuídos para diferentes CPUs.

2.5 /proc/loadavg

Este arquivo mostra a carga média do sistema ao longo do tempo, uma saída real ficaria assim:

上面的信息,具体含义如下:
1.过去一分钟的系统平均负载
2.过去五分钟的系统平均负载
3.过去十五分钟的系统平均负载
4.采样时刻运行队列的任务数/系统中活跃的总任务数
5.采样时刻占用最大的线程ID

 Os três primeiros valores na saída desse arquivo costumam ser usados ​​para observar tendências na carga do sistema. Se o valor anterior for menor que o último, significa que a carga do sistema está diminuindo; caso contrário, significa que a carga do sistema começa a apresentar uma tendência de aumento.

3. Resumo

A existência de um sistema de arquivos especial faz com que o Linux tenha uma interface extremamente simples para visualizar e modificar os dados do kernel, mantendo funções poderosas e flexíveis.

O sistema de arquivos proc torna o sistema fácil de depurar e manter e melhora a estabilidade e a capacidade de manutenção do sistema.

Acho que você gosta

Origin blog.csdn.net/weixin_42373086/article/details/130778938
Recomendado
Clasificación