gpt4 book ai didi

apache - 当内存使用率达到 90% 时终止 apache 进程

转载 作者:行者123 更新时间:2023-12-04 18:38:10 25 4
gpt4 key购买 nike

我的情况如下:
我们在 15Gb ram 实例 rackspace 上运行 Magento Professional。

运行 htop 时,我们可以看到 'apache2 -k start' 不断产生更多的子进程,它们占用了大约 900Mb 的内存。

当内存快用完时,所有站点都会超时或变得非常慢。
当内存全部用完时,似乎其中一些进程被杀死以释放内存。

然后发生相同的程序。

我的问题是,当内存使用率达到 85-90% 时,我们可以设置 ubuntu/apache 来杀死子进程并释放内存吗?

最佳答案

尝试在您的服务器中将此脚本设置为每 2 或 5 分钟一次的 cron

#!/bin/sh
TOTAL=`cat /proc/meminfo | grep MemTotal: | awk '{print $2}'`
USEDMEM=`cat /proc/meminfo | grep Active: | awk '{print $2}'`
LOG=/tmp/test.log
echo > $LOG
if [ "$USEDMEM" -gt 0 ]
then
USEDMEMPER=$[$USEDMEM * 100 / $TOTAL ]
echo "Current used memory = $USEDMEMPER %"
if [ "$USEDMEMPER" -gt 90 ]; then
killall -9 apache2
service apache2 restart
echo "apache process killed " >> $LOG
fi
fi
cat $LOG

当已用内存达到 90% 并重新启动 apache2 时,这将终止您的 apache 进程。如果您不想设置为 cron,只需在您希望调节 apache 消耗的内存的任何时候运行此脚本即可。

希望这将有助于您的要求。

关于apache - 当内存使用率达到 90% 时终止 apache 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com