tload linux含义,Linux的load average的含义

======================================================

$ uptime

11:12:26 up 3:44, 4 users, load average: 0.38, 0.31, 0.19

上面的输出,load average后面分别是1分钟、5分钟、15分钟的负载情况。数据是每隔5秒钟检查一次活跃的进程数,然后根据这个数值算出来的。如果这个数除以CPU的数目,结果高于5的时候就表明系统在超负荷运转了。其算法(摘自Linux 2.4的内核代码)如下:

文件: include/linux/sched.h:

#define FSHIFT 11 /* nr of bits of precision */

#define FIXED_1 (1

#define EXP_1 1884 /* 1/exp(5sec/1min) as fixed-point, 2048/pow(exp(1), 5.0/60) */

#define EXP_5 2014 /* 1/exp(5sec/5min), 2048/pow(exp(1), 5.0/300) */

#define EXP_15 2037 /* 1/exp(5sec/15min), 2048/pow(exp(1), 5.0/900) */

#define CALC_LOAD(load,exp,n) \

load *= exp; \

load += n*(FIXED_1-exp); \

load >>= FSHIFT;

/**********************************************************/

文件: kernel/timer.c:

unsigned long avenrun[3];

static inline void calc_load(unsigned long ticks)

{

unsigned long active_tasks; /* fixed-point */

static int count = LOAD_FREQ;

count -= ticks;

if (count < 0) {

count += LOAD_FREQ;

active_tasks = count_active_tasks();

CALC_LOAD(avenrun[0], EXP_1, active_tasks);

CALC_LOAD(avenrun[1], EXP_5, active_tasks);

CALC_LOAD(avenrun[2], EXP_15, active_tasks);

}

}

/**********************************************************/

文件: fs/proc/proc_misc.c:

#define LOAD_INT(x) ((x) >> FSHIFT)

#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)

static int loadavg_read_proc(char *page, char **start, off_t off,

int count, int *eof, void *data)

{

int a, b, c;

int len;

a = avenrun[0] + (FIXED_1/200);

b = avenrun[1] + (FIXED_1/200);

c = avenrun[2] + (FIXED_1/200);

len = sprintf(page,"%d.%02d %d.%02d %d.%02d %ld/%d %d\n",

LOAD_INT(a), LOAD_FRAC(a),

LOAD_INT(b), LOAD_FRAC(b),

LOAD_INT(c), LOAD_FRAC(c),

nr_running(), nr_threads, last_pid);

return proc_calc_metrics(page, start, off, count, eof, len);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值