У меня странные побочные эффекты при изменении LD_LIBRARY_PATH
.
Когда я добавляю путь, содержащий библиотеку, например. :
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_path/lib
Затем все становится невероятно медленным. Например, простой ls
может длиться 10 секунд.
ldd
вывод точно такой же до и после изменения LD_LIBRARY_PATH
, и я попытался отладить выполнение медленного ls
с помощью strace
: Я получаю точно такое же исполнение в обоих случаях. Выполнение даже не зависает во время выполнения ls
(поскольку strace
ничего не выводит во время 10-секундной задержки, а потом вдруг отлично выполняет ls
) . Поэтому я подумал, что это может исходить из моей оболочки, но это одно и то же: запуск strace
на моем bash и выполнение ls
в обоих случаях дает мне один и тот же strace
. вывод: оболочка выполняет ls
и ждет окончания своего выполнения (последний вывод strace
перед отставанием strace
равен waitpid(... )
). Поэтому я предполагаю, что между запуском ls
и его выполнением происходит что-то неправильное, как если бы это была проблема на уровне ядра. Это действительно действует так, как если бы сон
был сделан на ls
(0 использование процессора).
Во время задержки мой процессор и сетевая активность совершенно нормальны...
Обратите внимание, что библиотека в новом пути LD не конфликтует ни с какой "стандартной библиотекой", поэтому она не мешает ls
в моем примере.
Поэтому меня интересуют более подробные объяснения побочных эффектов LD_LIBRARY_PATH
или способы глубокой отладки моего примера.