PROC系列之四---/proc/loadavg

本文介绍了/proc/loadavg文件的内容及各项指标的意义,包括不同时间跨度的平均负载、当前运行的任务数等,并提供了PHP监控服务器状态的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有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

 

wuyu@xa192:~$ cat /proc/loadavg
1.41 1.61 1.79 6/149 2331

这里的平均负载也就是可运行的进程的平均数

前三个值分别对应系统在5分钟、10分钟、15分钟内的平均负载
第四个值的分子是正在运行的进程数,分母是进程总数,最后一个是最近运行的进程ID号
 

php里可以通过这个文件监控服务器现在的状态。

<?php
if($fp = @fopen('/proc/loadavg', 'r')) {
    list($loadaverage) = explode(' ', fread($fp, 6));
    fclose($fp);
    if($loadaverage > 一个数) {
        header("HTTP/1.0 503 Service Unavailable");
        echo 'server die 囧';
        exit();
    }
}
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值