I have a FreeBSD 10.3-RELEASE amd64 platform server that I am running in a data center and I have had two instances approxmatley two weeks apart from each other that I see an httpd process launch randomly that utilizes all CPU usage on the server causing the bind name server process to throw out errors that there are not enough free resources in /var/log/messages. When I do a ps listing of these processes this is what I see :
The most interesting thing is that this httpd binary that is listed in the ps output doesn't even exist on the filesystem.
So where I am completely confused is how is it that this process is ruining when the binary file doesn't even exist on the file system? My apache port installed a binary in /usr/local/sbin/httpd not /usr/sbin/httpd.
So my question is how is this /usr/sbin/httpd process launching if the binary doesn't exist and why is it consuming all of my cpu resources and most importantly how to fix this?
Code:
64903 - R 241:57.10 /usr/sbin/httpd -k start -DSSL (perl)
64905 - R 241:28.62 /usr/sbin/httpd -k start -DSSL (perl)
65045 - R 174:50.73 /usr/sbin/httpd -k start -DSSL (perl)
65047 - R 173:46.28 /usr/sbin/httpd -k start -DSSL (perl)
65494 v0 S+ 0:00.00 grep -i perl
51224 0- R 2542:47.66 /usr/sbin/httpd -k start -DSSL (perl)
The most interesting thing is that this httpd binary that is listed in the ps output doesn't even exist on the filesystem.
Code:
root@eagle:/home/antonio # ls -ld /usr/sbin/httpd
ls: /usr/sbin/httpd: No such file or directory
So where I am completely confused is how is it that this process is ruining when the binary file doesn't even exist on the file system? My apache port installed a binary in /usr/local/sbin/httpd not /usr/sbin/httpd.
Code:
root@eagle:/home/antonio # ls -ld /usr/local/sbin/httpd
-rwxr-xr-x 1 root wheel 430960 Jul 22 2016 /usr/local/sbin/httpd
Code:
root@eagle:/home/antonio # pkg info -l apache22-2.2.31_1 | grep -i httpd
/usr/local/etc/apache22/extra/httpd-autoindex.conf.sample
/usr/local/etc/apache22/extra/httpd-dav.conf.sample
/usr/local/etc/apache22/extra/httpd-default.conf.sample
/usr/local/etc/apache22/extra/httpd-info.conf.sample
/usr/local/etc/apache22/extra/httpd-languages.conf.sample
/usr/local/etc/apache22/extra/httpd-manual.conf.sample
/usr/local/etc/apache22/extra/httpd-mpm.conf.sample
/usr/local/etc/apache22/extra/httpd-multilang-errordoc.conf.sample
/usr/local/etc/apache22/extra/httpd-ssl.conf.sample
/usr/local/etc/apache22/extra/httpd-userdir.conf.sample
/usr/local/etc/apache22/extra/httpd-vhosts.conf.sample
/usr/local/etc/apache22/httpd.conf.sample
/usr/local/include/apache22/httpd.h
/usr/local/libexec/apache22/httpd.exp
/usr/local/man/man8/httpd.8.gz
/usr/local/sbin/httpd
/usr/local/share/doc/apache22/programs/httpd.html
/usr/local/share/doc/apache22/programs/httpd.html.en
/usr/local/share/doc/apache22/programs/httpd.html.ko.euc-kr
/usr/local/share/doc/apache22/programs/httpd.html.tr.utf8
root@eagle:/home/antonio #
So my question is how is this /usr/sbin/httpd process launching if the binary doesn't exist and why is it consuming all of my cpu resources and most importantly how to fix this?