Mój kontener PHP uruchamia lalkarza do generowania plików PDF. Generując dokument PDF, tworzy również dwa pliki zrzutu pamięci w moim kontenerze. Nie jestem pewien, skąd one pochodzą.
Host / serwer to CentOS 7.
Sprawdziłem następujące:
- Brak dziennika błędów aplikacji, przeglądarka / lalkarz działa bez błędów.
- Nie znaleziono dziennika błędów (np. Segfault) w
/var/log/messages
Próbowałem wyłączyć zrzuty pamięci
Wykonując sekcję Wyłączanie zrzutów podstawowych https://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ , zrobiłem:
- Dodanie następującej treści do
/etc/security/limits.conf
* soft core 0
* hard core 0
Utworzono disable-core-dumps.sh przez:
echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh
Dodano następującą treść do
/etc/systemd/coredump.conf
[Coredump]
Storage=none
ProcessSizeMax=0
I ponownie uruchomić serwer i pojemnik .
Próbowałem również ustawić
ulimit -c 0
wewnątrz kontenera (alpejski)
Żadna z powyższych sztuczek nie działa dla mnie. Za każdym razem, gdy lalkarz generuje plik PDF, zawsze tworzy dwa podstawowe pliki zrzutu, takie jak poniżej:
core.131 core.52
Podstawowe pliki wyglądają następująco:
Czy ktoś może mi pomóc wyłączyć zrzuty pamięci? Wielkie dzięki.
Odpowiedzi:
Musisz uruchomić swój kontener z opcją
--ulimit core=0
wyłączenia rdzeni.Odniesienie: https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container---ulimit
Przykład
Na hoście tymczasowo ustaw ścieżkę zrzutu rdzeni na wartość
/tmp
do weryfikacji:Uruchom kontener jak zwykle i wymuś zrzut pamięci:
Teraz z
--ulimit core=0
:źródło
entrypoint.sh
samego polecenia, które uruchamia aplikację phpmam ten problem również w usłudze dokującej roju i --ulimit core = 0 nie działa w usłudze roju Użyłem poniżej polecenia i pracowałem dla mnie w usłudze dokującej roju!
sysctl -w jądro.core_pattern = / dev / null
źródło