Fontes de uso de memória do Linux não estão em / proc / meminfo

2

Estou executando um servidor Linux que mostra padrões estranhos no uso da memória que estou tentando investigar.

Durante a operação normal, cerca de 200MB de memória são usados para aplicativos de acordo com munin, mas de vez em quando (talvez a cada dois dias), há um aumento repentino de cerca de 1GB, como é visível neste gráfico:

Estoutentandodescobriracausadisso,masnãotenhocertezadoquepoderiaser.Ofatodemuninatribuiressamemóriaa“apps”sugerequeumdosprocessosemexecuçãoestásimplesmenteusandomuitamemória,masolharparaotopoquandoissoacontecemostraquenenhumdosprocessosusaquasetantamemória;naverdade,os15principaisprocessosdeconsumodememórianãomudamquandoissoocorreeosuperiorusaapenas2,2%damemória.Alémdisso,asinformaçõesdememóriadopsnãochegamatotalizaressaquantidadedememória,massimalgonoestádiode200MB.

Aalturadoaumentoégeralmenteamesmae,comoévisívelnesteexemplo,apenasdesapareceapósalgumashoras.

Descobriqueumamaneiraconfiáveldeacionaressecomportamentoéfazerodownloaddeumarquivogrande(1.4G)usandoowgetpormeiodeumtúnelsshnaredeparaodiscolocal(somenteaatividadederedenãooaciona)./p>

Paraverousodamemóriaemmaisdetalhes,comeceiaregistrar/proc/meminfoacada10segundosefizum tarball com gráficos a partir destes dados . O download que causou o comportamento em questão começou às 10:35:32 e terminou às 10:38:53. Os dados de registro originais também estão incluídos no tarball.

Em /proc/meminfo , não há nenhum valor que aumenta o suficiente para explicar essa enorme diminuição de memória livre (isso é essencialmente o que munin atribui a "apps"), o que me deixa sem noção. A quantidade de memória usada que o munin reporta também é reportada por free e top, mas não há processos na lista de processos que expliquem esse alto uso de memória, ou o aumento repentino ao baixar um arquivo.

O que estou tentando entender é:

  • É normal que o uso de memória se comporte dessa maneira sem processo particular usando o aumento da memória?
  • Quais poderiam ser outras fontes de memória que não são contabilizadas /proc/meminfo ?

Ou isso pode ser um sinal de comprometimento do sistema?

    
por Leon Weber 25.01.2014 / 16:58

2 respostas

1

O munin é ótimo para os gráficos, mas não informa qual aplicativo causou a carga.

Pode-se usar em cima - topo avançado.

em cima registra um arquivo de registro bruto, e então um pode abrir tal arquivo e interativamente ir e voltar no tempo e ver o que estava acontecendo em algum momento específico.

ator -r /var/log/atop_oame_date do que usando as chaves t e T , você pode voltar para a hora da atividade suspeita e ver o que estava acontecendo lá.

    
por 25.01.2014 / 20:18
0

Seu sistema não está sob pressão de memória física. Então, quando você tenta transferir um arquivo de 1,4 GB, ele usa 1,4 GB de memória. Seu sistema tem duas opções - pode desperdiçar totalmente a memória ou usá-la de maneira ineficiente. Ele escolhe o último. Esse é um comportamento normal.

    
por 27.01.2014 / 12:12