Tengo efectos secundarios extraños al cambiar LD_LIBRARY_PATH
.LD_LIBRARY_PATH efectos secundarios
Cuando agrego una ruta que contiene una biblioteca, p. :
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_path/lib
Entonces, todo se vuelve increíblemente lento. Por ejemplo, un simple ls
puede durar 10 segundos.
ldd
salida es exactamente el mismo antes y después del cambio LD_LIBRARY_PATH
y me trató de depurar la ejecución de la lenta ls
con strace
: Me da la misma ejecución exacta en ambos casos. La ejecución ni siquiera se atasca durante la ejecución de ls
(ya que strace
no genera nada durante el retardo de 10 segundos y de repente ejecuta perfectamente ls
). Así que pensé que podría provenir de mi caparazón, pero esto es lo mismo, ejecutando strace
en mi bash y ejecutando ls
en ambos casos me da la misma salida strace
: el shell ejecuta ls
y espera el final de su ejecución (el último strace
salida antes del rezago strace
es waitpid(...)
). Así que supongo que ocurre algo incorrecto entre el lanzamiento de ls
y su ejecución, como si se tratara de un problema de núcleo. Realmente funciona como si se hubiera hecho sleep
en ls
(uso de 0 cpu).
Durante el retraso, mi CPU y la actividad de la red son perfectamente normales ...
Tenga en cuenta que la biblioteca en la nueva ruta de LD no entre en conflicto con cualquier "librería estándar", por lo que no molesta en mi ls
ejemplo.
Así que soy interesante en explicaciones más profundas acerca de los efectos secundarios LD_LIBRARY_PATH
o cómo depurar profundamente mi ejemplo.
Buena pregunta. He usado 'LD_LIBRARY_PATH' y nunca he visto tal comportamiento, sin embargo, su observación parece a la vez aislada y clara. Interesante. – thb
'export LD_DEBUG = all' y' man 8 ld.so' –
propably obvio pero "ldd $ (which ls)" puede dar una pista si ls usa algo de LD_LIBRARY_PATH. – Matthias