Docker içindeki Apache için ksm_preload kullanma


4

Docker içinde Apache için ksm_preload kullanmaya çalışıyorum . Sorun, Docker’ın içinde çalışırken kitaplığın eşleşmemesi. Dışında çalışır ve paylaşılan / geçici sayfalar görüyorum. Sanırım problem apache'de bir yerde yatıyor, çünkü aynı LD_PRELOAD parametresiyle aynı kapta çalışan diğer uygulamalar (apt gibi) KSM'de aktivite gösteriyor.

Make make kurulumunu çalıştırdıktan sonra docker konteynerinin içindekileri denedim

LD_PRELOAD=/usr/local/share/ksm_preload/libksm_preload.so apache2ctl -k start -D FOREGROUND

/etc/apache2/envvarsİşçi süreçleri için ayarlamayı da denedim :

export LD_DEBUG=all
export LD_PRELOAD=/usr/local/share/ksm_preload/libksm_preload.so

Ana süreç kütüphane eşleştirilir ancak alt çalışan işlemez.

Ana sürecin / proc / pid / map_files:

7f2e13aef000-7f2e13af1000 -> /usr/local/share/ksm_preload/libksm_preload.so
7f2e13af1000-7f2e13cf0000 -> /usr/local/share/ksm_preload/libksm_preload.so
7f2e13cf0000-7f2e13cf1000 -> /usr/local/share/ksm_preload/libksm_preload.so

Her zaman aşağıdaki sonuç:

/sys/kernel/mm/ksm/pages_shared:0
/sys/kernel/mm/ksm/pages_sharing:0
/sys/kernel/mm/ksm/pages_to_scan:100
/sys/kernel/mm/ksm/pages_unshared:0
/sys/kernel/mm/ksm/pages_volatile:0
/sys/kernel/mm/ksm/run:1

LD hata ayıklama çıktısı oldukça uzundur https://pastebin.com/KRvKHXxn

Apache'nin LD_PRELOAD'a karşı bir çeşit koruması var mı?

Sembollerin üzerine yazma önceliği yüksek olan başka bir dinamik kütüphane var mı?

belki ilgili: https://stackoverflow.com/questions/13374240/why-ld-preload-doesnt-work-for-one-of-loaded-shared-libraries çözümünü denedi, UNSET_RTLD_DEEPBIND=1değişiklik yapmadı

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.