我遇到一个与 Oracle HTTP Server(基于 Apache)相关的问题,它持续消耗内存,直至使用完所有可用 RAM。
您对如何识别问题有什么建议吗?我使用的是 Linux Red Hat 环境。我知道这个问题有上千种不同的原因,但我不知道该从哪里着手才能了解问题所在。
有没有办法检查内存是如何增加的,从什么时候开始以及哪些进程在消耗内存?如果您需要更多信息来分析问题,请告诉我,以便我可以将其添加到此帖子中。
top 命令的输出:
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
可用内存继续缓慢减少,使用内存和缓冲/缓存继续增加。使用内存达到不再增长的水平,而缓冲/缓存则继续增长。当可用内存达到过低的水平时,交换内存将被使用,从这里开始,您就会遇到与性能相关的问题。缓冲/缓存内存始终保持较高水平。