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

简介:  该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。

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

目录
相关文章
|
5月前
|
存储 Linux 索引
/proc的相关知识
`/proc`是Linux的一个伪文件系统,存储内核运行状态和进程信息。它包含以PID命名的子目录,提供对系统硬件、进程详情的查看和内核状态的修改。`/proc/self`是特殊目录,让进程能直接访问其自身信息,无需知道PID。通过`/proc/self/cmdline`、`cwd`、`exe`、`environ`和`maps`等文件,可以获取进程的命令行、工作目录、可执行文件路径、环境变量和内存映射等信息。`maps`显示内存区域和权限,`mem`则提供进程内存映射,但部分区域不可读。
|
6月前
|
存储 Linux Shell
Linux内核追踪(一):proc/sys/debugfs
Linux内核追踪(一):proc/sys/debugfs
237 0
|
Go
proc far and near. 的简单解释
proc far and near. 的简单解释
118 0
|
存储 缓存 监控
Linux 系统的 proc 和 sys 文件系统|学习笔记
快速学习 Linux 系统的 proc 和 sys 文件系统
Linux 系统的 proc 和 sys 文件系统|学习笔记
|
Linux 虚拟化
浅入分析和Linux内核相关的文件夹/proc和/sys .
近来文章被踩的厉害,我只想把自己从马哥学的知识自己总结下发到博客里,但是没想到昨天一篇文章刚发一上午被踩了9次。。。如果您真的觉得我的文章很烂,请告诉我原因,不胜感激。   这星期,马哥讲了关于Linux内核的编译和Linux的内核模块,浅显易懂,所以写出来和大家一起分享学习成果。
974 0
|
监控 Perl