Impacto de LD_LIBRARY_PATH em comandos simples no Linux

1

Estou usando o Red Hat Enterprise Linux Server versão 5.7 (Tikanga).

Quando eu altero o LD_LIBRARY_PATH, o sistema fica muito lento para cada comando (exceto para builtins de shell como cd )

Por exemplo, ls no diretório vazio leva cerca de 1 segundo. Quando eu altero o LD_LIBRARY_PATH para o padrão, tudo parece bem.

O LD_LIBRARY_PATH que adicionei não é especialmente longo (diretórios 10-11).

Eu tentei definir LD_DEBUG = all, mas não encontrei nada suspeito.

Eu verifiquei se todos os FSs que adicionei no PATH têm desempenho normal.

Por favor, diga-me o que mais devo verificar e qual pode ser o motivo da desaceleração.

    
por ondway 17.12.2012 / 23:37

2 respostas

1

O LD_LIBRARY_PATH pode ser usado para substituir as coisas. Assim, quando qualquer executável (por exemplo, ls) precisar de algo comum como libc, ele terá que verificar todas as pastas do env. variável antes de poder olhar nos locais "normais". Com ldconfig, acredito que o sistema é capaz de armazenar em cache a lista de bibliotecas para pesquisa rápida. Com a variável env, tem que redigitalizar toda vez (o var pode mudar).

Parece que o total geral de arquivos a serem verificados talvez seja bastante grande. Tente cronometrar um ls de todos os diretórios combinados.

    
por 18.12.2012 / 03:44
0

Eu encontrei o problema, um NFS que estava em LD_LIBRARY_PATH não estava se comportando bem às vezes. Então, a pesquisa em um único diretório levava 0,01 segundo, que estava somando por biblioteca e caminho.

    
por 30.12.2012 / 21:11