該檔案中的所有值都是從系統啟動開始累計到目前時刻。該檔案隻給出了所有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();
}
}
?>