精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux的進程優(yōu)先級NI和PR到底有什么區(qū)別

系統(tǒng) Linux
本文的目的是從Linux系統(tǒng)進程的優(yōu)先級為出發(fā)點,通過了解相關的知識點,希望大家對系統(tǒng)的進程調(diào)度有個整體的了解。其中,也對CFS調(diào)度算法進行了比較深入的分析。雖然top命令中的PR值和ps -l命令中的PRI值的含義是一樣的,但是在優(yōu)先級相同的情況下,它們顯示的值確不一樣。

[[166689]]

作者簡介

 

[[166690]]

鄒立巍,Linux系統(tǒng)技術專家。目前在騰訊SNG社交網(wǎng)絡運營部 計算資源平臺組,負責內(nèi)部私有云平臺的建設和架構規(guī)劃設計。曾任新浪動態(tài)應用平臺系統(tǒng)架構師,負責微博、新浪博客等重點業(yè)務的內(nèi)部私有云平臺架構設計和運維管理工作。

為什么要有進程優(yōu)先級?

這似乎不用過多的解釋,畢竟自從多任務操作系統(tǒng)誕生以來,進程執(zhí)行占用cpu的能力就是一個必須要可以人為控制的事情。因為有的進程相對重要,而有的進程則沒那么重要。

進程優(yōu)先級起作用的方式從發(fā)明以來基本沒有什么變化,無論是只有一個cpu的時代,還是多核cpu時代,都是通過控制進程占用cpu時間的長短來實現(xiàn)的。

就是說在同一個調(diào)度周期中,優(yōu)先級高的進程占用的時間長些,而優(yōu)先級低的進程占用的短些。

請大家真的不要混淆了系統(tǒng)中的這兩個概念:nice(NI)和priority(PR),他們有著千絲萬縷的關系,但對于當前的Linux系統(tǒng)來說,它們并不是同一個概念。

我們看這個命令:

 

大家是否真的明白其中PRI列NI列的具體含義有什么區(qū)別?

同樣的,如果是top命令:

 

大家是否搞清楚了這其中PR值NI值的差別?如果沒有,那么我們可以首先搞清楚什么是nice值。

什么是NICE值?

NICE值應該是熟悉Linux/UNIX的人很了解的概念了,它是反應一個進程“優(yōu)先級”狀態(tài)的值,其取值范圍是-20至19,一共40個級別。

這個值越小,表示進程”優(yōu)先級”越高,而值越大“優(yōu)先級”越低。

例如,我們可以通過NICE命令來對一個將要執(zhí)行的bash命令進行NICE值設置,方法是:

  1. [root@zorrozou-pc0 zorro]# nice -n 10 bash 

這樣我就又打開了一個bash,并且其nice值設置為10,而默認情況下,進程的優(yōu)先級應該是從父進程繼承來的,這個值一般是0。

我們可以通過nice命令直接查看到當前shell的nice值:

  1. [root@zorrozou-pc0 zorro]# nice 
  2. 10 

對比一下正常情況:

  1. [root@zorrozou-pc0 zorro]# exit 

退出當前nice值為10的bash,打開一個正常的bash,我們查看下其 Nice值:

  1. [root@zorrozou-pc0 zorro]# bash 
  2. [root@zorrozou-pc0 zorro]# nice 

另外,使用renice命令可以對一個正在運行的進程進行nice值的調(diào)整,我們也可以使用比如top、ps等命令查看進程的nice值,具體方法我就不多說了,大家可以參閱相關man page。

需要大家注意的是,我在這里都在使用nice值這一稱謂,而非優(yōu)先級(priority)這個說法。

nice值雖然不是priority,但是它確實可以影響進程的優(yōu)先級。

在英語中,如果我們形容一個人nice,那一般說明這個人的人緣比較好。什么樣的人人緣好?往往是謙讓、有禮貌的人。

比如,你跟一個nice的人一起去吃午飯,點了兩個一樣的飯,先上了一份后,nice的那位一般都會說:“你先吃你先吃!”,這就是人緣好,這人nice!但是如果另一份上的很晚,那么這位nice的人就要餓著了。

這說明什么?

越nice的人搶占資源的能力就越差,而越不nice的人搶占能力就越強。這就是nice值大小的含義,nice值越低,說明進程越不nice,搶占cpu的能力就越強,優(yōu)先級就越高(作者這個解釋太形象了,小編忍不住要手動點贊!!)。

在原來使用O1調(diào)度的Linux上,我們還會把nice值叫做靜態(tài)優(yōu)先級,這也基本符合nice值的特點,就是當nice值設定好了之后,除非我們用renice去改它,否則它是不變的。

而priority的值在之前內(nèi)核的O1調(diào)度器上表現(xiàn)是會變化的,所以也叫做動態(tài)優(yōu)先級

什么是優(yōu)先級和實時進程?

我們再來看看什么是priority值,就是ps命令中看到的PRI值或者top命令中看到的PR值。

本文為了區(qū)分這些概念,以后:

  • 統(tǒng)一用nice值表示NI值,或者叫做靜態(tài)優(yōu)先級,也就是用nice和renice命令來調(diào)整的優(yōu)先級;
  • 而實用priority值表示PRI和PR值,或者叫動態(tài)優(yōu)先級。
  • 我們也統(tǒng)一將“優(yōu)先級”這個詞的概念規(guī)定為表示priority值的意思。

在內(nèi)核中,進程優(yōu)先級的取值范圍是通過一個宏定義的,這個宏的名稱是MAX_PRIO,它的值為140。

而這個值又是由另外兩個值相加組成的,一個是代表nice值取值范圍的NICE_WIDTH宏,另一個是代表實時進程(realtime)優(yōu)先級范圍的MAX_RT_PRIO宏。

說白了就是,Linux實際上實現(xiàn)了140個優(yōu)先級范圍,取值范圍是從0-139,這個值越小,優(yōu)先級越高。nice值的-20到19,映射到實際的優(yōu)先級范圍是100-139。

新產(chǎn)生進程的默認優(yōu)先級被定義為:

  1. #define DEFAULT_PRIO (MAX_RT_PRIO + NICE_WIDTH / 2) 

實際上對應的就是nice值的0。

正常情況下,任何一個進程的優(yōu)先級都是這個值,即使我們通過nice和renice命令調(diào)整了進程的優(yōu)先級,它的取值范圍也不會超出100-139的范圍,除非這個進程是一個實時進程,那么它的優(yōu)先級取值才會變成0-99這個范圍中的一個。

這里隱含了一個信息,就是說當前的Linux是一種已經(jīng)支持實時進程的操作系統(tǒng)。

什么是實時操作系統(tǒng)?

我們就不再這里詳細解釋其含義以及在工業(yè)領域的應用了,有興趣的可以參考一下實時操作系統(tǒng)的維基百科。

簡單來說,實時操作系統(tǒng)需要保證相關的實時進程在較短的時間內(nèi)響應,不會有較長的延時,并且要求最小的中斷延時和進程切換延時。

對于這樣的需求,一般的進程調(diào)度算法,無論是O1還是CFS都是無法滿足的,所以內(nèi)核在設計的時候,將實時進程單獨映射了100個優(yōu)先級,這些優(yōu)先級都要高于正常進程的優(yōu)先級(nice值),而實時進程的調(diào)度算法也不同,它們采用更簡單的調(diào)度算法來減少調(diào)度開銷。

總的來說,Linux系統(tǒng)中運行的進程可以分成兩類:

  • 實時進程
  • 非實時進程

它們的主要區(qū)別就是通過優(yōu)先級來區(qū)分的。

所有優(yōu)先級值在0-99范圍內(nèi)的,都是實時進程,所以這個優(yōu)先級范圍也可以叫做實時進程優(yōu)先級,而100-139范圍內(nèi)的是非實時進程。

在系統(tǒng)中可以使用chrt命令來查看、設置一個進程的實時優(yōu)先級狀態(tài)。我們可以先來看一下chrt命令的使用:

 

我們先來關注顯示出的Policy options部分,會發(fā)現(xiàn)系統(tǒng)給各種進程提供了5種調(diào)度策略。

但是這里并沒有說明的是,這五種調(diào)度策略是分別給兩種進程用的,對于實時進程可以用的調(diào)度策略是:SCHED_FIFO、SCHED_RR,而對于非實時進程則是:SCHED_OTHER、SCHED_OTHER、SCHED_IDLE。

系統(tǒng)的整體優(yōu)先級策略是:

  • 如果系統(tǒng)中存在需要執(zhí)行的實時進程,則優(yōu)先執(zhí)行實時進程。
  • 直到實時進程退出或者主動讓出CPU時,才會調(diào)度執(zhí)行非實時進程。

實時進程可以指定的優(yōu)先級范圍為1-99,將一個要執(zhí)行的程序以實時方式執(zhí)行的方法為:

  1. [root@zorrozou-pc0 zorro]# chrt 10 bash 
  2. [root@zorrozou-pc0 zorro]# chrt -p $$ 
  3. pid 14840's current scheduling policy: SCHED_RR 
  4. pid 14840's current scheduling priority: 10 

可以看到,新打開的bash已經(jīng)是實時進程,默認調(diào)度策略為SCHED_RR,優(yōu)先級為10。如果想修改調(diào)度策略,就加個參數(shù):

  1. [root@zorrozou-pc0 zorro]# chrt -f 10 bash 
  2. [root@zorrozou-pc0 zorro]# chrt -p $$ 
  3. pid 14843's current scheduling policy: SCHED_FIFO 
  4. pid 14843's current scheduling priority: 10 

剛才說過,SCHED_RR和SCHED_FIFO都是實時調(diào)度策略,只能給實時進程設置。對于所有實時進程來說,優(yōu)先級高的(就是priority數(shù)字小的)進程一定會保證先于優(yōu)先級低的進程執(zhí)行。

SCHED_RR和SCHED_FIFO的調(diào)度策略只有當兩個實時進程的優(yōu)先級一樣的時候才會發(fā)生作用,其區(qū)別也是顧名思義:

SCHED_FIFO

以先進先出的隊列方式進行調(diào)度,在優(yōu)先級一樣的情況下,誰先執(zhí)行的就先調(diào)度誰,除非它退出或者主動釋放CPU。

SCHED_RR

以時間片輪轉(zhuǎn)的方式對相同優(yōu)先級的多個進程進行處理。時間片長度為100ms。

這就是Linux對于實時進程的優(yōu)先級和相關調(diào)度算法的描述。整體很簡單,也很實用。

而相對更麻煩的是非實時進程,它們才是Linux上進程的主要分類。對于非實時進程優(yōu)先級的處理,我們首先還是要來介紹一下它們相關的調(diào)度算法:O1和CFS。

什么是O1調(diào)度?

O1調(diào)度算法是在Linux 2.6開始引入的,到Linux 2.6.23之后內(nèi)核將調(diào)度算法替換成了CFS。

雖然O1算法已經(jīng)不是當前內(nèi)核所默認使用的調(diào)度算法了,但是由于大量線上的服務器可能使用的Linux版本還是老版本,所以我相信很多服務器還是在使用著O1調(diào)度器,那么費一點口舌簡單交代一下這個調(diào)度器也是有意義的。

這個調(diào)度器的名字之所以叫做O1,主要是因為其算法的時間復雜度是O1。

O1調(diào)度器仍然是根據(jù)經(jīng)典的時間片分配的思路來進行整體設計的。

簡單來說,時間片的思路就是將CPU的執(zhí)行時間分成一小段一小段的,假如是5ms一段。于是多個進程如果要“同時”執(zhí)行,實際上就是每個進程輪流占用5ms的cpu時間,而從1s的時間尺度上看,這些進程就是在“同時”執(zhí)行的。

當然,對于多核系統(tǒng)來說,就是把每個核心都這樣做就行了。而在這種情況下,如何支持優(yōu)先級呢?

實際上就是將時間片分配成大小不等的若干種,優(yōu)先級高的進程使用大的時間片,優(yōu)先級小的進程使用小的時間片。這樣在一個周期結(jié)速后,優(yōu)先級大的進程就會占用更多的時間而因此得到特殊待遇。

O1算法還有一個比較特殊的地方是,即使是相同的nice值的進程,也會再根據(jù)其CPU的占用情況將其分成兩種類型:CPU消耗型和IO消耗性。

典型的CPU消耗型的進程的特點是,它總是要一直占用CPU進行運算,分給它的時間片總是會被耗盡之后,程序才可能發(fā)生調(diào)度。

比如常見的各種算數(shù)運算程序。

而IO消耗型的特點是,它經(jīng)常時間片沒有耗盡就自己主動先釋放CPU了。

比如vi,emacs這樣的編輯器就是典型的IO消耗型進程。

為什么要這樣區(qū)分呢?因為IO消耗型的進程經(jīng)常是跟人交互的進程,比如shell、編輯器等。

當系統(tǒng)中既有這種進程,又有CPU消耗型進程存在,并且其nice值一樣時,假設給它們分的時間片長度是一樣的,都是500ms,那么人的操作可能會因為CPU消耗型的進程一直占用CPU而變的卡頓。

可以想象,當bash在等待人輸入的時候,是不占CPU的,此時CPU消耗的程序會一直運算,假設每次都分到500ms的時間片,此時人在bash上敲入一個字符的時候,那么bash很可能要等個幾百ms才能給出響應,因為在人敲入字符的時候,別的進程的時間片很可能并沒有耗盡,所以系統(tǒng)不會調(diào)度bash程度進行處理。

為了提高IO消耗型進程的響應速度,系統(tǒng)將區(qū)分這兩類進程,并動態(tài)調(diào)整CPU消耗的進程將其優(yōu)先級降低,而IO消耗型的將其優(yōu)先級變高,以降低CPU消耗進程的時間片的實際長度。

已知nice值的范圍是-20-19,其對應priority值的范圍是100-139,對于一個默認nice值為0的進程來說,其初始priority值應該是120,隨著其不斷執(zhí)行,內(nèi)核會觀察進程的CPU消耗狀態(tài),并動態(tài)調(diào)整priority值,可調(diào)整的范圍是+-5。

就是說,***優(yōu)先級可以被自動調(diào)整到115,***到125。這也是為什么nice值叫做靜態(tài)優(yōu)先級,而priority值叫做動態(tài)優(yōu)先級的原因。不過這個動態(tài)調(diào)整的功能在調(diào)度器換成CFS之后就不需要了,因為CFS換了另外一種CPU時間分配方式,這個我們后面再說。

什么是CFS完全公平調(diào)度?

O1已經(jīng)是上一代調(diào)度器了,由于其對多核、多CPU系統(tǒng)的支持性能并不好,并且內(nèi)核功能上要加入cgroup等因素,Linux在2.6.23之后開始啟用CFS作為對一般優(yōu)先級(SCHED_OTHER)進程調(diào)度方法。

在這個重新設計的調(diào)度器中,時間片,動態(tài)、靜態(tài)優(yōu)先級以及IO消耗,CPU消耗的概念都不再重要。CFS采用了一種全新的方式,對上述功能進行了比較完善的支持。

其設計的基本思路是:我們想要實現(xiàn)一個對所有進程完全公平的調(diào)度器。

又是那個老問題:如何做到完全公平?答案跟上一篇IO調(diào)度中CFQ的思路類似:

如果當前有n個進程需要調(diào)度執(zhí)行,那么調(diào)度器應該在一個比較小的時間范圍內(nèi),把這n個進程全都調(diào)度執(zhí)行一遍,并且它們平分cpu時間,這樣就可以做到所有進程的公平調(diào)度。

那么這個比較小的時間就是任意一個R狀態(tài)進程被調(diào)度的***延時時間,即:任意一個R狀態(tài)進程,都一定會在這個時間范圍內(nèi)被調(diào)度響應。這個時間也可以叫做調(diào)度周期,其英文名字叫做:sched_latency_ns。

CFS的優(yōu)先級

當然,CFS中還需要支持優(yōu)先級。在新的體系中,優(yōu)先級是以時間消耗(vruntime增長)的快慢來決定的。

就是說,對于CFS來說,衡量的時間累積的絕對值都是一樣紀錄在vruntime中的,但是不同優(yōu)先級的進程時間增長的比率是不同的,高優(yōu)先級進程時間增長的慢,低優(yōu)先級時間增長的快。

比如,優(yōu)先級為19的進程,實際占用cpu為1秒,那么在vruntime中就記錄1s。但是如果是-20優(yōu)先級的進程,那么它很可能實際占CPU用10s,在vruntime中才會紀錄1s。

CFS真實實現(xiàn)的不同nice值的cpu消耗時間比例在內(nèi)核中是按照“每差一級cpu占用時間差10%左右”這個原則來設定的。

這里的大概意思是說,如果有兩個nice值為0的進程同時占用cpu,那么它們應該每人占50%的cpu,如果將其中一個進程的nice值調(diào)整為1的話,那么此時應保證優(yōu)先級高的進程比低的多占用10%的cpu,就是nice值為0的占55%,nice值為1的占45%。那么它們占用cpu時間的比例為55:45。

這個值的比例約為1.25。就是說,相鄰的兩個nice值之間的cpu占用時間比例的差別應該大約為1.25。根據(jù)這個原則,內(nèi)核對40個nice值做了時間計算比例的對應關系,它在內(nèi)核中以一個數(shù)組存在:

多CPU的CFS調(diào)度是怎樣的?

在上面的敘述中,我們可以認為系統(tǒng)中只有一個CPU,那么相關的調(diào)度隊列只有一個。

實際情況是系統(tǒng)是有多核甚至多個CPU的,CFS從一開始就考慮了這種情況,它對每個CPU核心都維護一個調(diào)度隊列,這樣每個CPU都對自己的隊列進程調(diào)度即可。

這也是CFS比O1調(diào)度算法更高效的根本原因:每個CPU一個隊列,就可以避免對全局隊列使用大內(nèi)核鎖,從而提高了并行效率。

當然,這樣最直接的影響就是CPU之間的負載可能不均,為了維持CPU之間的負載均衡,CFS要定期對所有CPU進行l(wèi)oad balance操作,于是就有可能發(fā)生進程在不同CPU的調(diào)度隊列上切換的行為。

這種操作的過程也需要對相關的CPU隊列進行鎖操作,從而降低了多個運行隊列帶來的并行性。

不過總的來說,CFS的并行隊列方式還是要比O1的全局隊列方式要高效。尤其是在CPU核心越來越多的情況下,全局鎖的效率下降顯著增加。

***

本文的目的是從Linux系統(tǒng)進程的優(yōu)先級為出發(fā)點,通過了解相關的知識點,希望大家對系統(tǒng)的進程調(diào)度有個整體的了解。

其中,我們也對CFS調(diào)度算法進行了比較深入的分析。在我的經(jīng)驗來看,這些知識對我們在觀察系統(tǒng)的狀態(tài)和相關優(yōu)化的時候都是非常有用的。

比如在使用top命令的時候,NI和PR值到底是什么意思?類似的地方還有ps命令中的NI和PRI值、ulimit命令-e和-r參數(shù)的區(qū)別等等。當然,希望看完本文后,能讓大家對這些命令顯示的了解更加深入。

除此之外,我們還會發(fā)現(xiàn),雖然top命令中的PR值和ps -l命令中的PRI值的含義是一樣的,但是在優(yōu)先級相同的情況下,它們顯示的值確不一樣。

那么,你知道為什么它們顯示會有區(qū)別嗎?這個問題的答案留給大家自己去尋找吧!

責任編輯:武曉燕 來源: 高效運維
相關推薦

2021-09-06 10:45:18

XDRMDR

2024-02-26 07:36:09

lockJava語言

2022-10-27 19:32:20

切片golang數(shù)組

2022-09-14 09:45:15

指標標簽

2012-07-25 15:45:28

ERPSCM

2019-04-23 08:23:51

統(tǒng)計學機器學習人工智能

2023-07-19 21:54:02

小區(qū)扇區(qū)信號

2020-08-19 08:10:11

數(shù)據(jù)分析技術IT

2020-10-29 09:49:32

HarmonyOS鴻蒙安卓應用

2023-03-08 09:48:08

SpringWAR文件JAR文件

2021-04-26 05:36:59

物聯(lián)網(wǎng)

2022-08-26 01:41:42

GPUCPU架構

2022-09-08 18:38:26

LinuxWindowsmacOS

2024-04-12 00:00:00

localhost計算機機制

2022-08-16 07:32:03

RestfulSOAPRPC

2022-02-08 07:02:32

進程線程操作系統(tǒng)

2025-06-13 08:05:00

DevOps運維SRE

2022-11-09 23:27:31

無線Wi-Fi網(wǎng)絡

2018-07-20 14:00:51

LinuxmacOS內(nèi)核

2018-06-26 14:29:44

LinuxUnix不同
點贊
收藏

51CTO技術棧公眾號

日本激情视频在线观看| 欧美另类高清videos的特点| 99国产精品免费网站| 亚洲成av人影院在线观看网| 欧美日韩国产精品一区二区| 在线免费观看一区二区| 欧美1区2区3区| 日韩精品在线免费观看| 99热一区二区| 九色porny丨国产首页在线| 国产女主播视频一区二区| 亚洲影院色无极综合| 依依成人综合网| 久久久久久久久久久9不雅视频| 亚洲电影免费观看高清完整版在线| 99久久激情视频| 影音先锋中文在线视频| 久久久影院官网| 亚洲最大福利视频网| 精品国产一区二区三区四| 亚洲影视一区| 在线视频日韩精品| 艳妇乳肉亭妇荡乳av| 免费成人黄色网| 色伊人久久综合中文字幕| 成年在线观看视频| 欧美性天天影视| 久久日一线二线三线suv| 成人动漫视频在线观看免费| 波多野结衣一区二区三区在线| 激情91久久| 欧美成人精品xxx| 日本午夜精品视频| 久久爱www成人| 日韩第一页在线| 伊人av在线播放| 91成人app| 欧美日韩的一区二区| 欧美日韩亚洲第一| 鲁鲁在线中文| 亚洲高清中文字幕| 国产高清不卡无码视频| 国产福利视频在线| 亚洲欧洲精品成人久久奇米网| 欧洲av一区| 色中色在线视频| 91视视频在线观看入口直接观看www | av影视在线| 亚洲男人的天堂网| 久久最新免费视频| 国产在线观看a| 中文字幕亚洲在| 杨幂一区欧美专区| 色大18成网站www在线观看| 国产日产精品1区| 欧美午夜视频在线| 高清av在线| 国产欧美综合在线| 亚洲成人午夜在线| 日本三级在线视频| 亚洲日本护士毛茸茸| 一本一本a久久| 黄网站在线免费看| 一区二区在线观看免费视频播放| 欧美三级午夜理伦三级老人| 超碰免费在线播放| 亚洲一区二区欧美激情| 国产人妻777人伦精品hd| 国产ktv在线视频| 日韩欧美在线播放| 国产区二区三区| 国产精品日韩精品在线播放| 日韩精品中午字幕| 亚洲精品乱码久久久久久蜜桃图片| 激情av综合| 亚洲人成亚洲人成在线观看| 91无套直看片红桃在线观看| 久久久国产精品| 久久人人爽人人| 亚洲精品成人在线视频| 麻豆国产精品一区二区三区| 亚洲iv一区二区三区| 人妻无码中文字幕免费视频蜜桃| 久久综合资源网| 亚洲一区二区在线看| 色屁屁www国产馆在线观看| 精品国产乱码久久久久酒店| 欧美日韩在线成人| 日本精品一区二区三区在线观看视频| 亚洲成人激情视频| 日本污视频网站| 国产精品第十页| 国产成人精品国内自产拍免费看| 艳妇乳肉豪妇荡乳av| av在线不卡电影| 亚洲欧洲免费无码| xxxx在线视频| 欧美日韩国产免费一区二区 | 精品国产xxx| 国产精品中文字幕一区二区三区| 国产亚洲欧美一区二区三区| av资源网在线观看| 亚洲成a人v欧美综合天堂| 中文字幕第88页| 美女av一区| 久久香蕉国产线看观看av| 日韩视频在线观看一区| 国产美女精品在线| 欧美日韩电影一区二区| 青青青草视频在线| 欧美日本在线看| 在线免费观看黄色小视频| 在线一区电影| 国产精品亚发布| 四虎精品一区二区三区| 亚洲欧美日韩国产成人精品影院| 欧美日韩一区二区在线免费观看| 欧美专区一区| 色偷偷av一区二区三区乱| 天天综合网入口| 国产suv精品一区二区883| 亚洲精品视频一区二区三区| 成人教育av| 亚洲国产福利在线| 欧美黄色免费看| 精油按摩中文字幕久久| 五月天久久狠狠| 欧美裸体视频| 亚洲福利视频网| 国产一级片免费| 国产99精品视频| 五月天综合婷婷| 四虎影视国产精品| 中文综合在线观看| 狠狠躁夜夜躁人人爽视频| 91视频com| 久久久久久免费看| 成人高潮视频| 韩国福利视频一区| 亚洲精品第五页| 一个色在线综合| 亚洲少妇一区二区| 欧美fxxxxxx另类| 91中文在线视频| 国产三区视频在线观看| 欧美精品1区2区| 国产精品精品软件男同| 国产一区二区在线观看免费| 日本女人高潮视频| 精品久久亚洲| 欧美精品在线观看| 亚洲高清视频在线播放| 亚洲一区二三区| 亚洲日本久久久| 亚洲三级电影在线观看| 国产精品yjizz| 国产高清视频色在线www| 亚洲精品福利在线| 国产午夜精品久久久久| 日本一区二区视频在线| 亚洲一级免费观看| 先锋资源久久| 99re在线观看视频| 国产精品—色呦呦| 亚洲精品久久久久久久久久久| 婷婷激情五月网| 国产清纯美女被跳蛋高潮一区二区久久w| 无码人妻丰满熟妇区毛片| 日韩中文欧美| 91成人免费看| missav|免费高清av在线看| 国产视频久久网| 日韩免费av网站| 成人欧美一区二区三区小说 | 浮妇高潮喷白浆视频| 久久99国产成人小视频| 国产精品美女视频网站| 哥也色在线视频| 亚洲精品一线二线三线| 欧美一区二区三区网站| 国产精品久久久久久久久快鸭| 成年人网站av| 一区二区日本视频| 午夜一区二区三视频在线观看| 91精品一久久香蕉国产线看观看| 欧美激情综合亚洲一二区| 可以直接在线观看的av| 欧美精品欧美精品系列| 久久久91视频| 久久精品日产第一区二区三区高清版 | 玛丽玛丽电影原版免费观看1977 | 日韩精品在线网站| 在线观看日韩中文字幕| 1000精品久久久久久久久| 国产免费一区二区三区最新6| 日韩国产高清在线| 亚洲乱码日产精品bd在线观看| 亚欧日韩另类中文欧美| 91精品视频在线| 麻豆mv在线观看| 久久亚洲一区二区三区四区五区高| 国 产 黄 色 大 片| 欧美色图天堂网| 日韩av无码中文字幕| 国产精品乱人伦| jjzzjjzz欧美69巨大| 久久精品国产精品亚洲精品| 99在线精品免费视频| 色偷偷综合网| 久久精品久久精品国产大片| crdy在线观看欧美| 日本午夜人人精品| 日本在线视频中文有码| 中文日韩在线观看| 欧美女优在线观看| 精品国精品自拍自在线| 在线观看免费高清视频| 色综合中文字幕| 久久精品波多野结衣| 18欧美亚洲精品| 亚洲一区 欧美| wwwwww.欧美系列| 在线播放av网址| 久久99这里只有精品| 免费日韩中文字幕| 一区二区三区国产盗摄| 91成人综合网| 你懂的国产精品| 久久久一二三四| 日产精品一区二区| 欧美在线一区二区三区四区| 国产精品久久久久av蜜臀| av观看久久| 日韩黄色av| 91精品视频网站| 国产精品日韩精品在线播放| 国产欧美久久一区二区| 国产丝袜高跟一区| 日本三级中文字幕| 亚洲精品免费看| 一级性生活免费视频| 国产精品网站在线| 免费看黄色av| 久久久久成人黄色影片| 中文精品在线观看| 99国内精品久久| 欧美一级片黄色| www.欧美色图| 日本少妇毛茸茸| 91免费版在线| 亚洲第一成人网站| 国产亚洲一区二区三区四区| 亚洲专区区免费| 国产日韩欧美精品在线| 日本成人午夜影院| 中文字幕av一区 二区| 国产熟女一区二区| 国产精品家庭影院| 久久久99999| 亚洲一区在线免费观看| 欧美激情国产精品免费| 亚洲午夜一区二区三区| 99免费在线观看| 欧美视频在线视频| 中国女人真人一级毛片| 欧美精品一级二级| 午夜精品久久久久久久99| 精品成人佐山爱一区二区| 婷婷在线免费视频| 亚洲欧洲在线播放| 日韩在线免费电影| 精品中文字幕在线观看| av人人综合网| 国产精品久久久久久av福利软件| 欧美成人高清视频在线观看| 91视频国产高清| 欧美日韩一区二区三区四区不卡| 久久综合中文色婷婷| 99re66热这里只有精品8| 可以在线看黄的网站| 国产欧美另类| 久久这里只精品| 成人激情小说乱人伦| 国产伦理片在线观看| 亚洲色图20p| 日本三级一区二区| 欧美电影影音先锋| 色呦呦视频在线| 最近中文字幕mv在线一区二区三区四区| 成人三级网址| 欧美一级淫片丝袜脚交| 成人影院网站ww555久久精品| 国产精品10p综合二区| 欧洲激情综合| 国产日本在线播放| 免费高清成人在线| 日本一级片在线播放| 国产精品美女久久久久av爽李琼| 国产小视频在线看| 欧美午夜精品一区二区蜜桃| 男人天堂av网| 日韩在线观看免费| 在线免费三级电影网站| 亚洲va久久久噜噜噜久久天堂| 久久99蜜桃| 欧美又粗又长又爽做受| 免费久久精品视频| 亚洲欧美日本一区| 亚洲最新视频在线观看| 一区二区视频免费观看| 亚洲精品v天堂中文字幕| 毛片在线播放a| 国产精品6699| 欧美高清视频看片在线观看| www亚洲国产| 日韩不卡一区二区三区| 中文在线永久免费观看| 亚洲丝袜自拍清纯另类| 黄色污污网站在线观看| 亚洲国产成人精品久久久国产成人一区| 日韩精品黄色| 国产精品九九九| 亚洲瘦老头同性70tv| 国产欧美日韩小视频| 国产一区二区三区四区在线观看 | 中文字幕日韩在线| 亚洲综合激情五月| 秋霞国产午夜精品免费视频| 亚洲国产第一区| 亚洲一区二区在线观看视频 | 蜜桃成人精品| 欧美日韩精品免费观看视一区二区| 国产伊人精品| 亚洲欧洲日韩综合| 亚洲黄色av一区| 国产毛片在线视频| 久久久精品国产一区二区| 嫩草伊人久久精品少妇av杨幂| 美女亚洲精品| 性欧美精品高清| mm131美女视频| 日韩人体视频一二区| 日本又骚又刺激的视频在线观看| 久久人人爽国产| 久久久久97| 青青草国产精品视频| 不卡的av网站| 中文字幕一区二区三区精品| 亚洲精品wwww| 欧美人体一区二区三区| 欧美成人dvd在线视频| 久久午夜影视| 色噜噜噜噜噜噜| 欧美精品少妇一区二区三区| 国产视频中文字幕在线观看| 亚洲一区二区三区乱码aⅴ| 亚洲国产精品久久久久蝴蝶传媒| 污污视频网站在线| 夜夜嗨av一区二区三区网页| 高清国产mv在线观看| 4k岛国日韩精品**专区| 免费一区二区| 三级一区二区三区| 亚洲免费av在线| 欧美 日韩 国产 成人 在线 91| 午夜精品久久久久久久99黑人| 亚洲国产国产| 9久久婷婷国产综合精品性色| 国产精品毛片久久久久久久| 国产色视频在线| 午夜精品久久久久久99热软件| 偷拍精品福利视频导航| 免费黄色一级网站| 亚洲欧美日韩国产综合| 天天操天天干天天插| 国产精品91久久久| 在线电影一区二区| 老熟妇精品一区二区三区| 欧美性高跟鞋xxxxhd| 在线免费av网站| 国产精品裸体一区二区三区| 午夜在线一区| 99鲁鲁精品一区二区三区| 精品99999| 99久久婷婷国产综合精品首页 | 首页欧美精品中文字幕| 亚洲综合久久av一区二区三区| 日韩你懂的电影在线观看| 性欧美又大又长又硬| 婷婷视频在线播放| av中文一区二区三区| 亚洲综合网av| 4438全国成人免费| 亚洲欧美一级二级三级| 给我看免费高清在线观看| 欧美情侣在线播放| 欧美aa一级| 2021国产视频| 国产欧美日本一区视频| 天天操天天射天天|