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

一篇學會CPU上下文

商務辦公
進程是并發環境下,一個具有獨立功能的程序在某個數據集上的一次執行活動,它是操作系統進行資源分配和保護的基本單位,也是執行的單位。

[[412975]]

本文轉載自微信公眾號「運維開發故事」,作者沒有文案的夏老師 。轉載本文請聯系運維開發故事公眾號。

1.進程概念

進程定義

進程是并發環境下,一個具有獨立功能的程序在某個數據集上的一次執行活動,它是操作系統進行資源分配和保護的基本單位,也是執行的單位。

PCB

進程控制塊(Process Control Block,PCB)是為了描述和控制進程的運行而定義的一種數表結構,它是進程存在的唯一標志,也是進程實體的一部分。操作系統對進程的管理和控制主要以PCB為依據。PCB中包括了操作系統所需要的進程運行的所有信息。

進程的上下文

用戶級上下文: 正文、數據、用戶堆棧以及共享存儲區;寄存器上下文: 通用寄存器、程序寄存器(IP)、處理器狀態寄存器(EFLAGS)、棧指針(ESP);系統級上下文: 進程控制塊task_struct、內存管理信息(mm_struct、vm_area_struct、pgd、pte)、內核棧。

2.線程概念

線程上下文

多線程環境下的進程定義,很顯然,進程是系統進行資源分配和保護的基本單位。進程包括容納進程映像的一個虛擬地址空間,以及對CPU、I/O資源、文件以及其他資源的有保護有控制的訪問。

可見,一個進程可以劃分為兩個部分:一部分是資源部分,一部分是線程部分。

TCB

線程由線程控制塊(Thread Control Block,TCB)、用戶堆棧、系統堆棧以及一組處理器狀態寄存器和一個私用內存存儲區組成。

3.上下文

cpu上下文

CPU 寄存器,是 CPU 內置的容量小、但速度極快的內存。而程序計數器,則是用來存儲 CPU 正在執行的指令位置、或者即將執行的下一條指令位置。它們都是 CPU 在運行任何任務前,必須的依賴環境,因此也被叫做 CPU 上下文。

進程上下文切換

每當內核壓入一個新的系統上下文層時,它就要保存一個進程的上下文。特別是當系統收到一個中斷,或一個進程執行系統調用,或當內核做上下文切換時,就要對進程的上下文進行保存。上下文切換情況:

  • 一個進程結束,需要從隊列中重新選擇一個進程運行。
  • 如果進程在系統資源不足(內存不足等),則返回到運行隊列,并由系統調度其他進程運行。
  • 如果不訪問磁盤I/O等資源就不能繼續,它會自己主動掛起時,自然也會重新調度。
  • 當有優先級更高的進程運行時,為了保證高優先級進程的運行,當前進程會被掛起,由高優先級進程來運行。
  • 發生硬中斷,CPU 上的進程會被中斷掛起,轉而執行內核中的中斷服務程序。
  • 了解這幾個場景是非常有必要的,因為一旦出現上下文切換的性能問題,它們就是幕后兇手。

線程上下文切換

  • 第一種, 前后兩個線程屬于不同進程。此時,因為資源不共享,所以切換過程就跟進程上下文切換是一樣。
  • 第二種,前后兩個線程屬于同一個進程。此時,因為虛擬內存是共享的,所以在切換時,虛擬內存這些資源就保持不動,只需要切換線程的私有數據、寄存器等不共享的數據。到這里你應該也發現了,雖然同為上下文切換,但同進程內的線程切換,要比多進程間的切換消耗更少的資源,而這,也正是多線程代替多進程的一個優勢。

雖然同為上下文切換,但同進程內的線程切換,要比多進程間的切換消耗更少的資源,而這,也正是多線程代替多進程的一個優勢。

系統調用

系統調用(system call),指運行在用戶空間的程序向操作系統內核請求需要更高權限運行的服務。系統調用提供用戶程序與操作系統之間的接口。大多數系統交互式操作需求在內核態運行。

典型實現(Linux)

Linux 在x86上的系統調用通過 int 80h 實現,用系統調用號來區分入口函數。操作系統實現系統調用的基本過程是:

  1. 應用程序調用庫函數(API);
  2. API 將系統調用號存入 EAX,然后通過中斷調用使系統進入內核態;
  3. 內核中的中斷處理函數根據系統調用號,調用對應的內核函數(系統調用);
  4. 系統調用完成相應功能,將返回值存入 EAX,返回到中斷處理函數;
  5. 中斷處理函數返回到 API 中;
  6. API 將 EAX 返回給應用程序。

CPU 寄存器里原來用戶態的指令位置,需要先保存起來。接著,為了執行內核態代碼,CPU 寄存器需要更新為內核態指令的新位置。最后才是跳轉到內核態運行內核任務。而系統調用結束后,CPU 寄存器需要恢復原來保存的用戶態,然后再切換到用戶空間,繼續運行進程。

總結:一次系統調用的過程,其實是發生了兩次 CPU 上下文切換。但是主要是CPU寄存器,不會涉及到虛擬內存等資源。

中斷上下文切換

無論是硬件中斷(如來自時鐘和外設)、可編程中斷(programmed interrupt)(執行引起“軟件中斷”(software interrupt)的指令),還是例外中斷(如頁面錯),都由系統負責處理。

  • 硬件通過觸發信號,向CPU發送中斷信號,導致內核調用中斷處理程序,進入內核空間。這個過程中,硬件的一些變量和參數也要傳遞給內核, 內核通過這些參數進行中斷處理。

當發生一個中斷時,如果CPU正在比該中斷級低的處理機運行級上運行,它就在解碼下條指令之前,接收該中斷,并提高處理機執行級。這樣,在它處理當前的中斷時,就不會響應該級別或更低級別的中斷,從而維護了內核數據結構的完整性。內核處理中斷的操作順序如下。

  • 切換到到內核線程并對正在執行的進程,保存其當前寄存器上下文并創建(壓入)一個新上下文。
  • 確定中斷源,識別中斷類型(如時鐘或磁盤)。若可以的話,還識別中斷的單元號(如哪個磁盤機引起中斷)。當系統接收一個中斷時,它從機器中得到一個數,系統把這個數用作查表的偏移量。這個表通常被稱為中斷向量(interrupt vector)。中斷向量的內容因機器而異。但一般都含有每種中斷源的中斷處理程序的地址以及中斷處理程序取得參數的方式。內核調用中斷處理程序。從邏輯上講,新上下文層的核心棧不同于前一上下文層的核心棧。在實現方法上,有些是用正在運行的進程的核心棧存放中斷處理程序的棧結構,另一些則是使用全局中斷棧存放中斷處理程序的棧結構,后者能保證中斷處理程序不用進行上下文切換就能返回。
  • 中斷處理程序工作完畢前返回。內核執行一系列特殊機器指令。這些指令恢復前一上下文層的寄存器上下文和核心棧,使它們和中斷發生時的情況一樣,并恢復該上下文層的運行。相應的進程的工作情況可能會受到中斷處理程序的影響,因為中斷處理程序可能已修改過內核的全局數據結構,并喚醒過睡眠的進程。但在一般情況下,進程會像從來未發生過中斷一樣繼續運行。

4.分析linux系統的cpu上下文切換

工具

vmstat

vmstat 是一個常用的系統性能分析工具,主要用來分析系統的內存使用情況,也常用來分析 CPU 上下文切換和中斷的次數。

  1. $ vmstat 5 
  2. rocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- 
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
  4. 2  0      0 27458868 145996 4781912    0    0     0     1    0    0  0  0 99  0  0 
  5. 0  0      0 27459388 145996 4781928    0    0     0     3 8937 15791  1  1 99  0  0 
  6. 0  0      0 27457272 145996 4781948    0    0     0    10 9022 15774  1  1 99  0  0 

你可以通過man手冊解讀每列的含義?,F在我們重點強調:

  • cs(context switch)是每秒上下文切換的次數。
  • in(interrupt)是每秒中斷的次數。
  • r(Running or Runnable)是就緒隊列的長度,也就是正在運行和等待 CPU 的進程數。
  • b(Blocked)是處于不可中斷睡眠狀態的進程數。

vmstat 只給出了系統總體的上下文切換情況,要想查看每個進程的詳細情況,就需要使用我們前面提到過的 pidstat 了。給它加上 -w 選項,你就可以查看每個進程上下文切換的情況了。

  1. # 每隔5秒輸出1組數據 
  2. $ pidstat -wu -t 5 
  3. Linux 4.4.0-142-generic (i-0nxoa13q)  07/22/2021  _x86_64_ (16 CPU) 
  4.  
  5. 03:54:53 PM   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command 
  6. 03:54:58 PM     0         3         -    0.00    0.20    0.00    0.20     0  ksoftirqd/0 
  7. 03:54:58 PM     0         -         3    0.00    0.20    0.00    0.20     0  |__ksoftirqd/0 
  8. 03:54:58 PM     0         7         -    0.00    0.20    0.00    0.20    12  rcu_sched 
  9. 03:54:58 PM     0      6849         -    0.80    0.00    0.00    0.80    10  dockerd 
  10. ... 
  11. 03:54:53 PM   UID      TGID       TID   cswch/s nvcswch/s  Command 
  12. 03:54:58 PM     0         3         -     64.21      0.00  ksoftirqd/0 
  13. 03:54:58 PM     0         -         3     64.21      0.00  |__ksoftirqd/0 
  14. 03:54:58 PM     0         7         -     98.01      0.00  rcu_sched 
  15. 03:54:58 PM     0         -         7     98.01      0.00  |__rcu_sched 
  16. ... 

這個結果中有兩列內容是我們的重點關注對象。一個是 cswch ,表示每秒自愿上下文切換(voluntary context switches)的次數,另一個則是 nvcswch ,表示每秒非自愿上下文切換(non voluntary context switches)的次數。這兩個概念你一定要牢牢記住,因為它們意味著不同的性能問題:

  • 自愿上下文切換,是指進程無法獲取所需資源,導致的上下文切換。比如說, I/O、內存等系統資源不足時,就會發生自愿上下文切換。
  • 非自愿上下文切換,則是指進程由于時間片已到等原因,被系統強制調度,進而發生的上下文切換。比如說,大量進程都在爭搶 CPU 時,就容易發生非自愿上下文切換。

proc文件系統

Linux內核提供了一種通過?/proc?文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。深入了解可以去看這篇文章:https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html中斷次數變多了,說明 CPU 被中斷處理程序占用,還需要通過查看 /proc/interrupts 文件來分析具體的中斷類型。

sysbench壓力測試

sysbench是一個開源的、模塊化的、跨平臺的多線程性能測試工具,可以用來進行CPU、內存、磁盤I/O、線程、數據庫的性能測試。Sysbench的測試主要包括以下幾個方面:

  • 1、磁盤io性能
  • 2、cpu性能
  • 3、內存分配及傳輸速度
  • 4、POSIX線程性能
  • 5、調度程序性能
  • 6、數據庫性能(OLTP基準測試)

下面的案例基于 Ubuntu 18.04,當然,其他的 Linux 系統同樣適用。我使用的案例環境如下所示:

  • 機器配置:4 CPU,8GB
  • 預先安裝 sysbench 和 sysstat 包,如 apt install sysbench sysstat。
  1. # 以10個線程運行5分鐘的基準測試,模擬多線程切換的問題 
  2. sysbench --threads=10 --max-time=300 threads run 

top命令:

  1. top - 11:10:05 up 10 days, 35 min,  3 users,  load average: 2.72, 1.27, 0.64 
  2. Tasks: 120 total,   1 running, 119 sleeping,   0 stopped,   0 zombie 
  3. %Cpu0  : 22.3 us, 69.4 sy,  0.0 ni,  8.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
  4. %Cpu1  : 23.2 us, 66.3 sy,  0.0 ni, 10.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
  5. %Cpu2  : 22.3 us, 67.1 sy,  0.0 ni, 10.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
  6. %Cpu3  : 22.8 us, 68.8 sy,  0.0 ni,  8.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
  7. KiB Mem :  8008272 total,  2646040 free,  3650548 used,  1711684 buff/cache 
  8. KiB Swap:        0 total,        0 free,        0 used.  4048240 avail Mem 
  9.  
  10.   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 
  11. 18770 root      20   0   94368   3672   2696 S 378.4  0.0   2:43.48 sysbench 

看到內核cpu使用率很高。可疑進程為sysbench。此時可以使用pidstat命令查看:

  1. pidstat -wu -t 5 -p 18770 
  2. Linux 3.10.0-1160.15.2.el7.x86_64 (pulsar-1-348d-0002-f741-0002)  2021年07月23日  _x86_64_ (4 CPU) 
  3.  
  4. 11時11分26秒   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command 
  5. 11時11分31秒     0     18770         -   98.60  100.00    0.00  100.00     3  sysbench 
  6. 11時11分31秒     0         -     18770    0.00    0.00    0.00    0.00     3  |__sysbench 
  7. 11時11分31秒     0         -     18771    9.00   28.60    0.00   37.60     2  |__sysbench 
  8. 11時11分31秒     0         -     18772    9.60   27.40    0.00   37.00     3  |__sysbench 
  9. 11時11分31秒     0         -     18773    9.80   29.00    0.00   38.80     3  |__sysbench 
  10. 11時11分31秒     0         -     18774    9.60   27.80    0.00   37.40     2  |__sysbench 
  11. 11時11分31秒     0         -     18775    9.80   29.00    0.00   38.80     1  |__sysbench 
  12. 11時11分31秒     0         -     18776   10.40   27.80    0.00   38.20     2  |__sysbench 
  13. 11時11分31秒     0         -     18777   11.20   27.00    0.00   38.20     1  |__sysbench 
  14. 11時11分31秒     0         -     18778    9.80   27.40    0.00   37.20     2  |__sysbench 
  15. 11時11分31秒     0         -     18779    9.80   28.20    0.00   38.00     2  |__sysbench 
  16. 11時11分31秒     0         -     18780    9.80   28.40    0.00   38.20     0  |__sysbench 
  17.  
  18. 11時11分26秒   UID      TGID       TID   cswch/s nvcswch/s  Command 
  19. 11時11分31秒     0     18770         -      0.00      0.00  sysbench 
  20. 11時11分31秒     0         -     18770      0.00      0.00  |__sysbench 
  21. 11時11分31秒     0         -     18771  47647.40 132455.60  |__sysbench 
  22. 11時11分31秒     0         -     18772  47523.60 148473.80  |__sysbench 
  23. 11時11分31秒     0         -     18773  44959.80 162137.20  |__sysbench 
  24. 11時11分31秒     0         -     18774  46765.00 138126.60  |__sysbench 
  25. 11時11分31秒     0         -     18775  47758.40 157361.60  |__sysbench 
  26. 11時11分31秒     0         -     18776  47324.00 142616.40  |__sysbench 
  27. 11時11分31秒     0         -     18777  48346.40 145743.60  |__sysbench 
  28. 11時11分31秒     0         -     18778  49163.60 140320.40  |__sysbench 
  29. 11時11分31秒     0         -     18779  47157.00 144586.60  |__sysbench 
  30. 11時11分31秒     0         -     18780  46882.20 144493.00  |__sysbench 

非自愿上下文切換為15萬左右,說明系統存在強制調度,都在爭搶cpu時間,說明 CPU 為系統瓶頸。

上下文切換多少次才算正常?

這個數值其實取決于系統本身的 CPU 性能。如果系統的上下文切換次數比較穩定,且內核cpu使用率很低,都應該算是正常的。當上下文切換在一萬左右波動,且內核cpu使用率偏高,就很可能出現了性能問題。

總結

上下文切換發生在操作系統內核中。當看到內核cpu使用率過大,考慮在發生上下文切換。

自愿上下文切換變多了,說明進程都在等待資源,有可能發生了 I/O 等其他問題;

非自愿上下文切換變多了,說明進程都在被強制調度,也就是都在爭搶 CPU,說明 CPU 為系統瓶頸; 

中斷次數變多了,說明 CPU 被中斷處理程序占用,還需要通過查看 /proc/interrupts 文件來分析具體的中斷類型。

 

責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2023-05-05 07:41:42

執行上下文JavaScript

2019-05-06 14:36:48

CPULinux寄存器

2022-04-24 15:37:26

LinuxCPU

2020-02-21 10:09:06

調度進程線程

2017-05-11 14:00:02

Flask請求上下文應用上下文

2022-09-26 23:36:33

Linux系統CPU

2022-04-25 11:27:34

LinuxCPU

2012-12-31 10:01:34

SELinuxSELinux安全

2022-09-14 13:13:51

JavaScript上下文

2022-01-02 08:43:46

Python

2022-02-07 11:01:23

ZooKeeper

2024-02-21 19:56:48

??filterA并發計算

2022-09-15 08:01:14

繼承基礎設施基礎服務

2021-07-06 08:59:18

抽象工廠模式

2023-11-28 08:29:31

Rust內存布局

2023-01-03 08:31:54

Spring讀取器配置

2022-08-23 08:00:59

磁盤性能網絡

2021-07-02 09:45:29

MySQL InnoDB數據

2021-07-05 22:11:38

MySQL體系架構

2021-05-11 08:54:59

建造者模式設計
點贊
收藏

51CTO技術棧公眾號

欧美成人网在线| 日韩久久久精品| 西游记1978| 国产高清免费在线观看| 狠狠干综合网| 精品调教chinesegay| 中文字幕精品一区二区三区在线| 污片在线免费观看| 久久欧美一区二区| 成人有码在线播放| 日韩中文字幕在线观看视频| 国产精品精品| 日韩成人激情在线| 中文字幕第66页| 在线天堂新版最新版在线8| 国产精品久久久久久久第一福利| 国产一区二区无遮挡| 91精东传媒理伦片在线观看| 亚洲第一黄色| 日韩视频一区在线| 91精品人妻一区二区三区蜜桃欧美| 亚洲欧美专区| 一本久久a久久免费精品不卡| 国产香蕉一区二区三区| 国产视频三级在线观看播放| 成人午夜在线视频| 国产一区二区丝袜| 波多野结衣电车| 日韩视频一区二区三区在线播放免费观看| 最近2019中文免费高清视频观看www99 | 九色综合日本| 国产免费黄色大片| 美女视频一区在线观看| 欧美疯狂性受xxxxx另类| 手机毛片在线观看| 蜜乳av综合| 亚洲国产精品大全| 深夜视频在线观看| 日韩精品免费视频一区二区三区| 欧美性一二三区| 毛片av免费在线观看| 丝袜诱惑一区二区| 亚洲国产精品影院| 97超碰在线人人| 亚洲欧美成人影院| 尤物在线观看一区| 精品嫩模一区二区三区| 国产乱色在线观看| 亚洲日本青草视频在线怡红院 | 福利视频导航一区| 国产亚洲黄色片| 男人天堂亚洲天堂| 亚洲影视在线观看| www成人免费| 免费在线观看的电影网站| 亚洲自拍另类综合| 日本一本中文字幕| 91桃色在线| 午夜精品视频在线观看| 男女啪啪免费视频网站| 韩国成人二区| 欧美性xxxx| 能看的毛片网站| 福利一区在线| 欧美一区二区视频在线观看2022 | 特级毛片www| 久久婷婷激情| 国产精品视频网站| 国产日韩免费视频| 成人国产精品免费网站| 精品视频一区二区三区四区| 亚洲av成人无码网天堂| av一区二区三区| 日韩av高清| 欧美日韩在线资源| 亚洲国产中文字幕在线视频综合| 国产不卡一区二区视频| 欧洲av一区二区| 欧美卡1卡2卡| 欧美做受高潮中文字幕| 最近国产精品视频| 日韩一区二区三区xxxx| 免费在线黄色片| 久久久噜噜噜| 91免费的视频在线播放| 少妇又色又爽又黄的视频| 久久众筹精品私拍模特| 一本一道久久a久久精品综合 | 最近国产精品视频| www.亚洲一区| 三级黄色在线视频| 久久精品国产亚洲aⅴ| 91久久极品少妇xxxxⅹ软件| 五月色婷婷综合| 国产日产精品1区| 中文字幕精品在线播放| 中文字幕资源网在线观看免费 | 黄色三级网站在线观看| 久久先锋影音av鲁色资源网| 中文字幕剧情在线观看一区| 国产在线美女| 精品视频在线看| av av在线| 国产精品99在线观看| 高清欧美一区二区三区| 在线免费观看日韩视频| 99久久精品国产毛片| 国产高清免费在线| 久久91导航| 亚洲精品在线三区| 亚洲欧美卡通动漫| 麻豆成人在线| 国产美女精品在线观看| 麻豆网站在线免费观看| 色婷婷综合五月| 欧美xxxx×黑人性爽| 婷婷激情综合| 国产精品福利在线观看| 天天射,天天干| 一区二区三区不卡视频在线观看| 少妇人妻互换不带套| 成人黄色理论片| 在线成人中文字幕| 在线精品免费视| www.日韩精品| 欧美黄网在线观看| 日本一区二区中文字幕| 亚洲天堂色网站| 日本中文在线播放| 成人av网站免费观看| 天堂av在线中文| 亚洲精品一区av| 日韩在线视频播放| 中文人妻熟女乱又乱精品| 久久久久久免费毛片精品| 久久亚洲精品无码va白人极品| 四虎精品一区二区免费| 最近中文字幕mv在线一区二区三区四区| 中文字幕国产在线观看| 91蝌蚪porny九色| 欧美在线观看www| 日韩成人午夜| 国外成人在线播放| 天天操天天干天天操| 天天色天天爱天天射综合| 亚洲乱妇老熟女爽到高潮的片| 欧美国产另类| 动漫3d精品一区二区三区| 在线午夜影院| 精品国产91久久久久久久妲己| 成年人av电影| 国产不卡视频在线播放| 欧美国产综合在线| 国产欧美三级电影| 午夜免费在线观看精品视频| 天天色综合久久| 色婷婷国产精品久久包臀 | 任你弄精品视频免费观看| 91国产美女视频| 东凛在线观看| 在线成人免费视频| 少妇影院在线观看| 波波电影院一区二区三区| 国产一区二区在线视频播放| 日韩中文av| 国产精品美女久久久久久免费| av女优在线| 91精选在线观看| 国产亚洲欧美精品久久久www| 国产成人99久久亚洲综合精品| 久久成人福利视频| 伊人久久大香线蕉av不卡| 国产精品免费小视频| а√天堂在线官网| 日韩av网址在线| 自拍偷拍精品视频| 亚洲欧美视频在线观看| 久久免费精品国产| 日韩国产高清在线| 综合久久国产| 日韩美女国产精品| 国产拍精品一二三| 黑人精品视频| 一本色道久久综合亚洲精品小说| 国产精品一区二区三区在线免费观看 | 天天干,夜夜操| 色综合久久天天| 777777国产7777777| 波多野结衣一区二区三区| 又色又爽又高潮免费视频国产| 精品国产一区二区三区四区| 亚洲综合精品伊人久久| 在线观看的黄色| 久久久精品美女| 欧美zzoo| 欧美大片一区二区三区| 无码人妻精品一区二区| 亚洲精品国产品国语在线app| av网站免费在线播放| 国产综合久久久久影院| 欧美国产亚洲一区| 欧美日韩一卡| 在线丝袜欧美日韩制服| 亚洲8888| 国产精品毛片一区视频| 国产成人77亚洲精品www| 96精品视频在线| 97超碰在线公开在线看免费| 国产视频在线一区二区| 精品人妻aV中文字幕乱码色欲 | 97香蕉久久超级碰碰高清版| 香蕉视频网站在线观看| 亚洲欧美日韩精品久久亚洲区| 午夜精品久久久久久久爽| 欧美影视一区二区三区| 中文字幕在线字幕中文| 亚洲色图制服诱惑| 男人舔女人下部高潮全视频| 不卡一区在线观看| 中文字幕第六页| 久久av资源站| 欧美日韩在线观看不卡| 亚洲永久视频| 日韩国产一级片| 亚洲午夜电影| 9色视频在线观看| 911久久香蕉国产线看观看| 日本一区二区三区免费观看| 美日韩黄色大片| 国产精品自拍首页| 91精品尤物| 99在线热播| 麻豆一二三区精品蜜桃| 成人日韩在线电影| 亚洲天堂网站| 成人黄色免费看| 性欧美video另类hd尤物| 国产精品免费网站| 精品176极品一区| 国产日产亚洲精品| 欧美成人高清视频在线观看| 国产精品对白刺激| 国产毛片精品久久| 国产一区二区香蕉| 9999在线精品视频| 亚洲一区二区自拍| 香蕉成人app| 国产精品久久久久久久久久直播 | 久久精品国产亚洲av麻豆色欲| 亚洲蜜臀av乱码久久精品蜜桃| 麻豆网址在线观看| 亚洲人吸女人奶水| 久久久久久久久久一区二区三区| 一区二区三区视频在线看| 久久中文字幕在线观看| 亚洲v精品v日韩v欧美v专区| 日韩少妇裸体做爰视频| 欧美日韩免费在线观看| 免费看污视频的网站| 欧美日韩成人在线| 国产免费叼嘿网站免费| 亚洲а∨天堂久久精品喷水 | 91丨porny丨在线| 短视频在线观看| 久久久国产一区二区三区四区小说| 亚洲黄色小说视频| ㊣最新国产の精品bt伙计久久| 永久免费看mv网站入口| 亚洲在线中文字幕| 中文字幕精品三级久久久| 在线观看av一区二区| 国产精品福利电影| 亚洲成人激情图| 国产在线高清| 久久av资源网站| 美女扒开腿让男人桶爽久久软| 欧洲成人午夜免费大片| 日日夜夜一区| 国产福利一区二区三区在线观看| 欧美日韩一区二区三区四区不卡| 日产精品一线二线三线芒果| 婷婷丁香综合| 国产肥臀一区二区福利视频| 美女在线视频一区| 成人做爰www看视频软件| 国产欧美日本一区视频| 久久久美女视频| 在线观看www91| 嫩草影院一区二区| 中文字幕不卡av| 日韩经典av| 国产精品美女www| 久久久久久久久久久久久久久久久久久久| 欧美色图亚洲自拍| 国产精品v亚洲精品v日韩精品 | 黄色精品视频| 丁香五月网久久综合| 日韩欧美高清| 日韩日韩日韩日韩日韩| 久久99精品国产麻豆不卡| 国产伦精品一区三区精东| 国产精品久久久久久久久动漫 | 天堂网在线最新版www中文网| 成人av色在线观看| 一区二区美女| 欧美日韩福利在线| 久99久精品视频免费观看| 国产精品第七页| 亚洲激情av在线| 中文字幕av网站| 日韩高清a**址| 免费看电影在线| 国产欧美最新羞羞视频在线观看| 亚洲理论电影片| 福利视频一二区| 国产白丝精品91爽爽久久| 人妻一区二区视频| 欧美日韩激情小视频| 亚洲精品一区二区三区不卡| 色婷婷成人综合| 日本一区二区三区视频在线| 精品免费日产一区一区三区免费| 欧美激情综合| 91网址在线观看精品| 国产精品久久网站| 波多野结衣电车| 亚洲欧美综合v| 亚洲国产欧美日本视频| 精品亚洲一区二区三区四区五区高| 欧美精品日本| aaaaa黄色片| 亚洲精品日韩一| hs视频在线观看| 菠萝蜜影院一区二区免费| 久久青草免费| 一本一道久久久a久久久精品91| 日本中文字幕一区二区视频| 色无极影院亚洲| 色婷婷久久综合| 成年人视频在线看| 国产精品电影在线观看| 日本电影一区二区| 999精彩视频| 国产精品国产三级国产| 一区二区三区免费在线| 日韩中文字幕精品视频| 午夜精品久久久久久毛片| 午夜啪啪福利视频| 国产精品99久久久久久久女警| 91人妻一区二区三区蜜臀| 欧美一区二区免费| 欧美wwww| 国产一区二区三区av在线| 亚洲在线观看| 干b视频在线观看| 欧美日韩一区二区三区在线看| 9色在线观看| 亚洲精品免费一区二区三区| 中文字幕亚洲精品乱码| 无码人妻一区二区三区精品视频| 亚洲国产欧美在线| 黄色片在线免费看| 国产美女高潮久久白浆| 羞羞答答成人影院www| 性猛交╳xxx乱大交| 五月婷婷激情综合网| 国产福利在线视频| 成人免费午夜电影| 一区在线免费| 熟女少妇内射日韩亚洲| 欧美高清视频在线高清观看mv色露露十八| 国产三区视频在线观看| 精品国产91亚洲一区二区三区www| 美女尤物久久精品| 永久免费看mv网站入口| 亚洲激情自拍图| 91p九色成人| 免费看日本黄色| 久久精品男人天堂av| 国产美女无遮挡永久免费| 国内免费精品永久在线视频| 久久99高清| 欧美老女人bb| 91久久久免费一区二区| 国产盗摄在线观看| 久久99热只有频精品91密拍| 久久精品av麻豆的观看方式| 久久精品国产亚洲av无码娇色| 一区二区在线视频| 在线观看视频一区二区三区| 亚洲人成色77777| 亚洲精品国产a| 国产视频第一页在线观看| www.一区二区三区| 日韩va亚洲va欧美va久久| 九九视频免费观看| 中文字幕一区日韩电影| 美国十次av导航亚洲入口| 亚洲精品国产久| 在线观看日韩毛片|