Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: OT: linux kernel process krefilld

Re: OT: linux kernel process krefilld

From: Mladen Gogala <>
Date: Tue, 13 Jul 2004 23:12:52 -0400
Message-ID: <>

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
> 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 ( 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:
To unsubscribe send email to:
put 'unsubscribe' in the subject line.
Archives are at
FAQ is at
Received on Tue Jul 13 2004 - 22:09:46 CDT

Original text of this message