Obter lista dos 10 principais processos de consumo de memória com gráfico usando Cacti no Centos 6.3

2

Estou usando o Cacti no Centos 6.3 e gostaria de obter a lista dos 10 principais processos de consumo de memória, com um gráfico de memória, para que, se o servidor falhar, eu possa encontrar facilmente os processos por trás disso.

É possível com um plugin ou modelo?

    
por Ketan Patel 15.12.2012 / 12:12

2 respostas

1

Primeiro, esses dados são difíceis de representar em um banco de dados RRD . Porque seus 10 PIDs / processos serão alterados, mas as fontes de dados RRD são estáticas. Você pode registrar 1-10, mas não consegue mais informações. Você poderia contornar isso mapeando um nome / pid para uma fonte de dados, mas então você precisa apresentar todos os nomes necessários com antecedência, o que não é fácil. Alternativamente, você poderia criar 65536 fontes de dados para cada pid, mas, em seguida, o gráfico é um pouco complicado.

Pode haver tempo para tentar algo um pouco mais extensível, como OpenTSDB

Segundo, monitorar o uso real de memória no Linux não é fácil. ps mentiras. O Linux faz uso da memória compartilhada e não fornece uma interface simples para consultar essas informações em um nível por processo. Também há memória do kernel e caches que podem afetar o desempenho da memória em uma máquina.

Existem 3 coisas que você pode acompanhar para ajudar a destacar problemas de memória.

  • Por memória compartilhada e privada executável
  • Por memória particular do processo
  • Memória do Kernel

Por memória compartilhada e privada executável

Este script ps_mem.py , que é a melhor estimativa "pronta para uso" Encontrei.

Nota "esses valores são por programa , não por processo", o que é um subproduto da maneira como a memória compartilhada funciona e a contabilidade feita no kernel.

Memória privada, por processo

Você pode obter a memória privada por processo a partir de /proc/[0-9]*/smaps calculando todos os valores de Private_Dirty e Private_Clean por arquivo. Nomes de processos que você pode obter de /proc/[0-9]*/status ou /proc/[0-9]*/stat

Meminfo

Valores gerais de uso de memória de /proc/meminfo

MemTotal
MemFree
Buffers
Cached
SwapTotal
SwapFree
AnonPages
Mapped
Dirty
Writeback
Shmem
Slab
KernelStack
PageTables
NFS_Unstable
Bounce
WritebackTmp

Há um monte de informações que você pode extrapolar a partir dos valores em /proc/meminfo , que são provavelmente coisas melhores para representar graficamente do que todos esses pontos de dados individualmente.

A partir desses três, você deve ter uma boa ideia de onde a maioria dos problemas de memória se originou.

Depois de tudo isso eu ainda acho que ainda existe um 'buraco' no qual o Linux é responsável pela memória alocada. Este buraco parece ser o mapa de memória física virtual > como o buraco é maior quanto mais memória uma máquina tiver.

    
por 11.01.2014 / 16:08
0

Existe um template que permite que você use o snmp para monitorar usando o cacti do cacti e é capaz de exibi-lo como um gráfico.

link

    
por 15.12.2012 / 17:34

Tags