日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Linux 中的负载高低和 CPU 开销并不完全对应

發布時間:2023/12/15 综合教程 75 生活家
生活随笔 收集整理的這篇文章主要介紹了 Linux 中的负载高低和 CPU 开销并不完全对应 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自微信公眾號:開發內功修煉 (ID:kfngxl),作者:張彥飛 allen

大家好,我是飛哥!

負載是查看 Linux 服務器運行狀態時很常用的一個性能指標。在觀察線上服務器運行狀況的時候,我們也是經常把負載找出來看一看。在線上請求壓力過大的時候,經常是也伴隨著負載的飆高。

但是負載的原理你真的理解了嗎?我來列舉幾個問題,看看你對負載的理解是否足夠的深刻。

負載是如何計算出來的?

負載高低和 CPU 消耗正相關嗎?

內核是如何暴露負載數據給應用層的?

如果你對以上問題的理解還拿捏不是很準,那么飛哥今天就帶你來深入地了解一下 Linux 中的負載

一、理解負載查看過程

我們經常用 top 命令查看 Linux 系統的負載情況。一個典型的 top 命令輸出的負載如下所示。

#top
LoadAvg:1.25,1.30,1.95.....
......

輸出中的 Load Avg 就是我們常說的負載,也叫系統平均負載。因為單純某一個瞬時的負載值并沒有太大意義。所以 Linux 是計算了過去一段時間內的平均值,這三個數分別代表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負載值。

那么 top 命令展示的數據數是如何來的呢?事實上,top 命令里的負載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統調用可以看的到這個過程。

#stracetop

openat(AT_FDCWD,"/proc/loadavg",O_RDONLY)=7

內核中定義了 loadavg 這個偽文件的 open 函數。當用戶態訪問 /proc/ loadavg 會觸發內核定義的函數,在這里會讀取內核中的平均負載變量,簡單計算后便可展示出來。整體流程如下圖所示。

我們根據上述流程圖再展開了看下。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會創建 /proc/ loadavg,并為其指定操作方法 loadavg_proc_fops。

//file:fs/proc/loadavg.c
staticint__initproc_loadavg_init(void)
{
proc_create("loadavg",0,NULL,&loadavg_proc_fops);
return0;
}

在 loadavg_proc_fops 中包含了打開該文件時對應的操作方法。

//file:fs/proc/loadavg.c
staticconststructfile_operationsloadavg_proc_fops={
.open=loadavg_proc_open,

};

當在用戶態打開 /proc/ loadavg 文件時,都會調用 loadavg_proc_fops 中的 open 函數指針 - loadavg_proc_open。loadavg_proc_open 接下來會調用 loadavg_proc_show 進行處理,核心的計算是在這里完成的。

//file:fs/proc/loadavg.c
staticintloadavg_proc_show(structseq_file*m,void*v)
{
unsignedlongavnrun[3];

//獲取平均負載值
get_avenrun(avnrun,FIXED_1/200,0);

//打印輸出平均負載
seq_printf(m,"%lu.%02lu%lu.%02lu%lu.%02lu%ld/%d%d\n",
LOAD_INT(avnrun[0]),LOAD_FRAC(avnrun[0]),
LOAD_INT(avnrun[1]),LOAD_FRAC(avnrun[1]),
LOAD_INT(avnrun[2]),LOAD_FRAC(avnrun[2]),
nr_running(),nr_threads,
task_active_pid_ns(current)-last_pid);
return0;
}

在 loadavg_proc_show 函數中做了兩件事。

  • 調用 get_avenrun 讀取當前負載值

  • 將平均負載值按照一定的格式打印輸出

在上面的源碼中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫的這么猥瑣是因為內核中并沒有 float、double 等浮點數類型,而是用整數來模擬的。這些代碼都是為了在整數和小數之間轉化使的。知道這個背景就行了,不用過度展開剖析。

這樣用戶通過訪問 /proc/ loadavg 文件就可以讀取到內核計算的負載數據了。其中獲取 get_avenrun 只是在訪問 avenrun 這個全局數組而已。

//file:kernel/sched/core.c
voidget_avenrun(unsignedlong*loads,unsignedlongoffset,intshift)
{
loads[0]=(avenrun[0]+offset)<shift;
loads[1]=(avenrun[1]+offset)<shift;
loads[2]=(avenrun[2]+offset)<shift;
}

現在可以總結一下我們開篇中的一個問題:內核是如何暴露負載數據給應用層的

內核定義了一個偽文件 /proc/ loadavg,每當用戶打開這個文件的時候,內核中的 loadavg_proc_show 函數就會被調用到,接著訪問 avenrun 全局數組變量 并將平均負載從整數轉化為小數,并打印出來。

好了,另外一個新問題又來了,avenrun 全局數組變量中存儲的數據是何時,又是被如何計算出來的呢?

二、內核中負載的計算過程

接上小節,我們繼續查看 avenrun 全局數組變量的數據來源。這個數組的計算過程分為如下兩步:

1.PerCPU 定期匯總瞬時負載:定時刷新每個 CPU 當前任務數到 calc_load_tasks,將每個 CPU 的負載數據匯總起來,得到系統當前的瞬時負載。

2.定時計算系統平均負載:定時器根據當前系統整體瞬時負載,使用指數加權移動平均法(一種高效計算平均數的算法)計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。

接下來我們分成兩個小節來分別介紹。

2.1 PerCPU 定期匯總負載

在 Linux 內核中,有一個子系統叫做時間子系統。在時間子系統里,初始化了一個叫高分辨率的定時器。在該定時器中會定時將每個 CPU 上的負載數據(running 進程數 + uninterruptible 進程數)匯總到系統全局的瞬時負載變量 calc_load_tasks 中。整體流程如下圖所示。

我們把上述流程圖展開看一下,我們找到了高分辨率定時器的源碼如下:

//file:kernel/time/tick-sched.c
voidtick_setup_sched_timer(void)
{
//初始化高分辨率定時器sched_timer
hrtimer_init(&ts-sched_timer,CLOCK_MONOTONIC,HRTIMER_MODE_ABS);

//將定時器的到期函數設置成tick_sched_timer
ts-sched_timer.function=tick_sched_timer;

}

在高分辨率初始化的時候,將到期函數設置成了 tick_sched_timer。通過這個函數讓每個 CPU 都會周期性地執行一些任務。其中刷新當前系統負載就是在這個時機進行的。這里有一點要注意一個前提是每個 CPU 都有自己獨立的運行隊列,。

我們根據 tick_sched_timer 的源碼進行追蹤,它依次通過調用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當前 CPU 上的負載值到 calc_load_tasks 上。因為每個 CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系統的瞬時負載值。

我們來看下負責刷新的 scheduler_tick 這個核心函數:

//file:kernel/sched/core.c
voidscheduler_tick(void)
{
intcpu=smp_processor_id();
structrq*rq=cpu_rq(cpu);
update_cpu_load_active(rq);

}

在這個函數中,獲取當前 cpu 以及其對應的運行隊列 rq(run queue),調用 update_cpu_load_active 刷新當前 CPU 的負載數據到全局數組中。

//file:kernel/sched/core.c
staticvoidupdate_cpu_load_active(structrq*this_rq)
{

calc_load_account_active(this_rq);
}

//file:kernel/sched/core.c
staticvoidcalc_load_account_active(structrq*this_rq)
{
//獲取當前運行隊列的負載相對值
delta=calc_load_fold_active(this_rq);
if(delta)
//添加到全局瞬時負載值
atomic_long_add(delta,&calc_load_tasks);

}

在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當前運行隊列的負載相對值,并把它加到全局瞬時負載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當前系統當前時間下的整體瞬時負載總數了

我們再展開看看是如何根據運行隊列計算負載值的:

//file:kernel/sched/core.c
staticlongcalc_load_fold_active(structrq*this_rq)
{
longnr_active,delta=0;

//R和D狀態的用戶task
nr_active=this_rq-nr_running;
nr_active+=(long)this_rq-nr_uninterruptible;

//只返回變化的量
if(nr_active!=this_rq-calc_load_active){
delta=nr_active-this_rq-calc_load_active;
this_rq-calc_load_active=nr_active;
}

returndelta;
}

哦,原來是同時計算了 nr_running 和 nr_uninterruptible 兩種狀態的進程的數量。對應于用戶空間中的 R 和 D 兩種狀態的 task 數(進程 OR 線程)。

由于 calc_load_tasks 是一個長期存在的數據。所以在刷新 rq 里的進程數到其上的時候,只需要刷變化的量就行,不用全部重算。因此上述函數返回的是一個 delta。

2.2 定時計算系統平均負載

上一小節中我們找到了系統當前瞬時負載 calc_load_tasks 變量的更新過程。現在我們還缺一個計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的機制。

傳統意義上,我們在計算平均數的時候采取的方法都是把過去一段時間的數字都加起來然后平均一下。把過去 N 個時間點的所有瞬時負載都加起來取一個平均數不完事了。這其實是我們傳統意義上理解的平均數,假如有 n 個數字,分別是 x1, x2, ..., xn。那么這個數據集合的平均數就是 (x1 + x2 + ... + xn) / N。

但是如果用這種簡單的算法來計算平均負載的話,存在以下幾個問題:

1.需要存儲過去每一個采樣周期的數據

假設我們每 10 毫秒都采集一次,那么就需要使用一個比較大的數組將每一次采樣的數據全部都存起來,那么統計過去 15 分鐘的平均數就得存 1500 個數據 (15 分鐘 * 每分鐘 100 次) 。而且每出現一個新的觀察值,就要從移動平均中減去一個最早的觀察值,再加上一個最新的觀察值,內存數組會頻繁地修改和更新。

2.計算過程較為復雜

計算的時候再把整個數組全加起來,再除以樣本總數。雖然加法很簡單,但是成百上千個數字的累加仍然很是繁瑣。

3.不能準確表示當前變化趨勢傳統的平均數計算過程中,所有數字的權重是一樣的。但對于平均負載這種實時應用來說,其實越靠近當前時刻的數值權重應該越要大一些才好。因為這樣能更好反應近期變化的趨勢。

所以,在 Linux 里使用的并不是我們所以為的傳統的平均數的計算方法,而是采用的一種指數加權移動平均(Exponential Weighted Moving Average,EMWA)的平均數計算法。

這種指數加權移動平均數計算法在深度學習中有很廣泛的應用。另外股票市場里的 EMA 均線也是使用的是類似的方法求均值的方法。該算法的數學表達式是:a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點小復雜,感興趣的同學可以 Google 自行搜索。

我們只需要知道這種方法在實際計算的時候只需要上一個時間的平均數即可,不需要保存所有瞬時負載值。另外就是越靠近現在的時間點權重越高,能夠很好地表示近期變化趨勢。

這其實也是在時間子系統中定時完成的,通過一種叫做指數加權移動平均計算的方法,計算這三個平均數。

我們來詳細看下上圖中的執行過程。時間子系統將在時鐘中斷中會注冊時鐘中斷的處理函數為 timer_interrupt 。

//file:arch/ia64/kernel/time.c
void__init
time_init(void)
{
register_percpu_irq(IA64_TIMER_VECTOR,&timer_irqaction);
ia64_init_itm();
}

staticstructirqactiontimer_irqaction={
.handler=timer_interrupt,
.flags=IRQF_DISABLED|IRQF_IRQPOLL,
.name="timer"
};

當每次時鐘節拍到來時會調用到 timer_interrupt,依次會調用到 do_timer 函數。

//file:kernel/time/timekeeping.c
voiddo_timer(unsignedlongticks)
{

calc_global_load(ticks);
}

其中 calc_global_load 是平均負載計算的核心。它會獲取系統當前瞬時負載值 calc_load_tasks,然后來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載,并保存到 avenrun 中,供用戶進程讀取。

//file:kernel/sched/core.c
voidcalc_global_load(unsignedlongticks)
{

//1獲取當前瞬時負載值
active=atomic_long_read(&calc_load_tasks);

//2平均負載的計算
avenrun[0]=calc_load(avenrun[0],EXP_1,active);
avenrun[1]=calc_load(avenrun[1],EXP_5,active);
avenrun[2]=calc_load(avenrun[2],EXP_15,active);

}

獲取瞬時負載比較簡單,就是讀取一個內存變量而已。在 calc_load 中就是采用了我們前面說的指數加權移動平均法來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載的。具體實現的代碼如下:

//file:kernel/sched/core.c
/*
*a1=a0*e+a*(1-e)
*/
staticunsignedlong
calc_load(unsignedlongload,unsignedlongexp,unsignedlongactive)
{
load*=exp;
load+=active*(FIXED_1-exp);
load+=1UL<<(FSHIFT-1);
returnload>>FSHIFT;
}

雖然這個算法理解起來挺復雜,但是代碼看起來確實要簡單不少,計算量看起來很少。而且看不懂也沒有關系,只需要知道內核并不是采用的原始的平均數計算方法,而是采用了一種計算快,且能更好表達變化趨勢的算法就行。

至此,我們開篇提到的“負載是如何計算出來的?”這個問題也有結論了。

Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態的進程數量匯總到一個全局系統瞬時負載值中,然后再定時使用指數加權移動平均法來統計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。

三、平均負載和 CPU 消耗的關系

現在很多同學都將平均負載和 CPU 給聯系到了一起。認為負載高、CPU 消耗就會高,負載低,CPU 消耗就會低。

在很老的 Linux 的版本里,統計負載的時候確實是只計算了 runnable 的任務數量,這些進程只對 CPU 有需求。在那個年代里,負載和 CPU 消耗量確實是正相關的。負載越高就表示正在 CPU 上運行,或等待 CPU 執行的進程越多,CPU 消耗量也會越高。

但是前面我們看到了,本文使用的 3.10 版本的 Linux 負載平均數不僅跟蹤 runnable 的任務,而且還跟蹤處于 uninterruptible sleep 狀態的任務。而 uninterruptible 狀態的進程其實是不占 CPU 的。

所以說,負載高并一定是 CPU 處理不過來,也有可能會是因為磁盤等其他資源調度不過來而使得進程進入 uninterruptible 狀態的進程導致的!

為什么要這么修改。我從網上搜到了遠在 1993 年的一封郵件里找到了原因,以下是郵件原文。

From:MatthiasUrlichs<urlichs@smurf.sub.org>
Subject:Loadaveragebroken?
Date:Fri,29Oct199311:37:23+0200


Thekernelonlycounts"runnable"processeswhencomputingtheloadaverage.
Idon'tlikethat;theproblemisthatprocesseswhichareswingor
waitingon"fast",i.e.noninterruptible,I/O,alsoconsumeresources.

Itseemssomewhatnonintuitivethattheloadaveragegoesdownwhenyou
replaceyourfastswapdiskwithaslowswapdisk...

Anyway,thefollowingpatchseemstomaketheloadaveragemuchmore
consistentWRTthesubjectivespeedofthesystem.And,mostimportant,the
loadisstillzerowhennobodyisdoinganything.;-)


---kernel/sched.c.origFriOct2910:31:111993
+++kernel/sched.cFriOct2910:32:511993
@@-414,7+414,9@@
unsignedlongnr=0;

for(p=&LAST_TASK;p>&FIRST_TASK;--p)
-if(*p&&(*p)->state==TASK_RUNNING)
+if(*p&&((*p)->state==TASK_RUNNING)||
+(*p)->state==TASK_UNINTERRUPTIBLE)||
+(*p)->state==TASK_SWING))
nr+=FIXED_1;
returnnr;
}

可見這個修改是在 1993 年就引入了。在這封郵件所示的 Linux 源碼變化中可以看到,負載正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(交換狀態后來從 Linux 中刪除)的進程也給添加了進來。在這封郵件中的正文中,作者也清楚地表達了為什么要把 TASK_UNINTERRUPTIBLE 狀態的進程添加進來的原因。我把他的說明翻譯一下,如下:

“內核在計算平均負載時只計算“可運行”進程。我不喜歡那樣;問題是正在“快速”交換或等待的進程,即不可中斷的 I / O,也會消耗資源。當您用慢速交換磁盤替換快速交換磁盤時,平均負載下降似乎有點不直觀...... 無論如何,下面的補丁似乎使負載平均值更加一致 WRT 系統的主觀速度。而且,最重要的是,當沒有人做任何事情時,負載仍然為零。;-)”

這一補丁提交者的主要思想是平均負載應該表現對系統所有資源的需求情況,而不應該只表現對 CPU 資源的需求

假設某個 TASK_UNINTERRUPTIBLE 狀態的進程因為等待磁盤 IO 而排隊的話,此時它并不消耗 CPU,但是正在等磁盤等硬件資源。那么它是應該體現在平均負載的計算里的。所以作者把 TASK_UNINTERRUPTIBLE 狀態的進程都表現到平均負載里了。

所以,負載高低表明的是當前系統上對系統資源整體需求更情況。如果負載變高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需要配合其它觀測命令具體分情況分析。

四、總結

今天我帶大家深入地學習了一下 Linux 中的負載。我們根據一幅圖來總結一下今天學到的內容。

我把負載工作原理分成了如下三步。

1.內核定時匯總每 CPU 負載到系統瞬時負載

2.內核使用指數加權移動平均快速計算過去 1、5、15 分鐘的平均數

3.用戶進程通過打開 loadavg 讀取內核中的平均負載

我們再回頭來總結一下開篇提到的幾個問題。

1.負載是如何計算出來的?

是定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態的進程數量匯總到一個全局系統瞬時負載值中,然后再定時使用指數加權移動平均法來統計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。

2.負載高低和 CPU 消耗正相關嗎?

負載高低表明的是當前系統上對系統資源整體需求更情況。如果負載變高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了。所以不能說看著負載變高,就覺得是 CPU 資源不夠用了。

3.內核是如何暴露負載數據給應用層的?

內核定義了一個偽文件 /proc/ loadavg,每當用戶打開這個文件的時候,內核中的 loadavg_proc_show 函數就會被調用到,該函數中訪問 avenrun 全局數組變量,并將平均負載從整數轉化為小數,然后打印出來。

總結

以上是生活随笔為你收集整理的Linux 中的负载高低和 CPU 开销并不完全对应的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久午夜电影 | 亚洲国产精品视频在线观看 | 在线成人国产 | 国模精品一区二区三区 | 玖玖在线免费视频 | 日本久久久久久久久 | 久久久久久久亚洲精品 | 国产日韩视频在线播放 | 超碰在线最新网址 | 三级视频国产 | 中文av字幕在线观看 | 国产91免费在线观看 | 99在线免费观看视频 | 日韩欧美在线影院 | 亚洲成人影音 | 亚洲高清网站 | 色视频在线 | 日日日日干 | 毛片视频网址 | 伊人首页 | 成人资源在线观看 | 激情综合网色播五月 | 国产拍在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩视频免费观看高清完整版在线 | 日韩剧| 丁香婷婷在线 | 狠狠的干 | 天堂久久电影网 | 欧美另类网站 | 中文字幕精品一区二区精品 | www九九热| 久久久久久久久久毛片 | 亚洲视频一级 | 久久有精品| 国产色拍拍拍拍在线精品 | 亚洲一区av| 91中文字幕永久在线 | 国产成人333kkk | 在线免费观看麻豆 | 操操操日日日干干干 | 中文字幕免费成人 | 在线亚洲小视频 | 亚洲另类在线视频 | 奇米影视在线99精品 | 中文资源在线播放 | 久久草在线免费 | 国产乱码精品一区二区蜜臀 | 日韩欧美高清在线 | 青青草国产精品 | 天天射天天干 | 黄色片免费电影 | 久久久亚洲精华液 | 色婷婷综合久久久中文字幕 | 中文字幕精品三级久久久 | 在线激情电影 | 国产色妞影院wwwxxx | 国产一区二区视频在线播放 | 精品福利网站 | 成人免费视频在线观看 | 国产va饥渴难耐女保洁员在线观看 | 免费看色视频 | 欧美日韩99 | 国产精品女人久久久 | 99久久久免费视频 | 国产97在线看 | 中文字幕在线国产精品 | 免费国产亚洲视频 | 亚洲日本在线视频观看 | 亚洲精品午夜久久久 | 九九精品在线观看 | 婷婷中文字幕在线观看 | 2019中文 | 黄色av一区二区 | 超碰资源在线 | 三级av免费看 | 在线看国产精品 | 成人一区电影 | 夜夜骑首页 | 国产91av视频在线观看 | 亚洲激情在线 | av片无限看| www.在线观看av | 日日干av| 三级免费黄色 | 国产99视频在线观看 | 国产一区欧美在线 | 亚洲国产资源 | 国产一级h | 国产特黄色片 | 精品999久久久 | 日韩在线观看 | 97超碰人人干 | 日日成人网 | 国产手机在线观看 | 亚洲蜜桃av | 蜜臀av夜夜澡人人爽人人桃色 | 国产不卡高清 | 天天精品视频 | av一区二区在线观看中文字幕 | 在线你懂 | 国产精品久久久毛片 | 国产粉嫩在线观看 | 久久9精品 | www最近高清中文国语在线观看 | 色噜噜噜| 亚洲dvd| 午夜视频在线观看一区二区三区 | 国产福利一区二区在线 | 国产在线播放观看 | 成人黄色毛片视频 | 久久99网站| 亚洲免费一级 | 丰满少妇在线观看网站 | 手机在线看永久av片免费 | 日本少妇视频 | 国产精品久久久久久久久久久久 | 亚洲精品中文字幕视频 | 国产私拍在线 | 国产专区精品视频 | 狠狠色婷婷丁香六月 | 视频在线观看91 | 亚洲精品88欧美一区二区 | 免费看麻豆 | 国产在线精品视频 | 亚洲欧美日韩国产精品一区午夜 | 久久精品网站视频 | 日韩动漫免费观看高清完整版在线观看 | 成片免费观看视频 | 亚洲在线观看av | 天天操夜夜操天天射 | 亚州精品在线视频 | www.色午夜,com | 欧美日韩一级久久久久久免费看 | 天堂网中文在线 | 狠狠色噜噜狠狠狠狠2021天天 | 亚洲女在线 | 激情五月婷婷综合网 | 精品欧美一区二区三区久久久 | 91热| 四虎成人精品永久免费av九九 | 欧美日韩在线视频一区二区 | 亚洲视频1 | 一区二区三区四区五区在线 | 91成人免费观看视频 | 久久69精品久久久久久久电影好 | 亚洲精品va | 天天爱天天射 | 在线国产能看的 | 亚州欧美精品 | 九九热精品视频在线播放 | 久久亚洲综合国产精品99麻豆的功能介绍 | 色播五月激情综合网 | 久久精品亚洲综合专区 | 亚洲精品国产综合99久久夜夜嗨 | 久久久国产精品网站 | 日韩精品中文字幕有码 | 日韩激情视频在线观看 | 久久免费试看 | 99爱精品视频 | 日日爱影视 | 久久天| 亚洲精品视频大全 | 国产精品不卡在线观看 | 国产福利精品在线观看 | 国产高清精品在线 | 久久艹99 | 国产亚洲精品v | 9草在线| 久久这里只有精品视频首页 | 新版资源中文在线观看 | 久久国色夜色精品国产 | 午夜精品成人一区二区三区 | 天天搞天天干天天色 | 五月香视频在线观看 | 欧美性粗大hdvideo | 中文字幕超清在线免费 | 成人蜜桃| 免费的成人av | 免费观看的黄色片 | 国产视频18 | 六月久久婷婷 | 综合网av| 91香蕉嫩草 | 韩日成人av | 97超碰在| 国产又粗又硬又爽视频 | 在线看片日韩 | 黄色福利网站 | 91久久精品一区二区二区 | 亚洲一区尤物 | 国产一区视频免费在线观看 | 国产成人精品av在线 | 在线а√天堂中文官网 | 亚洲天堂网站 | 久久99深爱久久99精品 | 免费下载高清毛片 | 四虎国产精品免费 | 日韩av电影国产 | 91精品国产92久久久久 | 97精品国产97久久久久久 | 日韩网站在线观看 | 国产成人精品网站 | 丝袜精品视频 | 97网在线观看 | 久久精品久久精品久久 | 欧美激情视频在线免费观看 | 国产精品国产三级国产aⅴ入口 | 黄色h在线观看 | 国产高清在线不卡 | 成人小视频在线观看免费 | av在线影片 | 国产福利资源 | 日韩电影中文 | 免费日韩一级片 | 国产高清久久久 | 在线观看av免费 | 欧美精品网站 | 日韩 精品 一区 国产 麻豆 | 久久久片 | 欧美日韩精品区 | 免费在线观看av的网站 | 91精品国产乱码 | 国产三级午夜理伦三级 | 亚洲欧美国产精品 | 午夜精品视频一区 | 日本丰满少妇免费一区 | 日韩在线网址 | 国产小视频免费在线观看 | 日韩在线首页 | 91精品久久久久久久99蜜桃 | 国产 日韩 在线 亚洲 字幕 中文 | 国产999在线观看 | 免费在线观看中文字幕 | 日韩免费在线看 | 五月天天色 | 亚洲精品视频免费看 | 久久久免费高清视频 | 久久久久在线观看 | 欧美黄色高清 | 91黄色影视 | 黄污在线看 | 亚州av成人 | 91自拍91| 天天综合网入口 | 日韩精品一区二区三区免费视频观看 | 国产又粗又猛又色又黄网站 | 亚洲精品视频免费观看 | 欧美日韩啪啪 | 国产69精品久久久久久 | 亚洲理论片 | 人人爱人人射 | 国产色在线观看 | 日韩性久久 | 久久99亚洲网美利坚合众国 | 亚洲高清视频在线观看免费 | 久久免费福利视频 | 久久这里只有精品视频99 | 激情网综合 | 精品一区欧美 | 亚洲成人免费观看 | 玖草在线观看 | 国产精品成人一区二区 | 亚洲首页 | 欧美成年人在线观看 | 天天干婷婷| 午夜精品麻豆 | 亚洲春色综合另类校园电影 | 99精品欧美一区二区三区黑人哦 | 久久艹综合 | 久精品视频免费观看2 | 国产xvideos免费视频播放 | 久久国语 | 成人黄色大片在线观看 | 97在线视频免费播放 | 伊人在线视频 | av一级片网站 | 人操人| 亚洲欧美激情精品一区二区 | 美国三级黄色大片 | 国产精品麻豆免费版 | 日韩av一区二区在线影视 | 免费日韩视| 久久在线视频精品 | 不卡电影一区二区三区 | 狠狠狠干 | 狠狠婷婷 | 欧美激情视频在线观看免费 | 国产一区在线视频观看 | 成人三级网站在线观看 | 欧美最猛性xxxx | 四虎国产免费 | 久久久久这里只有精品 | 五月天狠狠操 | 欧美成人在线免费观看 | 日韩r级电影在线观看 | 美腿丝袜一区二区三区 | 国产亚洲精品美女 | 99热精品在线 | 激情婷婷久久 | 色综合天天色 | 久久精品久久国产 | 国产亚洲成人精品 | 中文字幕成人在线观看 | 亚洲夜夜网 | 国产一级精品绿帽视频 | 欧美极度另类性三渗透 | 日本中文字幕免费观看 | 欧美另类高清 | 在线播放亚洲激情 | 国内精品视频在线 | 五月激情五月激情 | 久久只有精品 | 激情五月综合 | 999一区二区三区 | 亚洲动漫在线观看 | 五月婷婷视频在线 | 少妇高潮冒白浆 | 一区二区视 | www最近高清中文国语在线观看 | 欧美三级在线播放 | 日韩精品一二三 | 色999视频 | 日韩精品一区二区三区外面 | 国产无套视频 | 国产视频不卡一区 | 中文字幕在线播放日韩 | 狠狠躁夜夜躁人人爽超碰91 | 久久免费高清 | 韩国一区二区av | 成人a在线观看高清电影 | 久久亚洲私人国产精品va | 不卡av在线 | 热久久国产精品 | 99视频这里有精品 | 黄色片免费看 | 99精品区 | 欧美成人猛片 | 中文字幕在线免费看线人 | 天天草天天摸 | 欧美成人精品在线 | 97精品在线视频 | 在线香蕉视频 | 又紧又大又爽精品一区二区 | 久久婷婷网 | 日韩一区二区三区在线看 | 国产91在线观 | 色综合久久久久久中文网 | 欧美在线视频日韩 | 国产视频亚洲 | 丁香六月综合网 | 国产精品美乳一区二区免费 | 在线观看国产区 | 国产精品嫩草影视久久久 | 激情av在线资源 | 欧美精品资源 | 久久久久婷 | 国内精品久久久久久久影视麻豆 | 国产精品一区免费在线观看 | 免费色视频网址 | 91在线视频免费 | 视频在线观看日韩 | 91视频在线| 美女免费av | 久影院| 操操碰| 黄色91在线观看 | 91最新在线观看 | 日韩一级片网址 | 亚洲精品午夜国产va久久成人 | 免费在线观看av不卡 | 欧美日韩xxxxx | 亚洲区精品视频 | 中文字幕有码在线播放 | 天天操综 | 欧美日韩国产高清视频 | 国产女人18毛片水真多18精品 | 国产精品不卡av | 欧美视频99 | 免费国产在线观看 | a√资源在线 | 国产综合小视频 | 久久久久免费网站 | av手机在线播放 | 国产精品综合久久久久 | 日韩aa视频 | 免费三级影片 | 成人 亚洲 欧美 | 午夜在线免费观看视频 | 四虎在线观看网址 | 日韩色在线观看 | 亚洲精品久久久久999中文字幕 | 国产在线观看你懂的 | 国产亚洲字幕 | 国产在线观看中文字幕 | 十八岁以下禁止观看的1000个网站 | av日韩不卡| 国产午夜精品一区二区三区 | 欧美日韩免费视频 | 手机在线免费av | 91麻豆精品国产 | 欧美性天天| 国产五十路毛片 | 免费观看版 | 亚洲免费一级电影 | 久久久久久久久久亚洲精品 | 久久久激情网 | 久久精品久久精品 | 永久免费在线 | 久久免费a | aav在线| 国产精品久久久久久久久大全 | 波多野结衣在线播放一区 | 看片一区二区三区 | 久久大片 | 96亚洲精品久久久蜜桃 | 东方av在线免费观看 | 久久亚洲福利视频 | 97超碰在线免费观看 | 欧美网站黄色 | 亚洲国产精品成人综合 | 黄网站色欧美视频 | 91色欧美| 午夜国产成人 | 国产亚洲精品成人 | 91麻豆视频网站 | 三级黄色片子 | 一本色道久久综合亚洲二区三区 | 国产精品久久久久一区二区三区共 | 永久免费的啪啪网站免费观看浪潮 | 久久av免费观看 | 超碰国产97 | 黄网站www | 中文字幕日韩国产 | 91av欧美 | 69xx视频| 国产黄免费 | 天天射天天操天天色 | 欧美日韩一二三四区 | 国产亚州精品视频 | 国产精品亚洲片夜色在线 | 久久夜夜爽 | www操操| 日韩在线激情 | 色香蕉视频 | 一区二区三区韩国免费中文网站 | 又黄又爽又色无遮挡免费 | 亚洲成av人片在线观看 | 国内外成人在线 | 久久久国产精品麻豆 | 欧美日韩一区二区三区不卡 | 国产裸体视频网站 | 国产亚洲欧洲 | 91看片在线播放 | 激情黄色一级片 | 99精品视频在线观看 | 日韩欧美成人网 | 日韩精品久久久久久久电影99爱 | 国产高清久久久久 | 美女一二三区 | 日韩| 成人免费看黄 | 人人射人人爱 | av一区在线| 国内精品久久久久久 | 伊人天天操 | 黄色av网站在线免费观看 | 中文字幕乱码日本亚洲一区二区 | 又黄又刺激视频 | 91av看片 | 免费视频黄色 | 91亚洲永久精品 | 成人av网站在线 | 99热在线观看 | 麻豆影视在线观看 | 久久国产美女视频 | 日韩精品亚洲专区在线观看 | 97视频在线观看成人 | 国产午夜精品一区二区三区四区 | 久精品视频在线观看 | 天天干天天操天天拍 | 精品久久五月天 | 91在线播 | 99久久久国产精品免费观看 | 在线有码中文字幕 | 99婷婷狠狠成为人免费视频 | 国产精品999久久久 久产久精国产品 | 成人午夜剧场在线观看 | 成人黄在线 | 免费av一级电影 | 中文字幕在线视频网站 | 成人动漫一区二区 | a电影在线观看 | 91原创在线观看 | 成人免费观看电影 | 国产电影一区二区三区四区 | 五月婷婷丁香综合 | 色婷婷视频在线 | 久久综合五月天婷婷伊人 | 日韩一区二区三区视频在线 | 欧美日韩不卡一区 | 欧美极品xxxxx | 99精品在线免费 | a久久久久久 | 少妇bbbb| 中文字幕在线免费看线人 | 国产一区二区在线观看免费 | 一级黄色片网站 | 麻豆影视在线播放 | 亚洲天堂va | 中文在线a∨在线 | 91 中文字幕 | 国产三级午夜理伦三级 | 欧美91精品久久久久国产性生爱 | 黄色一级大片在线免费看产 | 国产永久免费观看 | 麻豆成人在线观看 | 国产精品免费av | 国产二级视频 | 激情av综合 | 久久视频在线观看中文字幕 | avav99| 亚洲一区二区高潮无套美女 | 欧美久草在线 | 久久成年人网站 | 久久国产麻豆 | 欧美了一区在线观看 | 欧美一二三视频 | 丁香六月激情 | 欧美精品中文在线免费观看 | 国产免费不卡av | 久久国产精品99久久人人澡 | 麻豆精品视频在线 | 久久www免费人成看片高清 | 国产精品观看 | 久久9视频| 久久综合中文字幕 | 日韩有码中文字幕在线 | 亚洲天天看 | 一区二区国产精品 | 日产av在线播放 | 最新国产精品亚洲 | 国产999视频在线观看 | 狠狠色噜噜狠狠 | 97在线免费| 99久久久精品| 97超碰中文字幕 | 国产va饥渴难耐女保洁员在线观看 | 狠狠干狠狠色 | 天天爽天天搞 | 欧美另类调教 | 久久精品久久久精品美女 | 国模视频一区二区 | 亚洲免费观看在线视频 | 国产美女视频一区 | 国产精品k频道 | 亚洲国产一区二区精品专区 | 国产亚洲成av片在线观看 | 激情伊人| 九九热免费精品视频 | 日韩中文字幕网站 | 99日精品| 国产视频精品久久 | 91精品视频在线播放 | 男女啪啪网站 | 91传媒视频在线观看 | 日韩av一卡二卡三卡 | 麻豆一区二区三区视频 | 日韩网站免费观看 | 久久狠狠亚洲综合 | 欧美在线视频第一页 | 干av在线 | 在线观看av免费 | 黄污网站在线观看 | 激情网站| 色综合久久综合中文综合网 | 国产一区国产精品 | 国产视频二| 4p变态网欧美系列 | 中文字幕一区在线 | 欧美特一级 | 欧美aaaxxxx做受视频 | 免费观看性生活大片 | 91视频免费播放 | 日韩理论电影在线观看 | 激情五月***国产精品 | 一区二区三区电影大全 | 成人精品在线 | 天天av天天 | 美女国产免费 | 国产精品美女久久久久久久网站 | 五月婷丁香网 | 日韩最新av | 久久超碰网 | 国内精品99| 国产99黄| 狠狠色噜噜狠狠 | 探花视频免费在线观看 | 精品国产电影一区 | 91福利试看 | 九九日九九操 | 中文字幕中文字幕 | 亚洲韩国一区二区三区 | 国产一级精品视频 | 欧美国产日韩一区 | 国产精在线 | 欧美日韩免费在线观看视频 | 中国一级特黄毛片大片久久 | bayu135国产精品视频 | 成人久久综合 | 91最新国产 | 国产成人久久精品亚洲 | 中文字幕视频一区 | 五月天久久久久 | 国产69精品久久app免费版 | 久久人人97超碰国产公开结果 | 亚洲精品videossex少妇 | 一区二区在线电影 | 99 久久久久 | 欧美日韩精品影院 | 天堂久久电影网 | 日韩高清一区二区 | 国产精品12345 | www..com黄色片| 亚洲专区路线二 | www.在线观看av | www日 | 国产精品久久久久久久久久久久午夜片 | 日韩精品不卡在线观看 | 久久久久国产一区二区 | 婷婷色在线 | 91丨九色丨蝌蚪丨老版 | 午夜电影久久 | 日日碰狠狠躁久久躁综合网 | 欧美视频网址 | 成 人 黄 色 视频 免费观看 | 国产色秀视频 | 国产高清在线看 | 日韩视频在线播放 | 91在线资源 | 日韩欧美久久 | 天天爱天天操天天爽 | 日韩久久久久 | 久草av在线播放 | 国产欧美最新羞羞视频在线观看 | 欧美日韩1区2区 | 免费又黄又爽的视频 | 鲁一鲁影院| 国产精品9999 | 天天躁天天躁天天躁婷 | 高清av免费看 | 中文字幕在线专区 | 九九九九九九精品任你躁 | 免费热情视频 | 国内精品久久久久久 | 黄色a一级片 | 亚洲精区二区三区四区麻豆 | 国产色久 | 国产小视频在线 | 99久久精品免费看国产一区二区三区 | 草久久久 | 五月天六月婷婷 | 国产精品麻豆果冻传媒在线播放 | 最新高清无码专区 | 日日夜夜精品免费观看 | 国产精品999久久久 久产久精国产品 | 国产精品福利小视频 | 国产精品尤物视频 | 欧美在线1| 日韩精品最新在线观看 | 亚洲成免费 | 一区二区三区在线免费播放 | 高清久久久久久 | 三级av在线 | 伊人黄色网 | 国产综合精品久久 | 久久精品日产第一区二区三区乱码 | 国产精品久久久久久久久久久免费看 | av丝袜在线 | 国产九色在线播放九色 | 国产精品美女999 | 91看片在线播放 | 国产成人性色生活片 | 色吊丝av中文字幕 | 91精品国产91久久久久福利 | 国产三级精品在线 | av大片免费看 | 综合色中色 | 天天久久夜夜 | 亚洲五月 | 精品高清美女精品国产区 | 色国产精品| 一本一本久久a久久精品牛牛影视 | 黄色免费高清视频 | 欧美一级乱黄 | 一本一道波多野毛片中文在线 | 99久久www | 亚洲午夜精品一区 | 91精品一区二区三区蜜桃 | 在线观看 国产 | 亚洲欧洲国产精品 | 日韩av午夜 | 久久国产免费看 | 片网站| 二区视频在线观看 | 精品极品在线 | 午夜精品久久久久久久99热影院 | 69av视频在线观看 | 午夜视频在线观看一区 | 欧美大码xxxx | 免费看高清毛片 | 亚洲自拍偷拍色图 | 久久毛片高清国产 | 狠狠色噜噜狠狠狠狠2021天天 | 在线不卡的av | 久久精品欧美一区二区三区麻豆 | 日本中出在线观看 | 日韩欧美电影网 | 久久女同性恋中文字幕 | 91传媒激情理伦片 | 日本黄区免费视频观看 | 四虎在线视频免费观看 | 91精品国自产在线观看 | 亚洲a色| 五月婷激情| 激情影音先锋 | 综合激情婷婷 | 久久国产精品电影 | 国产精品久久久久久久久久了 | 96av视频 | 看av免费网站 | 欧美大片大全 | 国产在线观 | 欧美一二三专区 | 99精品黄色片免费大全 | 一级免费黄视频 | 国产一区视频免费在线观看 | 99热这里只有精品久久 | 国产精品高清在线 | 一区二区三区四区精品视频 | 超级碰碰碰视频 | 黄色大片中国 | 18+视频网站链接 | 最近高清中文字幕 | 免费在线观看不卡av | 日韩免费看视频 | 丰满少妇久久久 | 国产午夜精品免费一区二区三区视频 | 午夜国产福利在线 | 激情五月婷婷综合 | 永久免费毛片在线观看 | 国内丰满少妇猛烈精品播放 | 国产成人精品福利 | 色干综合 | 91成人在线看| 在线不卡的av | 在线成人免费电影 | 久9在线 | 成人午夜影视 | 日本一区二区三区免费观看 | 91久久久久久久一区二区 | 天天操比 | 久草视频在 | 国产成人精品久久久久 | 国产资源在线观看 | 亚洲国产成人久久综合 | 蜜臀av在线一区二区三区 | 亚洲激情中文 | 亚洲九九九 | 免费在线电影网址大全 | 六月丁香激情综合色啪小说 | av黄色在线播放 | 成人av高清 | 国产性天天综合网 | 久久视奸 | 久久小视频 | 国产精品美女久久久 | 午夜精品一区二区三区在线 | 亚洲国内精品在线 | 黄色aaa毛片 | 亚洲最快最全在线视频 | 黄色免费网站大全 | 国产精品久久久久aaaa | 日韩欧美高清免费 | 国产高清区 | 免费高清在线一区 | 免费高清在线一区 | av电影中文 | 亚洲精品久久久久久中文传媒 | 91精品福利在线 | 99操视频 | 国产精品网站一区二区三区 | 免费视频黄 | 这里只有精品视频在线 | 亚洲黄色大片 | 婷婷久久综合九色综合 | 激情婷婷av | 欧美日韩免费一区 | 色综合天天天天做夜夜夜夜做 | 成年人视频在线观看免费 | 在线观看国产 | 亚洲欧洲日韩 | 久久久高清| 欧美一级大片在线观看 | 天天躁日日 | 在线一区av | 亚洲 欧美 国产 va在线影院 | 欧美亚洲一级片 | 亚洲草视频 | 黄色中文字幕 | 一区国产精品 | 国内视频在线 | 国产精品美女视频 | 成人国产精品免费观看 | 欧美日韩精品在线观看视频 | 日韩成人免费在线 | 亚洲欧洲久久久 | 久草精品视频在线观看 | 一区二区三区免费在线观看视频 | www.日本色| 狠狠狠色丁香综合久久天下网 | 国产xxxx性hd极品 | 色综合色综合久久综合频道88 | 91欧美在线 | 超碰资源在线 | 国产精品美女久久久久久久久 | 黄色国产高清 | 中文字幕免费观看 | 黄色小说在线免费观看 | 久久99久久99精品 | 四虎影视8848aamm| 久久久国产影视 | 欧美一级性生活视频 | 国产在线探花 | 丁香视频全集免费观看 | 久久久精品电影 | 成人午夜片av在线看 | 欧美一级片免费 | 日韩免费电影网 | 96精品高清视频在线观看软件特色 | 伊人久久电影网 | 成人理论电影 | av中文字幕在线免费观看 | www久久久 | 日韩三级在线 | 日韩av在线不卡 | 成人av午夜| 波多野结衣视频一区 | 91精品国产高清 | 99视频网站 | 久久免费试看 | 天天操天天操天天操天天操 | 青青草国产精品视频 | 亚洲香蕉视频 | 午夜少妇一区二区三区 | 九九九在线观看视频 | 人人玩人人添人人澡97 | 国产精品爽爽爽 | 日本 在线 视频 中文 有码 | 国产一级二级在线播放 | 狠狠色伊人亚洲综合成人 | 午夜av不卡 | 99久久99久国产黄毛片 | 最新av网站在线观看 | 日韩在线理论 | 中文字幕 成人 | 欧美一区二区伦理片 | 久久国产精品一区二区三区四区 | 六月丁香激情综合 | 成人在线视频免费看 | av在线a| 久久人人爽爽人人爽人人片av | 蜜桃视频日本 | 久草在线中文视频 | 久久免费99精品久久久久久 | 亚洲免费公开视频 | 久久精品国产精品亚洲 | 国产中文字幕av | 中文字幕欧美日韩va免费视频 | 亚洲精品国产自产拍在线观看 | 91精品1区2区 | 99久久国产免费,99久久国产免费大片 | 色婷婷狠狠 | 2019中文最近的2019中文在线 | 亚洲第一中文网 | 国产精品成人国产乱一区 | 波多野结衣精品视频 | 91漂亮少妇露脸在线播放 | 日韩久久午夜一级啪啪 | 亚洲视频专区在线 | 久久久久久久久久久久亚洲 | 亚洲在线视频观看 | 又爽又黄又无遮挡网站动态图 | 国产精品免费在线播放 | 色激情在线 | 欧美了一区在线观看 | 人人澡人人干 | 久久久999精品视频 国产美女免费观看 | 91视频免费观看 | 精品国产乱码久久 | 香蕉视频网址 | 91av大全| 国产精品3 | 国产一区二区在线免费视频 | 亚洲精品合集 | 天天拍天天草 | 欧美成人h版电影 | 韩国av免费在线观看 | 黄色网址中文字幕 | 国产xxxx性hd极品 | 国产精品正在播放 | 丁香婷婷色月天 | 成人h电影在线观看 | 日韩区视频 | 在线观看久久 | 国产成人精品女人久久久 | 国产精品99精品 | 最近的中文字幕大全免费版 | 亚洲欧洲美洲av | 色丁香久久 | 99久久日韩精品免费热麻豆美女 | 91精品久 | 国产精华国产精品 | 精品国产一区在线观看 | 高清精品视频 | 天天干天天操天天做 | 亚洲电影图片小说 | 亚洲精品午夜久久久久久久久久久 | 麻豆免费在线播放 | 绯色av一区 | 狠狠操电影网 | 一区二区视频在线播放 | 亚洲涩涩一区 | 嫩嫩影院理论片 | 国产视频在线看 | 91在线中文字幕 | 午夜资源站 | 久久天天躁狠狠躁夜夜不卡公司 | 久草在线资源免费 | 日韩最新理论电影 | 欧美日韩在线免费观看 | 亚洲成av人片一区二区梦乃 | 一区二区三区电影 | av黄色在线播放 | 国产免费视频在线 | 久久久久久久久久久免费视频 | 91精品日韩 | 91精品老司机久久一区啪 | 91色在线观看视频 | 女人高潮一级片 | 激情久久久久久久久久久久久久久久 | 精品久久一级片 | 久久精品视频网址 | 国产男女免费完整视频 | 午夜123| 六月丁香综合 | 99热在线观看 | 五月婷婷,六月丁香 | 99久久99久久精品国产片 | 久章草在线观看 | 久久这里只精品 | www.av在线播放 | 日韩国产精品一区 | 狠狠狠色丁香综合久久天下网 | 黄色影院在线播放 | 色婷婷狠狠操 | 亚洲精品视频www | 亚洲va欧美va人人爽 | 日韩高清免费电影 | 不卡的av在线 | 丝袜美腿亚洲 | 欧美日韩国产精品一区二区 | 婷婷亚洲综合五月天小说 | 久久久久麻豆v国产 | 91国内产香蕉 | 欧美一区二区在线看 | 伊人激情网 | 国产精品女同一区二区三区久久夜 | 日韩欧美精品在线观看视频 | 国产黄色免费 | 国产成人在线免费观看 | 亚洲人人av | 久久久久久久久影院 | 成人亚洲精品久久久久 | 韩国精品福利一区二区三区 | 免费在线精品视频 | 久久天天躁夜夜躁狠狠躁2022 | 日韩av在线一区二区 | 不卡精品| 久久精品欧美视频 | 久久av一区二区三区亚洲 | 国产精品一区二区麻豆 | 91中文视频 | 人人cao| 蜜桃麻豆www久久囤产精品 | 国产第一页在线播放 | 西西www4444大胆视频 | 久久毛片视频 |