Please help! Linode getting powered off for kernel panic
Before I proceed, please understand that I don't know ABC of Linode optimization or it's behavior.
Since last 8 - 10 days, my server is getting down for 7-8 hours everyday. When I contacted the support team, they sent me the following logs saying that
> Upon inspection of your Linode, I have found that your Linode powered off as a result of a kernel panic. To further troubleshoot this issue, please check your logs and your software configuration.
> –---------------------------------------------------------------------------
BUG: unable to handle kernel paging request at ffff880082c02ee8
IP: [
] _freeone_page+0x258/0x291 PGD 1c94067 PUD fe1067 PMD 0
Oops: 0000 [#1] SMP
CPU 1
Modules linked in:
Pid: 22632, comm: php Not tainted 3.0.18-x86_64-linode24 #1
RIP: e030:[
] [ ] _freeone_page+0x258/0x291 RSP: e02b:ffff88000da89b48 EFLAGS: 00010012
RAX: 0000000002c07780 RBX: ffff88007fffb760 RCX: ffff88007fffb788
RDX: 0000000002c07780 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff88000da89b98 R08: ffff88007fbf9e58 R09: 0000000000000006
R10: 0000000000000000 R11: ffff88000da89e70 R12: 0000000000000000
R13: ffff88007fffb700 R14: 0000000000000000 R15: ffff88007fffb760
FS: 0000000000000000(0000) GS:ffff88007ff9a000(0063) knlGS:0000000000000000
CS: e033 DS: 002b ES: 002b CR0: 000000008005003b
CR2: ffff880082c02ee8 CR3: 000000000a4fb000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process php (pid: 22632, threadinfo ffff88000da88000, task ffff88000d9fc410)
Stack:
ffff88000da89c38 ffff88007fffb700 0000000000000000 002c077800000000
0000000000000002 0000000000000002 ffff88007ffb1738 0000000000000002
ffff88007fffb788 ffff88007fffb760 ffff88000da89c18 ffffffff810b3dda
Call Trace:
[
] freepcppagesbulk+0xd3/0x15b [
] freehotcold_page+0x13d/0x15e [
] _pagevecfree+0x78/0x91 [
] release_pages+0x12a/0x186 [
] ? check_events+0x12/0x20 [
] freepagesandswapcache+0x61/0x7b [
] tlbflushmmu+0x43/0x61 [
] tlbfinishmmu+0xf/0x34 [
] unmap_region+0xfd/0x10f [
] do_munmap+0x294/0x2fe [
] sys_munmap+0x41/0x58 [
] ia32docall+0x13/0x13 Code: 28 70 49 8d 44 05 68 48 89 53 30 48 89 43 28 48 89 0a eb 32 48 63 55 cc 48 8d 4b 28 48 c1 e2 04 44 89 f0 48 6b c0 58 4
8 8d 04 02 <4a> 8b 54 28 68 48 89 4a 08 48 89 53 28 49 8d 54 05 68 48 89 53
RIP [
] _freeone_page+0x258/0x291 RSP
CR2: ffff880082c02ee8 –-[ end trace 2333cf58181067ed ]–-
-----------------------------------------------------------------------------
Everyday it's getting powered off automatically! Please tell me how to fix this!
Thanks a lot in advance.
9 Replies
99 times out of 100, it's apaches fault.
on my system, i have /etc/apache2/apache2.conf
and in that file i have
MinSpareServers 2
MaxSpareServers 3
MaxClients 10
MaxRequestsPerChild 1000
MaxClients is the critical line, you probably have yours set to 150, chop a zero off it, say 15.
what might happen then is instead of crashing, your website becomes slow to load at peak times, and in your apache log you might get a message telling you to raise maxclients.
then you can look at how much memory you're using, and slowly raise maxclients if you have enough spare, if you don't have enough spare, you need t upgrade your linode.
Do I still have to do what you said?
@chesty:
looks like you ran out of memory.
99 times out of 100, it's apaches fault.
on my system, i have /etc/apache2/apache2.conf
and in that file i have
StartServers 2 MinSpareServers 2
MaxSpareServers 3
MaxClients 10
MaxRequestsPerChild 1000
MaxClients is the critical line, you probably have yours set to 150, chop a zero off it, say 15.
what might happen then is instead of crashing, your website becomes slow to load at peak times, and in your apache log you might get a message telling you to raise maxclients.
then you can look at how much memory you're using, and slowly raise maxclients if you have enough spare, if you don't have enough spare, you need t upgrade your linode.
No need to tune apache.
how many php processes are you running?
maybe paste ps aux | grep php
@Soumya:
^ I am on NGINX server and not Apache.
So you serve only static files?
If that's the case, install and run atop
@Azathoth:
@Soumya:^ I am on NGINX server and not Apache.
So you serve only static files?
If that's the case, install and run
with continuous sampling to do postmortem analysis of what processes did to cause an OOM. Munin graphs can also help show the environment over time. atop
> Pid: 22632, comm: php Not tainted 3.0.18-x86_64-linode24 #1
looks like php's running.