成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

系統負載:如何判斷Linux load的值是否過高

運維 系統運維
在Linux下,load表示系統的負載情況。load average 后面三個值代表系統在1分鐘、5分鐘和15分鐘的負載情況,數字越高表示系統負載越大,0很低,10或以上是很高。但是在非極端的情況下,怎樣的load值對系統而言是“高”的臨界值?本文從內核開始進行了分析。

接觸過和使用過unix或linux的朋友,都知道如何查看Unix/Linux load的值,這邊我也重復一下查看load的方法:

[root@aaronw ~]# uptime
13:33:37 up 7 days, 1:52, 1 user, load average: 4.15, 2.00, 3.14
[root@aaronw ~]# w
13:35:35 up 1 days, 1:54, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.2.2 13:33 0.00s 0.02s 0.00s w

load average 后面三個值代表系統在1分鐘、5分鐘和15分鐘的負載情況,都知道數字越高表示系統負載越大,第一直覺就是這個系統不行了。load average 是0的時候都認為他很低,10的時候就覺得高,20就不用講了!但是除了這兩種極端的情況之外,那什么時候是這兩個值的臨界點?當別人問起我這個問題的時候,我也不知道如何回答,在我大腦里就根本就沒有考慮過。困擾了我很久,我覺得要搞明白他!

先從linux的kernel的源碼開始吧!在linux 2.6.36版本中有這樣一段代碼:

/**
* spu_calc_load – update the avenrun load estimates.
*
* No locking against reading these values from userspace, as for
* the CPU loadavg code.
*/
static void spu_calc_load(void)
{
unsigned long active_tasks; /* fixed-point */
 
active_tasks = count_active_contexts() * FIXED_1;
CALC_LOAD(spu_avenrun[0], EXP_1, active_tasks);
CALC_LOAD(spu_avenrun[1], EXP_5, active_tasks);
CALC_LOAD(spu_avenrun[2], EXP_15, active_tasks);
}

CALC_LOAD是這樣定義:

#define LOAD_FREQ (5*HZ+1) /* 5 sec intervals */
#define EXP_1 1884 /* 1/exp(5sec/1min) as fixed-point */
#define EXP_5 2014 /* 1/exp(5sec/5min) */
#define EXP_15 2037 /* 1/exp(5sec/15min) */#define CALC_LOAD(load,exp,n) \
load *= exp; \
load += n*(FIXED_1-exp); \
load >>= FSHIFT;

從這里我們能看到取負載值的最小周期5秒,根據代碼中定義我們知道

什么是load?

load的就是一定時間內計算機有多少個active_tasks,也就是說是計算機的任務執行隊列的長度,cpu計算的隊列。

load多少是正常?

既然load是cpu計算的隊列,那就應該和cpu個處理方式和cpu的個數有關系。所以我個人認為應該按系統識別的cpu個數來確定load的臨界值,系統識別為8個cpu,那么load為8就是臨界點,高于8就屬于over load了。

什么叫系統識別cpu個數?

我是這樣認為的,這里涉及到cpu物理個數和超線程技術的問題。個人認為4個物理cpu和2個雙核是不能夠等同的,當然這是物理層面的事了!在系統里識別的都是4個CPU.所以應該要以系統識別的為準。畢竟是系統去支配他的使用。

CPU高不等同于load高

在Unix/Linux可能經常會遇到cpu的使用率為100%,但是load卻不高!這是為什么呢?因為幾乎所有的任務和會和CPU進行交互,但是由于各個設備的使用頻率不同,造成了不能同步進行的問題。比如說,當對硬盤進行讀寫的時候,出現IO的等待時候,事實上cpu已經被切換到別的進程上了。該任務就處于等待狀態,當這樣的任務過多,導致隊列長度過大,這樣就體現到負載過大了,但實際是此時cpu被分配去干執行別的任務或空閑,因此CPU高不等同于load高,load高也不能于cpu高。

原文:判斷Linux load的值是否過高

【編輯推薦】

  1. Linux系統Load average負載詳細解釋
  2. 大流量、高負載LVS系統優化注意事項
  3. 查詢系統負載信息 Linux uptime命令詳解
責任編輯:yangsai 來源: selboo.com.cn
相關推薦

2009-12-22 14:54:19

Linux系統Load

2009-11-23 11:53:23

LinuxLoad averag負載

2019-01-02 16:12:17

Linux系統 vmstat

2009-12-25 15:39:54

Load averag

2014-05-13 09:53:24

算法π值

2013-12-06 10:20:21

2017-12-06 19:00:53

2024-01-17 17:36:06

Linuxsystemd

2018-01-10 10:45:37

2021-03-22 11:43:07

Linux運維Linux系統

2020-04-28 09:12:55

Linux黑客惡意軟件

2013-11-08 13:52:56

2016-05-24 10:30:56

網站設計出色

2018-11-26 08:49:42

CPU排查負載

2014-10-09 14:35:44

HAProxy負載均衡

2009-06-05 11:11:11

2021-08-26 10:24:52

Linux 系統分析高負載

2013-01-10 09:47:50

辭職就業面試

2022-11-02 08:27:30

2009-04-28 00:44:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久婷婷av | 亚洲精品一区二区网址 | 81精品国产乱码久久久久久 | 国产精品久久久久久久久久久久午夜片 | 91色在线视频 | 国产成人精品一区二区三区四区 | zzzwww在线看片免费 | 久久国产高清视频 | 成人精品一区二区三区中文字幕 | 国产中文字幕在线 | 午夜精品 | 久久久久久九九九九九九 | 国产成人精品999在线观看 | 亚洲在线免费观看 | 欧美日韩午夜精品 | 九九国产| 国产资源在线视频 | 欧美三级在线 | 亚洲a人| 古典武侠第一页久久777 | 91不卡| 精品久草 | 一本岛道一二三不卡区 | xxx视频 | 99精品在线 | 成人性生交大片 | 国产精品精品视频 | 日本不卡视频在线播放 | 狠狠骚 | 人人鲁人人莫人人爱精品 | 亚洲精品电影在线观看 | 久久久精品一区二区三区 | 精品久久久久久久久久久久 | 亚洲精品成人av久久 | 欧美一级片在线看 | 罗宾被扒开腿做同人网站 | 不卡一区二区三区四区 | 在线久草 | 免费骚视频 | 久久久精彩视频 | 国产一区二区免费在线 |