Como descobrir o que consome o Linux pty

1

O número de ptys alocadas (/ proc / sys / kernel / pty / nr) no meu servidor linux está em constante crescimento, e excede o número de logins ativos, terminais e sessões de tela em ordens de magnitude. Somente as reinicializações de reinicialização do sistema parecem redefini-lo.

Como posso descobrir qual processo está consumindo o conteúdo?

Eu tentei a sugestão na resposta 1, mas

# lsof -n | grep pts | wc -l
137
# cat /proc/sys/kernel/pty/nr 
696

# uname -a
Linux spitzer 2.6.32-34-server #77-Ubuntu SMP Tue Sep 13 20:54:38 UTC 2011 x86_64 GNU/Linux
    
por Nikratio 24.10.2011 / 20:11

3 respostas

4

De acordo com o resposta do supermigo no superusuário, o que você está vendo é devido a um bug no linux. / proc / sys / kernel / pty / nr não é decrementado quando uma pty não é mais usada. É por isso que lsof está mostrando um número menor. Isso foi notado em novembro de 2009, mas não fixed até agosto de 2011.

    
por 24.10.2011 / 23:52
3

Os ptys são identificadores de arquivo. Você pode usar lsof para descobrir qual processo mantém quais arquivos são abertos.

# lsof -n | grep pts
    
por 24.10.2011 / 20:13
0

Uma pty pode ter mais de um 'arquivo' associado a ela. Se você levar isso em conta, o número kernel.pty.nr irá corresponder ao número lsof.

cat /proc/sys/kernel/pty/nr

10

lsof -n | fgrep pts | wc -l

58

lsof -n | fgrep pts | sed 's/  */ /g' | cut -f9 -d' ' | sort | uniq | wc -l

10
    
por 30.09.2015 / 15:20