Re: OT: linux kernel process krefilld

  • From: Mladen Gogala <gogala@xxxxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 13 Jul 2004 23:12:52 -0400

On 07/13/2004 10:20:29 PM, zhu chao wrote:
> Hi, friends:
>   On a database that have heavy IO request running oracle 8.1.7 and
> linux AS2.1, I see a kernel process using high CPU, named krefilld. I
> cannot find much information about this process. Does anyone know it?
> 
> 406 processes: 401 sleeping, 5 running, 0 zombie, 0 stopped
> CPU0 states: 83.0% user,  4.0% system,  0.0% nice, 12.0% idle
> CPU1 states:  0.0% user, 88.0% system,  0.0% nice, 11.0% idle
> CPU2 states: 82.0% user,  5.0% system,  0.0% nice, 11.0% idle
> CPU3 states: 75.0% user, 11.0% system,  0.0% nice, 13.0% idle
> Mem:  3347708K av, 3342772K used,    4936K free,       0K shrd,   10276K buff
> Swap: 2048276K av,  281656K used, 1766620K free                  983804K 
> cached
> 
>   PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
>    12 root      21   0     0    0     0 RW   80.6  0.0 977:34 krefilld
> 



Krefilld is kernel refill daemon. Linux kernel has something called "buddy 
allocator",
and when the reserve of pages that kernel can allocate drains out, krefild will 
provide
a fresh supply of pages to allocate.  There is also kreclaimd, a.k.a. "paged", 
which
employs the two handed clock algorithm to reclaim pages that have not been used 
in
a while. In this case, "reclaim" means "set page-in-use bit to 0". The third 
"brother
process" is kswapd a.k.a. "kernel swap daemon" or "swapper", which operates on 
processes,
and swaps out whole processes if memory becomes critically low. It also takes 
care of
allocating swap for the newly created segments. With the number of newly 
created kernel 
processes, I'm eagerly awaiting one that would execute when system is idle, 
let's call
it a NULL process. All we need now is a script to configure it, say NULL.COM 
and we have
closed the full circle back to 1986. and Very Mighty System, ver. 4.2 and 4.6., 
the time
when I was 25 years old.

OK, jokes and nostalgia aside, you have a serious memory shortage problem. Take 
a look at
"free" and see how much memory you have left. Configure your system to use 
direct I/O
(9.2.0.4 can do that on AS 2.1, with ext3). Configure your system to start 
relaiming pages more agressively, and raise the threshold for free memory. Your 
system is in the state known
as "thrashing", when the system devotes more attention to its own internal 
maintenance then
to the user's jobs. In the good, old days, Bruce Ellis and Clay Prestia would 
know how to
help you, but I'm not one of them. I don't have RH 2.1 and I don't know how to 
tune it.
Also, take a look in /var/log/messages (use dmesg if you're not root) to see 
whether you have any error messages in the error log. 


-- 
Mladen Gogala
Oracle DBA
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: