LD_LIBRARY_PATH'ın Linux'ta basit komutlar üzerindeki etkisi


1

Red Hat Enterprise Linux Server 5.7 sürümünü kullanıyorum (Tikanga).

LD_LIBRARY_PATH'yi değiştirdiğimde, sistem her komut için çok yavaşlar (gibi kabuk yerleşikleri hariç) cd )

Örneğin, ls Boş dizinde yaklaşık 1 saniye sürer. LD_LIBRARY_PATH'i varsayılana döndürdüğümde, hepsi iyi görünüyor.

Eklediğim LD_LIBRARY_PATH özellikle uzun değil (10-11 dizin.)

LD_DEBUG = all ayarlamayı denedim, fakat şüpheli bir şey bulamadım.

PATH’a eklediğim tüm FS’lerin normal performans gösterip göstermediğini kontrol ettim.

Lütfen başka neleri kontrol etmem gerektiğini ve yavaşlamanın sebebinin ne olabileceğini söyle.


1
Komutları strace ile çalıştırın ve neler olduğunu görün.
nos

Boş bir dizinde 1 saniye çok fazla, ne olursa olsun LD_LIBRARY_PATH... Yine de koşmayı deneyebilirsin strace üstünde.
rodrigo

10-11? İnek, çok fazla dizin var ...
Ignacio Vazquez-Abrams

Belki de bazı yollar ekleyebilirsiniz /etc/ld.so.conf ve koş ldconfig önbellek yeniden nasıl?

Yanıtlar:


1

LD_LIBRARY_PATH işleri geçersiz kılmak için kullanılabilir. Bu nedenle, herhangi bir yürütülebilir dosya (örneğin, ls) libc gibi yaygın bir şeye ihtiyaç duyduğunda, tüm klasörleri env'den taramak zorunda kalacaktır. "normal" konumlara bakmadan önce değişken. Ldconfig ile sistemin hızlı arama için kitaplık listesini önbelleğe alabildiğine inanıyorum. Env değişkeni ile her seferinde yeniden taramak zorundadır (var değişebilir).

Taranacak dosyaların toplamı belki de oldukça büyük görünüyor. Dizinlerin tümünü bir araya getirmeyi deneyin.


0

Sayı, LD_LIBRARY_PATH içinde olan bir NFS zaman zaman iyi davranmıyordu. Bu yüzden, tek bir dizinde arama yap .01 saniye sürdü, bu da kütüphane ve yol başına toplanıyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.