该文件显示了系统当前的平均负载和进程状况。
0.20 0.18 0.12 1/80 11206
前三列分别为前1分钟、5分钟、15分钟内的平均负载。第四列为正在执行的进程数和系统的总进程数。第五列为上次执行的进程id。
-----------------------------------------------------------------
该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。
[root@localhost ~]# cat /proc/loadavg
4.61 4.36 4.15 9/84 5662
每个值的含义为:
参数 解释
lavg_1 (4.61) 过去1分钟平均负载
lavg_5 (4.36) 过去5分钟平均负载
lavg_15(4.15) 过去15分钟平均负载
nr_running (9) 在采样时刻,运行队列的任务的数目,与/proc/stat的procs_running表示相同意思
nr_threads (84) 在采样时刻,系统中活跃的任务的个数(不包括运行已经结束的任务)
last_pid(5662) 最大的pid值,包括轻量级进程,即线程。
假设当前有两个CPU,则每个CPU的当前任务数为4.61/2=2.31
----------------------
php中的用法:
if(!empty($loadctrl) && substr(PHP_OS, 0, 3) != 'WIN') {
if($fp = @fopen('/proc/loadavg', 'r')) {
list($loadaverage) = explode(' ', fread($fp, 6));
fclose($fp);
if($loadaverage > $loadctrl) {
header("HTTP/1.0 503 Service Unavailable");
include DISCUZ_ROOT.'./include/serverbusy.htm';
exit();
}
}
}
if($fp = @fopen('/proc/loadavg', 'r')) {
list($loadaverage) = explode(' ', fread($fp, 6));
fclose($fp);
if($loadaverage > $loadctrl) {
header("HTTP/1.0 503 Service Unavailable");
include DISCUZ_ROOT.'./include/serverbusy.htm';
exit();
}
}
}

