Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Stream of kernel messages: pid <n> is killed: exceeded RLIMIT_CPU



christos%zoulas.com@localhost (Christos Zoulas) writes:
> On Nov 13, 11:51am, jarle%uninett.no@localhost (Jarle Greipsland) wrote:
> -- Subject: Re: Stream of kernel messages: pid <n> is killed: exceeded RLIMIT
> 
> | What do you want printed, and where?
> 
> I would start with the comparison between the limit and the cpu time that
> causes the limit to be exceeded. I would print the two values compared.
With the attached patch applied, the kernel now prints:

pid 0 is killed: exceeded RLIMIT_CPU, runtm=18446744073709551615 
rlim_cur=9223372036854775807 rlim_max=9223372036854775807
WARNING: negative runtime; monotonic clock has gone backwards
pid 0 is killed: exceeded RLIMIT_CPU, runtm=18446744073709551614 
rlim_cur=9223372036854775807 rlim_max=9223372036854775807
pid 0 is killed: exceeded RLIMIT_CPU, runtm=18446744073709551613 
rlim_cur=9223372036854775807 rlim_max=9223372036854775807

Also, this time the log messages seems to have stopped after just
these three messages, and no other processes than pid 0 seem to
have been affected.  Slightly suspicious that
 9223372036854775807==0x7FFFFFFFFFFFFFFF, and
18446744073709551615==0xFFFFFFFFFFFFFFFF....
                                        -jarle

Index: sys/kern/kern_synch.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_synch.c,v
retrieving revision 1.296
diff -u -r1.296 kern_synch.c
--- sys/kern/kern_synch.c       6 Nov 2011 14:11:00 -0000       1.296
+++ sys/kern/kern_synch.c       13 Nov 2011 15:47:07 -0000
@@ -1255,8 +1255,9 @@
                if (__predict_false(runtm >= rlim->rlim_cur)) {
                        if (runtm >= rlim->rlim_max) {
                                sig = SIGKILL;
-                               log(LOG_NOTICE, "pid %d is killed: %s\n",
-                                       p->p_pid, "exceeded RLIMIT_CPU");
+                               log(LOG_NOTICE, "pid %d is killed: %s, 
runtm=%lu rlim_cur=%lu rlim_max=%lu\n",
+                                       p->p_pid, "exceeded RLIMIT_CPU",
+                                       (unsigned long)runtm, (unsigned 
long)rlim->rlim_cur, (unsigned long)rlim->rlim_max);
                                uprintf("pid %d, command %s, is killed: %s\n",
                                        p->p_pid, p->p_comm,
                                        "exceeded RLIMIT_CPU");


Home | Main Index | Thread Index | Old Index