Ich habe ein Problem im Zusammenhang mit einem Oracle HTTP-Server (basierend auf Apache), der weiterhin Speicher verbraucht und dabei den gesamten verfügbaren RAM nutzt.
Können Sie mir einen Rat geben, wie ich das Problem identifizieren kann? Ich arbeite in der Linux Red Hat-Umgebung. Ich weiß, dass es sich um eine Frage handelt, die tausend verschiedene Ursachen hat, aber ich weiß nicht, wo ich suchen soll, um das Problem zu verstehen.
Gibt es eine Möglichkeit zu überprüfen, wie sich der Speicher vergrößert hat, seit wann und welche Prozesse ihn verbraucht haben? Wenn Sie weitere Informationen zur Analyse des Problems benötigen, teilen Sie mir dies bitte mit, damit ich sie diesem Beitrag hinzufügen kann.
die Ausgabe des Top-Befehls:
Tasks: 4 total, 1 running, 3 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.5 us, 0.7 sy, 0.0 ni, 98.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1863252 total, 1016708 free, 269428 used, 575284 buff/cache
Kib Swap: 2097148 total, 2097148 free, 0 used. 1368993 avail Mem
PID user PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
xxx1 oracle 20 0 114300 2896 1748 S 0.0 0.2 0:00.00 bash
xxx2 oracle 20 0 72852 9324 6600 S 0.0 0.5 0:00.00 opmn
xxx3 oracle 20 0 1092736 19760 10040 S 0.0 1.1 0:01.06 opmn
xxx4 oracle 20 0 159996 2088 1524 R 0.0 0.1 0:01.88 top
Der freie RAM nimmt langsam ab und der verwendete und Buff/Cache-Speicher nimmt zu. Der verwendete Speicher erreicht dann ein Niveau, auf dem er nicht weiter ansteigt, während der Buff/Cache-Speicher ansteigt. Wenn der freie Speicher ein zu niedriges Niveau erreicht, wird der Swap-Speicher verwendet und ab hier treten Leistungsprobleme auf. Der Buff/Cache-Speicher bleibt immer hoch.