我在 AlmaLinux 8 上使用 Apache 2.4。当我发布一个数百 GB 的文件时,如果有人开始下载它,Apache RAM 使用量(尤其是 VIRT)就会变得越来越大,开始交换,最终导致崩溃。为什么会发生这种情况,有什么方法可以防止这种情况发生?谢谢。
这是ps:
ps -eF | grep httpd
root 933 1 0 73036 7604 0 07:54 ? 00:00:03 /usr/sbin/httpd -DFOREGROUND
apache 1372 933 0 76259 4552 0 07:54 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1373 933 0 76603 5068 1 07:54 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1374 933 11 866436 63304 0 07:54 ? 01:50:24 /usr/sbin/httpd -DFOREGROUND
apache 12818 933 0 516413 22520 1 10:20 ? 00:01:53 /usr/sbin/httpd -DFOREGROUND
这是顶部(由 apache 过滤):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1374 apache 20 0 3384.5m 57.2m 6.1m S 14.2 3.9 110:45.56 httpd
1372 apache 20 0 297.9m 4.4m 3.1m S 0.0 0.3 0:00.00 httpd
1373 apache 20 0 299.2m 4.9m 3.6m S 0.0 0.3 0:00.57 httpd
12818 apache 20 0 2017.2m 21.8m 6.8m S 0.0 1.5 1:53.54 httpd
这是运行 12 小时之后的照片。