Memória criando o perfil do kernel do Linux em um dispositivo embarcado

2

Eu tenho um kernel Linux 2.6.30 em um dispositivo embarcado baseado em ARM e tenho que fazer alguns perfis de uso de memória do kernel no dispositivo.

Estou pensando em monitorar a saída do ps em vários encadeamentos e módulos do kernel enquanto realizo ações como o wifi on / off, etc.

Você pode me sugerir:

Quais segmentos eu preciso monitorar? Como monitorar o uso da memória do módulo do kernel?

    
por abc 01.03.2012 / 01:16

1 resposta

1

Existem várias maneiras de monitorar o uso da memória em um sistema Linux. Alguns podem ou não estar disponíveis dependendo de

  1. Qual versão você está executando
  2. Como o kernel está configurado
  3. Quais ferramentas de espaço do usuário estão incluídas no sistema de arquivos raiz

Como o Linux normalmente é um sistema de memória virtual, algumas estatísticas podem ser enganosas e / ou imprecisas. É importante cavar e entender o que cada estatística significa.

Com tudo isso dito, normalmente monitorei o uso da memória executando o vmstat para ter uma idéia do uso total de memória:

# vmstat -s
       127168  total memory
        44072  used memory
        33296  active memory
         2164  inactive memory
        83096  free memory
            0  buffer memory
        20468  swap cache
            0  total swap
            0  used swap
            0  free swap
       582750 non-nice user cpu ticks
            0 nice user cpu ticks
       160883 system cpu ticks
      7448748 idle cpu ticks
            0 IO-wait cpu ticks
        16066 IRQ cpu ticks
        18249 softirq cpu ticks
            0 stolen cpu ticks
            0 pages paged in
            0 pages paged out
            0 pages swapped in
            0 pages swapped out
     15079537 interrupts
     28629740 CPU context switches
   1344249586 boot time
        25532 forks

"free" Também lhe dará uma visão geral do uso da memória. Se eu vir algo inesperado, examinarei os processos suspeitos examinando os arquivos no procfs. Bons arquivos para olhar são

/ proc / PID / maps - Isso lista toda a memória atualmente mapeada pelo processo

/ proc / PID / smaps - Fornece mais detalhes sobre quanta memória é residente / compartilhada / suja / etc ... Este arquivo pode ser detalhado, mas um script Python pode ser escrito para gerar dados mais significativos

    
por 07.08.2012 / 16:05