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

一文讀懂Buffer與Cache:開啟性能優化的大門

系統 Linux
從字面意思來看,Buffer 是緩沖區,Cache 是緩存 。它們都用于在內存中臨時存儲數據,但這兩種 “臨時存儲” 又有著明顯的區別。就好像你出門旅行,會帶一個行李箱和一個隨身小包。

在計算機的世界里,內存管理就像是一場精密的交響樂指揮,協調著數據的流動與處理,對計算機系統的性能起著決定性作用。想象一下,計算機系統是一座繁忙的城市,內存就是城市中的交通樞紐,數據則是來來往往的車輛。如果沒有良好的交通管理(內存管理),車輛(數據)就會擁堵,整個城市(計算機系統)的運行效率就會大幅下降。

而在內存管理這個大舞臺上,Buffer(緩沖區)和 Cache(緩存)則是兩位至關重要的角色,它們默默工作,卻對系統性能有著深遠影響。很多人對它們的概念感到困惑,常常將二者混為一談,今天就讓我們深入探究一下這兩個神秘的存在,揭開它們的面紗,看看它們是如何在幕后助力計算機高效運行的 。

一、Buffer和Cache概述

從字面意思來看,Buffer 是緩沖區,Cache 是緩存 。它們都用于在內存中臨時存儲數據,但這兩種 “臨時存儲” 又有著明顯的區別。就好像你出門旅行,會帶一個行李箱和一個隨身小包。行李箱可以類比為 Buffer,它用來存放暫時不用,但后續可能會用到的物品,這些物品就像等待傳輸到其他設備的數據。而隨身小包就像 Cache,里面裝著你隨時可能會用到的東西,比如手機、錢包,這些物品就像被頻繁訪問的數據,放在小包里能讓你快速拿到,就像數據被緩存起來能被快速讀取一樣。

在 Linux 系統中,我們可以通過free命令來查看內存的使用情況 。打開終端,輸入free -h(-h參數是為了讓輸出結果更易讀),你會看到類似這樣的信息:

total        used        free      shared  buff/cache   available
Mem:           7.7G        2.0G        3.7G        113M        2.0G        5.3G
Swap:          2.0G          0B        2.0G

在這些信息中,buff/cache這一列引起了我們的注意,它就是 Buffer 和 Cache 的內存使用總和 。而實際上,free命令的統計數據是來自于/proc/meminfo這個文件 。用cat /proc/meminfo命令查看,會看到更詳細的內存信息,其中Buffers和Cached這兩個字段,分別對應著 Buffer 和 Cache 使用的內存大小 。

那么,Buffers、Cached和SReclaimable具體是什么含義呢?Buffers是內核緩沖區用到的內存,它主要用于緩存磁盤的數據 。比如,當我們向磁盤寫入數據時,數據不會立刻被寫入磁盤,而是先存儲在Buffers中,等積累到一定量或者滿足特定條件時,再統一寫入磁盤,這樣可以減少磁盤 I/O 的次數,提高寫入效率 。Cached是內核頁緩存和 Slab 用到的內存,主要用于緩存從文件讀取的數據 。

當我們讀取一個文件時,數據會被緩存到Cached中,如果下次再讀取相同的文件內容,就可以直接從內存中獲取,大大加快了讀取速度 。SReclaimable是 Slab 的一部分,Slab 是內核中用于管理內存的一種機制,SReclaimable表示 Slab 中可回收的部分 。

二、Buffer與Cache工作原理

2.1Buffer的工作原理

Buffer 就像是數據傳輸過程中的一個臨時停靠站 。當計算機與不同速度的設備進行數據交換時,比如內存與硬盤之間,由于硬盤的讀寫速度相對內存來說非常慢,如果沒有 Buffer,內存就需要一直等待硬盤完成數據傳輸,這會極大地浪費內存的性能 。而有了 Buffer,當內存要向硬盤寫入數據時,數據會先被存儲到 Buffer 中 。假設我們要將一個大文件寫入硬盤,文件數據會按一定大小的塊依次存入 Buffer 。

當 Buffer 中的數據達到一定量(比如一個磁盤塊的大小),或者滿足特定的寫入條件(如操作系統的寫入調度策略)時,這些數據就會被一次性寫入硬盤 。這樣做的好處是,減少了硬盤的讀寫次數 。因為如果每次有少量數據就直接寫入硬盤,硬盤的磁頭需要頻繁移動來定位數據位置,這會花費大量時間 。而通過 Buffer 的緩沖,將分散的小寫入操作合并成大的寫入操作,大大提高了數據傳輸的效率 。

同時,在數據讀取時,Buffer 也起著類似的作用 。當從硬盤讀取數據時,硬盤會將數據先讀取到 Buffer 中,內存再從 Buffer 中讀取數據,這就避免了內存直接與速度較慢的硬盤頻繁交互,保證了數據傳輸的穩定性和高效性 。

當應用程序請求從磁盤讀取數據時,內核會先檢查Buffer中是否已經存在相應的數據塊。如果存在,內核會直接從Buffer返回數據,避免了對物理磁盤的讀取。如果數據不在Buffer中,內核會將數據塊從磁盤讀取到Buffer中,并返回給應用程序。這樣,Buffer在一定程度上減少了對磁盤的訪問次數,提高了I/O性能。

相關系統參數

(1)dirty_ratio

echo 20 > /proc/sys/vm/dirty_ratio
或
sysctl -w vm.dirty_ratio=20
  • 作用: dirty_ratio 參數定義了系統內存中臟頁(已被修改但尚未寫入磁盤)的最大比例。當臟頁的比例達到或超過此值時,系統將啟動同步寫入操作,將臟頁寫入磁盤。
  • 影響: 控制臟頁的及時寫入,適當設置有助于避免頻繁的磁盤寫入操作。
  • 配置方式(參數的單位是百分比)

(2)dirty_background_ratio

echo 10 > /proc/sys/vm/dirty_background_ratio
或
sysctl -w vm.dirty_background_ratio=10
  • 作用:dirty_background_ratio 參數定義了當臟頁的比例超過此值時,系統會觸發后臺寫入操作。后臺寫入是指將臟頁異步地寫入磁盤,不會引起進程阻塞。
  • 影響: 控制后臺寫入的啟動條件,避免系統過早地觸發寫入操作,從而提高系統性能。
  • 配置方式, 可通過修改 /proc/sys/vm/dirty_background_ratio 文件或使用 sysctl 命令進行配置。(參數的單位是百分比)

2.2Cache:加速系統的秘密武器

Cache 的工作原理基于程序的局部性原理 ,即程序在一段時間內訪問的數據往往集中在一個較小的區域 。它就像一個數據的 “快速通道”,將經常訪問的數據復制到內存中速度更快的區域 。以數據庫查詢為例,當我們執行一個數據庫查詢語句時,查詢結果會被存儲在 Cache 中 。如果下次再執行相同或相似的查詢語句,系統會首先檢查 Cache 中是否已經存在該結果 。如果存在,就直接從 Cache 中讀取數據返回給用戶,而不需要再次執行復雜的數據庫查詢操作 。這大大減少了數據訪問的時間,提高了系統的響應速度 。

Cache 通常采用一些替換算法,如最近最少使用(LRU)算法,來決定當 Cache 空間不足時,哪些數據需要被替換出去 。LRU 算法會將最近一段時間內最少被訪問的數據替換掉,這樣可以保證 Cache 中始終保存著最有可能被再次訪問的數據 。除了數據庫查詢,Cache 在 CPU 與內存之間也起著重要作用 。

由于 CPU 的運行速度遠遠快于內存,為了減少 CPU 等待內存數據的時間,在 CPU 和內存之間設置了 Cache 。CPU 首先會在 Cache 中查找需要的數據,如果找到(命中),就可以快速獲取數據進行處理;如果沒找到(未命中),才會從內存中讀取數據,并將讀取的數據同時存入 Cache 中,以便下次訪問時能夠更快獲取 。

相關系統參數

(1)vfs_cache_pressure

echo 100 > /proc/sys/vm/vfs_cache_pressure
或
sysctl -w vm.vfs_cache_pressure=100
  • 作用: vfs_cache_pressure 參數用于調整內核對 dentry 和 inode 緩存的傾向性。較大的值使內核傾向于回收 dentry,而較小的值使內核傾向于回收 inode。
  • 影響: 控制文件系統緩存的回收策略,影響文件系統性能。較大的值有助于加速緩存的回收,從而釋放內存。
  • 配置方式: 可通過修改 /proc/sys/vm/vfs_cache_pressure 文件或使用 sysctl 命令進行配置。

例如:swappiness

echo 10 > /proc/sys/vm/swappiness
或
sysctl -w vm.swappiness=10
  • 作用:swappiness 參數用于調整內核在內存不足時將數據移動到交換空間的傾向性。值的范圍是 0 到 100,0 表示盡量不使用交換空間,100 表示盡量使用交換空間。
  • 影響: 控制系統對交換空間的利用,較小的值有助于減少對交換空間的使用,提高整體性能。
  • 配置方式: 可通過修改 /proc/sys/vm/swappiness 文件或使用 sysctl 命令進行配置。

3.3Buffer和Cache的區別

(1)存儲內容

  • Buffer存儲的是I/O操作的數據塊,通常是對物理設備的讀寫請求的中介。
  • Cache存儲的是文件系統的數據塊,包括文件的元數據和實際內容。

(2)讀取方式

  • Buffer主要用于減少對物理設備的讀寫次數,通過緩存I/O操作提高性能。
  • Cache更側重于文件系統的讀取,通過緩存文件數據和元數據提高文件系統的整體讀取速度。

(3)清理策略

  • Buffer中的數據通常被操作系統維護,不容易手動清理。
  • Cache的內容可以通過手動或自動的方式進行清理,以釋放內存空間。

三、實戰案例分析

為了更直觀地理解 Buffer 和 Cache 的工作方式,我們通過幾個實際案例來進行分析 。在 Linux 系統中,我們可以使用vmstat命令來實時監控內存和 I/O 的使用情況 。打開終端,輸入vmstat 1(1表示每秒輸出一次數據),可以看到如下信息:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 999960   2464 135840    0    0     1     2    5   29  0  0 100  0  0

這里的buff和cache分別對應 Buffer 和 Cache 使用的內存大小,單位是 KB ,bi和bo分別表示塊設備讀取和寫入的大小,單位為塊 / 秒 。由于 Linux 中塊的大小是 1KB,所以這個單位也就等價于 KB/s 。

3.1磁盤和文件寫案例

我們先來模擬第一個場景;首先,在第一個終端,運行下面這個vmstat 命令:

# 每隔1秒輸出1組數據
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 7743608   1112  92168    0    0     0     0   52  152  0  1 100  0  0
 0  0      0 7743608   1112  92168    0    0     0     0   36   92  0  0 100  0  0

輸出界面里, 內存部分的 buff 和 cache ,以及 io 部分的 bi 和 bo 就是我們要關注的重點。

  • buff 和 cache 就是我們前面看到的 Buffers 和 Cache,單位是 KB。
  • bi 和 bo 則分別表示塊設備讀取和寫入的大小,單位為塊/秒。因為 Linux 中塊的大小是 1KB,所以這個單位也就等價于 KB/s。

正常情況下,空閑系統中,你應該看到的是,這幾個值在多次結果中一直保持不變。

接下來,到第二個終端執行 dd 命令,通過讀取隨機設備,生成一個500MB大小的文件:

$ dd if=/dev/urandom of=/tmp/file bs=1M count=500

然后再回到第一個終端,觀察Buffer和Cache的變化情況:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 7499460   1344 230484    0    0     0     0   29  145  0  0 100  0  0
 1  0      0 7338088   1752 390512    0    0   488     0   39  558  0 47 53  0  0
 1  0      0 7158872   1752 568800    0    0     0     4   30  376  1 50 49  0  0
 1  0      0 6980308   1752 747860    0    0     0     0   24  360  0 50 50  0  0
 0  0      0 6977448   1752 752072    0    0     0     0   29  138  0  0 100  0  0
 0  0      0 6977440   1760 752080    0    0     0   152   42  212  0  1 99  1  0
...
 0  1      0 6977216   1768 752104    0    0     4 122880   33  234  0  1 51 49  0
 0  1      0 6977440   1768 752108    0    0     0 10240   38  196  0  0 50 50  0

通過觀察 vmstat 的輸出,我們發現,在dd命令運行時, Cache在不停地增長,而Buffer基本保持不變。

再進一步觀察I/O的情況,你會看到,在 Cache 剛開始增長時,塊設備 I/O 很少,bi 只出現了一次 488 KB/s,bo 則只有一次 4KB。而過一段時間后,才會出現大量的塊設備寫,比如 bo 變成了122880。

當 dd 命令結束后,Cache 不再增長,但塊設備寫還會持續一段時間,并且,多次 I/O 寫的結果加起來,才是 dd 要寫的 500M 的數據。

把這個結果,跟我們剛剛了解到的Cache的定義做個對比,你可能會有點暈乎。為什么前面文檔上說 Cache 是文件讀的頁緩存,怎么現在寫文件也有它的份?

這個疑問,我們暫且先記下來,接著再來看另一個磁盤寫的案例。兩個案例結束后,我們再統一進行分析。

不過,對于接下來的案例,我必須強調一點:下面的命令對環境要求很高,需要你的系統配置多塊磁盤,并且磁盤分區 /dev/sdb1 還要處于未使用狀態。如果你只有一塊磁盤,千萬不要嘗試,否則將會對你的磁盤分區造成損壞。

如果你的系統符合標準,就可以繼續在第二個終端中,運行下面的命令。清理緩存后,向磁盤分區/dev/sdb1 寫入2GB的隨機數據:

# 首先清理緩存
$ echo 3 > /proc/sys/vm/drop_caches
# 然后運行dd命令向磁盤分區/dev/sdb1寫入2G數據
$ dd if=/dev/urandom of=/dev/sdb1 bs=1M count=2048

然后,再回到終端一,觀察內存和I/O的變化情況:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 7584780 153592  97436    0    0   684     0   31  423  1 48 50  2  0
 1  0      0 7418580 315384 101668    0    0     0     0   32  144  0 50 50  0  0
 1  0      0 7253664 475844 106208    0    0     0     0   20  137  0 50 50  0  0
 1  0      0 7093352 631800 110520    0    0     0     0   23  223  0 50 50  0  0
 1  1      0 6930056 790520 114980    0    0     0 12804   23  168  0 50 42  9  0
 1  0      0 6757204 949240 119396    0    0     0 183804   24  191  0 53 26 21  0
 1  1      0 6591516 1107960 123840    0    0     0 77316   22  232  0 52 16 33  0

從這里你會看到,雖然同是寫數據,寫磁盤跟寫文件的現象還是不同的。寫磁盤時(也就是bo大于 0 時),Buffer和Cache都在增長,但顯然Buffer的增長快得多。

這說明,寫磁盤用到了大量的Buffer,這跟我們在文檔中查到的定義是一樣的。

對比兩個案例,我們發現,寫文件時會用到 Cache 緩存數據,而寫磁盤則會用到 Buffer 來緩存數據。所以,回到剛剛的問題,雖然文檔上只提到,Cache是文件讀的緩存,但實際上,Cache也會緩存寫文件時的數據。

3.2磁盤和文件讀案例

了解了磁盤和文件寫的情況,我們再反過來想,磁盤和文件讀的時候,又是怎樣的呢?

我們回到第二個終端,運行下面的命令;清理緩存后,從文件/tmp/file中,讀取數據寫入空設備:

# 首先清理緩存
$ echo 3 > /proc/sys/vm/drop_caches
# 運行dd命令讀取文件數據
$ dd if=/tmp/file of=/dev/null

然后,再回到終端一,觀察內存和I/O的變化情況:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  1      0 7724164   2380 110844    0    0 16576     0   62  360  2  2 76 21  0
 0  1      0 7691544   2380 143472    0    0 32640     0   46  439  1  3 50 46  0
 0  1      0 7658736   2380 176204    0    0 32640     0   54  407  1  4 50 46  0
 0  1      0 7626052   2380 208908    0    0 32640    40   44  422  2  2 50 46  0

觀察 vmstat 的輸出,你會發現讀取文件時(也就是bi大于0時),Buffer保持不變,而Cache則在不停增長。這跟我們查到的定義“Cache是對文件讀的頁緩存”是一致的。

那么,磁盤讀又是什么情況呢?

我們再運行第二個案例來看看:首先,回到第二個終端,運行下面的命令。

清理緩存后,從磁盤分區 /dev/sda1中讀取數據,寫入空設備:

# 首先清理緩存
$ echo 3 > /proc/sys/vm/drop_caches
# 運行dd命令讀取文件
$ dd if=/dev/sda1 of=/dev/null bs=1M count=1024

然后,再回到終端一,觀察內存和I/O的變化情況:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 7225880   2716 608184    0    0     0     0   48  159  0  0 100  0  0
 0  1      0 7199420  28644 608228    0    0 25928     0   60  252  0  1 65 35  0
 0  1      0 7167092  60900 608312    0    0 32256     0   54  269  0  1 50 49  0
 0  1      0 7134416  93572 608376    0    0 32672     0   53  253  0  0 51 49  0
 0  1      0 7101484 126320 608480    0    0 32748     0   80  414  0  1 50 49  0

觀察 vmstat 的輸出,你會發現讀磁盤時(也就是bi大于0時),Buffer和Cache都在增長,但顯然Buffer的增長快很多。這說明讀磁盤時,數據緩存到了 Buffer 中。

當然,我想,經過上一個場景中兩個案例的分析,你自己也可以對比得出這個結論:讀文件時數據會緩存到 Cache 中,而讀磁盤時數據會緩存到 Buffer 中。

到這里你應該發現了,雖然文檔提供了對Buffer和Cache的說明,但是仍不能覆蓋到所有的細節。比如說,今天我們了解到的這兩點:

  • Buffer既可以用作“將要寫入磁盤數據的緩存”,也可以用作“從磁盤讀取數據的緩存”。
  • Cache既可以用作“從文件讀取數據的頁緩存”,也可以用作“寫文件的頁緩存”。

這樣,我們就回答了案例開始前的兩個問題:簡單來說,Buffer是對磁盤數據的緩存,而Cache是文件數據的緩存,它們既會用在讀請求中,也會用在寫請求中。

責任編輯:武曉燕 來源: 深度Linux
相關推薦

2024-04-10 10:34:34

Cache系統GPU

2022-05-12 08:01:18

KubernetesDocker容器

2021-08-04 16:06:45

DataOps智領云

2023-12-22 19:59:15

2022-08-01 14:59:57

Web前端后端

2018-07-30 13:34:04

2022-02-09 17:08:57

卡頓App 流暢性用戶

2021-09-04 19:04:14

配置LogbackJava

2022-09-22 09:00:46

CSS單位

2018-09-28 14:06:25

前端緩存后端

2025-04-03 10:56:47

2022-11-06 21:14:02

數據驅動架構數據

2022-12-08 14:18:45

2022-03-24 17:56:51

數據平臺觀測

2024-03-20 10:31:27

2023-11-27 17:35:48

ComponentWeb外層

2023-05-20 17:58:31

低代碼軟件

2022-10-20 08:01:23

2022-07-05 06:30:54

云網絡網絡云原生

2022-07-26 00:00:03

語言模型人工智能
點贊
收藏

51CTO技術棧公眾號

在线免费精品视频| 99精品久久免费看蜜臀剧情介绍| 久久久av免费| 国产亚洲色婷婷久久| 成人在线观看免费网站| 国产乱码精品一区二区三| 成人黄色av电影| 久久欧美在线电影| 中日韩精品一区二区三区 | 91美女视频网站| 日韩av毛片网| 亚洲熟女www一区二区三区| gogo人体一区| 欧美色老头old∨ideo| 精品国偷自产一区二区三区| 日本福利片高清在线观看| 日韩avvvv在线播放| 欧美乱妇高清无乱码| 久久人妻少妇嫩草av无码专区| 久久久一本精品| 亚洲情趣在线观看| 欧美久久电影| 免费观看毛片网站| 久久国产精品免费| 97在线观看视频| 国产黄色的视频| 国产99久久久国产精品成人免费 | 欧美日韩不卡合集视频| 美女洗澡无遮挡| 91精品国产自产在线丝袜啪 | 国产精品热久久久久夜色精品三区| 欧美国产精品一区二区| 欧美日韩免费观看一区三区| 大伊香蕉精品视频在线| 日韩精品黄色| 国产亚洲一二三区| 极品校花啪啪激情久久| 国产男男gay体育生白袜| 丝袜美腿亚洲色图| 97超碰色婷婷| 欧美人妻一区二区| 一区二区中文字| 中文字幕一精品亚洲无线一区| 日本一卡二卡在线| 综合激情网...| 日韩一区二区三| 99精品999| 久久精品国产福利| 亚洲成人动漫在线观看| 老司机午夜免费福利视频| 最新97超碰在线| 中文幕一区二区三区久久蜜桃| 你懂的视频在线一区二区| 国产91麻豆视频| 国产ts人妖一区二区| 91av一区二区三区| 国产毛片毛片毛片毛片毛片| 久久精品国产免费| 国产精品视频午夜| 中文文字幕一区二区三三| 老牛嫩草一区二区三区日本| 国产成人精品网站| 日韩在线播放中文字幕| 久久激情中文| 国产经典一区二区| 7799精品视频天天看| 国产精品久久久亚洲一区| 91极品视频在线| 日产精品久久久久| 99精品99| 欧美专区在线观看| 潘金莲一级淫片aaaaaa播放| 日韩电影在线观看电影| 国产精品视频久久久久| 亚洲午夜精品久久久| 毛片一区二区三区| 成人性生交xxxxx网站| www.色视频| av网站免费线看精品| 久久久精品国产一区二区三区| 四虎电影院在线观看| www国产精品av| 亚洲精品高清视频| av软件在线观看| 亚洲高清在线视频| 日本在线视频www| 国产亚洲欧美日韩精品一区二区三区 | 爱啪视频在线观看视频免费| 欧美性色19p| 欧美成人三级在线播放| 无码无遮挡又大又爽又黄的视频| 视频一区二区三区在线看免费看| 国产无遮挡一区二区三区毛片日本| 亚洲成人午夜在线| 操你啦在线视频| 欧美日韩精品在线观看| 国产精品视频分类| 国产精品欧美一区二区三区不卡| 亚洲国产精品久久| 丁香激情五月少妇| 国产一区日韩欧美| 国产91网红主播在线观看| 在线播放亚洲精品| 99久久久久免费精品国产| 日本一区视频在线| caoporn-草棚在线视频最| 色偷偷88欧美精品久久久| aaaaaaaa毛片| 神马日本精品| 久久成年人视频| 草久久免费视频| 精品一区二区三区影院在线午夜| 国产乱码一区| 日韩在线观看www| 精品福利在线视频| 女人高潮一级片| 青草久久视频| 国产乱码精品一区二区三 | 调教视频免费在线观看| 亚洲一区在线电影| 国产精品视频黄色| 极品一区美女高清| y97精品国产97久久久久久| 国产剧情在线视频| 国产iv一区二区三区| 五月天亚洲综合情| 日韩激情电影| 欧美tickling网站挠脚心| 欧美福利在线视频| 性色av一区二区怡红| 成人在线资源网址| 老司机免费在线视频| 色婷婷一区二区三区四区| 国产xxxx视频| 欧美在线资源| 国产一区在线播放| 黄上黄在线观看| 红桃av永久久久| 人妻换人妻a片爽麻豆| 中文字幕日韩欧美精品高清在线| 国产欧美一区二区三区四区| 伦理片一区二区三区| 亚洲福利视频一区| 中文字幕一二三区| 综合久久亚洲| 成人做爽爽免费视频| 午夜视频在线| 欧美在线制服丝袜| 日韩一级av毛片| 一本色道久久精品| 精品一区二区不卡| 电影在线观看一区| 亚洲精品在线观看网站| 国产亚洲精品码| 国产91在线|亚洲| 免费的一级黄色片| 欧美日韩黄网站| 久久91超碰青草是什么| 午夜精品久久久久久久99老熟妇| 亚洲婷婷综合色高清在线| gogogo高清免费观看在线视频| 国内精品久久久久久久久电影网| 国产91色在线|| 国产黄色在线| 欧美福利视频一区| 免费一级片视频| 99麻豆久久久国产精品免费优播| 日韩a∨精品日韩在线观看| 露出调教综合另类| 欧美一级视频一区二区| 美州a亚洲一视本频v色道| 欧美在线播放高清精品| 日本黄区免费视频观看| 国产在线视频不卡二| 成人国产在线看| 牛牛视频精品一区二区不卡| 日本sm极度另类视频| www.亚洲视频| 91精品国产免费| 久久精品国产亚洲av高清色欲| 成人av网站在线| 国产二区视频在线播放| 第九色区aⅴ天堂久久香| 91最新在线免费观看| 国产乱码在线| 亚洲视频在线视频| 国产视频一区二区三区四区五区| 亚洲一区二区欧美| 欧美高清性xxxx| 久久国产生活片100| 大片在线观看网站免费收看| 日韩人体视频| 国产精品一区二区在线| 调教一区二区| 亚洲亚裔videos黑人hd| 国产欧美日韩成人| 欧美日韩性视频在线| 国产视频精品免费| www.亚洲人| 国产日韩欧美久久| 在线看片一区| 天天人人精品| 国产精品男女| 国产日韩欧美在线看| 成人bbav| 成人毛片老司机大片| 国产极品jizzhd欧美| 亚洲www色| 亚洲午夜小视频| 亚洲av永久无码国产精品久久 | 亚洲欧美自拍视频| 亚洲精品一二三四区| 日韩精品无码一区二区三区久久久| 精品一区在线看| 青青在线视频观看| 午夜性色一区二区三区免费视频| 日韩av大全| 国产精品香蕉| 91九色蝌蚪成人| 8av国产精品爽爽ⅴa在线观看| 97久久精品在线| www红色一片_亚洲成a人片在线观看_| 亚洲女人天堂视频| 天天干天天草天天射| 欧美一区二区二区| 中文字幕乱码无码人妻系列蜜桃| 精品欧美激情精品一区| 黑鬼狂亚洲人videos| 欧美高清在线精品一区| 捆绑裸体绳奴bdsm亚洲| 国产福利精品一区二区| 日本中文字幕二区| 日韩激情一二三区| 1024av视频| 亚洲国产精品第一区二区三区| 四虎永久免费网站| 天堂美国久久| 亚洲电影网站| 波多野结衣在线观看一区二区三区 | 亚洲av无码精品一区二区| 亚洲图片欧美一区| 欧美黄色免费在线观看| 日韩毛片视频在线看| 日本美女bbw| 999福利在线视频| 日韩欧美精品中文字幕| 国产一级理论片| 一区二区三区资源| 国产精品老熟女一区二区| 中文字幕永久在线不卡| 丰满的亚洲女人毛茸茸| 国产日韩精品一区二区三区在线| 少妇久久久久久久久久| 99久久er热在这里只有精品15| 无码国产精品一区二区免费式直播 | 午夜精品久久久久久久99黑人| 最新av在线播放| 欧美精品在线第一页| 91三级在线| 欧美高清一级大片| 国模私拍视频在线播放| 国外成人在线视频| 在线视频二区| www.xxxx精品| 日韩特级毛片| 韩国精品久久久999| 无遮挡爽大片在线观看视频| 热久久美女精品天天吊色| 91精品论坛| 国产精品久久久久久久av电影| 国产精品一区二区免费福利视频| 成人久久18免费网站图片| 国产在线一区不卡| 国产经典一区二区三区| 欧美影院天天5g天天爽| 欧美一区二区视频17c| 91麻豆国产自产在线观看亚洲| 7777在线视频| 在线观看一区视频| 超碰网在线观看| 国产一区二区女| 91丨porny丨对白| 国产亚洲人成网站| 国产精品嫩草影院俄罗斯| 亚洲综合av网| 无码人妻熟妇av又粗又大 | 性欧美18一19性猛交| 欧美精品一区二| 成人精品福利| 欧美黄色性视频| 欧美一区国产| 99re视频在线| 国产精品一在线观看| 最新视频 - x88av| 国产欧美在线| 91av免费观看| 久久精品网站免费观看| 极品盗摄国产盗摄合集| 欧美性猛交xxxx免费看漫画| 国产老妇伦国产熟女老妇视频| 亚洲精品在线观看网站| 欧美18一19xxx性| 欧美福利视频在线观看| 91福利精品在线观看| 国产传媒一区二区| 久久国产影院| 动漫av网站免费观看| 韩国av一区二区三区| 国产精品无码一区二区三区免费| 日韩理论片一区二区| av大全在线观看| 欧美不卡视频一区| 91ph在线| 欧洲美女7788成人免费视频| 一区二区三区在线免费看| 日本在线播放不卡| 一本色道88久久加勒比精品| 黄色片子免费看| 国产精品女主播av| 国内自拍视频在线播放| 欧美成人猛片aaaaaaa| av基地在线| 欧美在线观看日本一区| 1204国产成人精品视频| 91免费网站视频| 日本欧美加勒比视频| 色噜噜在线观看| 亚洲综合免费观看高清完整版在线| 欧美在线视频精品| 精品中文视频在线| 国模精品视频| wwwxx欧美| 亚洲女同一区| 91精品999| 亚洲国产精品高清| 日韩免费av网站| 亚洲三级免费看| 亚洲精品成人图区| 国产伦精品一区二区三区高清| 欧美在线高清| 一级 黄 色 片一| 亚洲图片激情小说| 国产日韩精品suv| 久久精品2019中文字幕| 国产91欧美| 亚洲一区二区三区涩| 男男视频亚洲欧美| 国产三级短视频| 欧美色爱综合网| av黄色在线观看| 国产深夜精品福利| 精品理论电影| 香蕉视频禁止18| 国产精品色在线观看| 中文字幕在线观看1| 尤物九九久久国产精品的特点 | 欧美国产先锋| 国产又黄又嫩又滑又白| 亚洲精品国产精华液| 99精品视频免费看| 久久中文久久字幕| 日韩一二三区| 性欧美大战久久久久久久| 91香蕉视频在线| 五月婷婷激情五月| 精品国产欧美成人夜夜嗨| 久久人体av| www.黄色网址.com| 成人黄色小视频在线观看| 天海翼一区二区| 一区二区国产精品视频| 久久精品超碰| 成人在线国产视频| 久久亚洲精华国产精华液| 久久久久久亚洲av无码专区| 日韩中文在线中文网在线观看| 日本免费一区二区三区视频| 日本精品久久久久久久久久| 久久久久国色av免费看影院| 伊人网av在线| 久久6免费高清热精品| 日韩av影院| 日本人69视频| 亚洲一区二区三区四区在线免费观看| 五月婷婷在线观看视频| 国产精品久久久久久久一区探花| 91精品推荐| 大地资源二中文在线影视观看 | 精品人妻少妇AV无码专区| 国模精品一区二区三区色天香| 久久综合欧美| 国产黄色一区二区三区| 一本一道综合狠狠老| 久久99精品久久久久久野外| 国产一级特黄a大片99| 男女男精品视频网| 青青草av在线播放| 色噜噜狠狠狠综合曰曰曰 | 亚洲精品国产精品国自产| 成人涩涩免费视频|