Monday, April 29, 2013

Error : ” child pid exit signal File size limit exceeded (25) in Apache ” Resolution

SkyHi @ Monday, April 29, 2013

Many times if you find apache processes dying in the top process list or apache failing to start completely then one of the reasons could be a log file larger than 2Gb , which is indicated by the below error in the apache error logs :

child pid XXXX exit signal File size limit exceeded (25)
where XXXX is process id for the process which is failing and generating the error in the error log.
To fix this you will need to locate the log file which has grown to or above 2Gb size and either empty it or make a tar , rename and create a new log file. It can be access_log , error_log itself, the suphp_log , suexec_log etc.
For cPanel serves you should set the log rotation from following link in WHM to avoid this :
WHM >> Service Configuration >> Apache Configuration >> Log Rotation
For finding files greater then 2Gb below commands can be helpful :

This will print the top ten files with respect to size in the current directory
# find `pwd` -xdev -type f -ls | sort -k7nr | head

This will print any files greater than 2Gb
# ls -l | awk '{ if ( $5 > 2147483648 ) print $9 "\t" $5 }'

This will show files greater than 2Gb using simple find command
# find / -size +2G

Note : Depending on the version of find command on your server you may need to use different value, like in Mbs or Kbs in your find command.