HEX
Server: CentOS WebPanel: Protected by Mod Security
System: Linux sites.annaiservers.com 3.10.0-1160.118.1.el7.x86_64 #1 SMP Wed Apr 24 16:01:50 UTC 2024 x86_64
User: freeval (1012)
PHP: 8.1.10
Disabled: NONE
Upload Files
File: //scripts/apache_mpm_calculator
#!/bin/bash

_PIDS=(`pgrep httpd`)
_PROC_COUNT=${#_PIDS[@]}

_MEMORY_TOTAL=`free | grep Mem | awk '{print $2;};'`
_RSS_TOTAL=0
_SHARED_TOTAL=0

for _PID in ${_PIDS[@]}; do
    _SMAPS=`cat /proc/$_PID/smaps`
    _RSS=`echo "$_SMAPS" | grep Rss | awk '{value += $2} END {print value;};'`
    _SHARED=`echo "$_SMAPS" | grep Shared | awk '{value += $2} END {print value;};'`
    _RSS_TOTAL=`expr $_RSS_TOTAL + $_RSS`
    _SHARED_TOTAL=`expr $_SHARED_TOTAL + $_SHARED`
done

_RSS_AVERAGE=`expr $_RSS_TOTAL / $_PROC_COUNT`
_SHARED_AVERAGE=`expr $_SHARED_TOTAL / $_PROC_COUNT`
_PROC_MEMORY=`expr $_RSS_AVERAGE - $_SHARED_AVERAGE`
_CALCED_MAX_CLIENTS=`expr $_MEMORY_TOTAL / $_PROC_MEMORY`
_THREAD_PER_CHILD=`expr $_CALCED_MAX_CLIENTS / 3`
_MAX_SPARE=`expr $_THREAD_PER_CHILD / 3`
_MIN_SPARE=`expr $_THREAD_PER_CHILD / 6`
_SERVER_LIMIT=`expr $_THREAD_PER_CHILD \* 8 + 10`
_MAX_REQ=`expr $_THREAD_PER_CHILD \* 8`

echo "StartServers              3"
echo "MinSpareThreads           $_MIN_SPARE"
echo "MaxSpareThreads           $_MAX_SPARE"
echo "ThreadsPerChild           $_THREAD_PER_CHILD"
echo "ThreadLimit               $_THREAD_PER_CHILD"
echo "MaxRequestWorkers         $_MAX_REQ"
echo "ServerLimit               $_SERVER_LIMIT"
echo "MaxConnectionsPerChild    4000"

exit 0