精品欧美一区二区三区在线观看 _久久久久国色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免费在线一区| 精品久久在线播放| 国产又爽又黄ai换脸| 欧美捆绑视频| 成人手机在线视频| 国产女人18毛片水18精品| 色播视频在线播放| 中文字幕日韩一区二区不卡| 国产亚洲精品美女久久久久 | 无码国产精品高潮久久99| 日韩有码一区二区三区| 国精产品一区一区三区有限在线| 精品手机在线视频| 亚洲综合图色| 亚洲第一免费播放区| 国产精品嫩草影院8vv8| 日本精品另类| 日韩欧美在线网址| 奇米影视亚洲色图| 伊人久久久久久久久久久久| 久久久久久久久久久久久久久久久久 | a看欧美黄色女同性恋| 在线播放国产精品二区一二区四区 | 性猛交ⅹxxx富婆video | 国内成人自拍视频| 国产精品老女人视频| 日韩精品1区2区| 一本色道久久综合| 久久久亚洲国产| 久久久久久久黄色| 欧美喷水视频| 欧美老女人性视频| 99精品久久久久| 国产精品久久久久无码av| 综合网日日天干夜夜久久| japanese中文字幕| 伊人久久大香线蕉无限次| 日韩av网址在线| 极品粉嫩小仙女高潮喷水久久| 国内毛片久久| 日韩av在线网址| 久久一区二区电影| 日韩福利视频一区| 亚洲欧美成人在线| 国产精品免费无码| 欧美熟乱15p| 日韩在线视频观看| 天天鲁一鲁摸一摸爽一爽| 一个色综合网| 欧美黑人又粗大| 18精品爽视频在线观看| 99精品视频免费| 日韩美女视频中文字幕| 波多野结衣一二区| 免费观看日韩av| 91视频-88av| www夜片内射视频日韩精品成人| 国产福利精品一区| 国产日韩精品一区观看| 五月婷婷丁香花| 久久婷婷综合激情| 亚洲精品美女久久7777777| 免费在线观看av网站| 亚洲免费观看高清完整版在线| 黄色一级大片免费| 国产网站在线| 欧美在线|欧美| 亚洲综合伊人久久| 牛牛影视久久网| 亚洲性xxxx| 免费三级在线观看| 亚洲高清激情| 国产精品亚洲网站| 六月丁香色婷婷| 国产亚洲一区二区三区四区| 色乱码一区二区三区熟女| 金瓶狂野欧美性猛交xxxx| 欧美日在线观看| 成人日韩在线视频| 牛牛精品成人免费视频| 色多多国产成人永久免费网站 | 欧美日韩日本国产亚洲在线| 欧美亚洲国产另类| 国产又粗又黄视频| 成人av在线资源| 亚洲精品欧洲精品| 丁香影院在线| 欧美疯狂做受xxxx富婆| 午夜av免费看| 91精品国产91久久久久久密臀| 91高清在线免费观看| 在线视频播放大全| 97se狠狠狠综合亚洲狠狠| 一区二区精品免费视频| 鲁鲁在线中文| 欧美一级二级三级乱码| b站大片免费直播| 欧美性久久久| 国产在线拍偷自揄拍精品| 天堂中文在线看| 亚洲欧美区自拍先锋| 91视频免费版污| 色婷婷av一区二区三区丝袜美腿| 久久av.com| 免费在线不卡av| 99精品视频中文字幕| 大地资源网在线观看免费官网| 色豆豆成人网| 日韩电视剧在线观看免费网站 | 一区二区视频欧美| 91免费国产网站| 91在线看片| 欧美自拍丝袜亚洲| 亚洲第一成人网站| 国产视频一区三区| 成人自拍网站| 污污网站在线观看| 91精品国产一区二区三区 | 五月天婷婷在线播放| 亚洲一级不卡视频| 欧美色图校园春色| 在线中文字幕亚洲| 91老司机在线| 国产精品剧情| 91精品在线免费观看| 色www亚洲国产阿娇yao| 日本中文字幕一区二区视频| 欧美日韩一区二区三| 在线天堂资源| 精品一区二区三区三区| 日韩精品手机在线| 99re热这里只有精品免费视频| 美女扒开大腿让男人桶| 91国内精品白嫩初高生| 色综合久久久888| 国产aⅴ爽av久久久久成人| 亚洲乱码精品一二三四区日韩在线 | 色在线中文字幕| 日韩精品电影网| 久久国产视频一区| 国产亚洲午夜高清国产拍精品| 六月激情综合网| 国产欧美日韩影院| 国产精品久久久久久亚洲影视| 岛国在线大片| 欧美日本免费一区二区三区| 乱老熟女一区二区三区| 国产资源精品在线观看| 欧美a级免费视频| 99久热这里只有精品视频免费观看| 欧美—级高清免费播放| 天天插天天干天天操| 日韩欧美在线中文字幕| www.av天天| 狠狠色综合日日| 伊人久久在线观看| 免费日韩一区二区三区| 国产精品a久久久久久| 亚乱亚乱亚洲乱妇| 日韩一区二区在线看| 懂色av.com| 色爱av综合网| 秋霞影院一区| 国精产品一区一区三区四川| 国产蜜臀av在线播放| 自拍偷拍欧美专区| 国产精品91在线| 污视频在线免费观看| 久久深夜福利| 一区二区三区在线视频看| 久久久久久亚洲精品美女| 久久久久久美女| 成人免费在线电影| 精品欧美久久久| 尤物视频免费观看| 亚洲黄色性网站| 懂色av粉嫩av蜜乳av| 美女一区二区三区在线观看| 国产亚洲黄色片| 欧美在线色图| 国产综合第一页| 亚洲欧洲专区| 日本成人精品在线| 成人无遮挡免费网站视频在线观看| 日韩大陆欧美高清视频区| 国产精品老熟女视频一区二区| 性做久久久久久免费观看| 91狠狠综合久久久| 久久综合av免费| 国产xxx在线观看| 美女视频免费一区| 91av资源网| 国产精品theporn| 亚洲免费久久| 九九精品在线| 国产一区精品视频| 国产人与zoxxxx另类91| 国产精品久久久久久久久借妻 | 久久精品视频一| 国产高清免费在线播放| 亚洲国产私拍精品国模在线观看| 97久久人国产精品婷婷| 在线欧美一区二区| 日韩av在线电影| 亚洲最大色网站| 国产成人自拍网站| 国产精品毛片大码女人| 91成年人网站| 99免费精品在线观看| 国产成人精品一区二区三区在线观看| 久久99精品网久久| 91看片就是不一样| 国产精品最新自拍| 日韩国产欧美亚洲| 国产综合欧美| 日本aa在线观看| 午夜精品网站| 久久综合亚洲精品| 午夜激情一区| 日韩精品一区二区三区电影| 外国成人免费视频| 中文字幕剧情在线观看一区| 精品久久影院| 日韩在线三级| 日韩av二区| 亚洲欧美日韩精品综合在线观看| 狠狠综合久久av一区二区蜜桃| 久久久久久久久久久久久久一区| 欧美一性一交| 久久偷看各类wc女厕嘘嘘偷窃| 欧美综合精品| 麻豆91蜜桃| 视频一区欧美| 亚洲日本精品一区| 国产精品精品| 伊人再见免费在线观看高清版 | 国产一区亚洲二区三区| 国产精品一二| wwwwxxxx日韩| 久久福利资源站| 日本高清免费观看| 风流少妇一区二区| 日本xxxx裸体xxxx| 久久久久久电影| 婷婷丁香综合网| 亚洲视频一区二区在线观看| 久久久久久欧美精品se一二三四| 亚洲一二三四在线观看| 天天操中文字幕| 欧美吻胸吃奶大尺度电影| 国产又粗又猛又色又| 日韩精品一区二区三区视频| 天天干,夜夜爽| 亚洲午夜av久久乱码| 免费a级人成a大片在线观看| 精品中文字幕在线2019| 国内激情视频在线观看| 国产精品久久视频| 2023国产精华国产精品| 蜜桃视频成人| 久久精品国产www456c0m| 大地资源网在线观看免费官网| 国产欧美日韩综合一区在线播放| 精品久久久噜噜噜噜久久图片| 狠狠色综合色综合网络| 黄色网址在线视频| 亚洲国产高清不卡| www.av免费| av电影高清在线观看| 男女性色大片免费观看一区二区| 免费在线观看毛片网站| 老司机精品视频一区二区三区| 美女被艹视频网站| 99re视频精品| 欧美一区免费观看| 精品国产乱码久久久久久婷婷 | dy888亚洲精品一区二区三区| 久久久免费精品| 日韩国产大片| 欧美不卡三区| 欧美三区在线| 天天色综合社区| 91在线视频官网| 少妇人妻丰满做爰xxx| 日韩欧美在线第一页| 亚洲AV无码精品国产| 国产一区二区久久精品| 欧美韩日亚洲| 国产在线日韩在线| 免费久久精品| 欧美一级视频在线播放| 老色鬼精品视频在线观看播放| 亚洲av无码一区二区三区网址| 亚洲欧洲精品天堂一级 | 欧美日韩国产精选| 五月天婷婷在线播放| 欧美乱妇40p| 国产成人免费精品| 久久久久久久有限公司| 欧美日韩国产免费观看| 午夜剧场在线免费观看| 久久久精品黄色| 日产精品久久久久久久| 91精品国产91热久久久做人人| 成人免费黄色网页| 97在线免费观看视频| baoyu135国产精品免费| 影音先锋成人资源网站| 黄页视频在线91| 黄色三级生活片| 色综合天天综合网国产成人综合天| 丰满熟妇人妻中文字幕| 欧美日韩国产成人| 国产精品一区二区精品| 制服诱惑一区| 久久国产三级精品| 日韩女同一区二区三区| 91福利社在线观看| 精品乱码一区二区三四区视频 | 97超碰人人澡| 国产a久久麻豆| 久久久久久久久97| 亚洲精品一区二区在线观看| 羞羞网站在线看| 国产91社区| 影音国产精品| 少妇激情一区二区三区视频| 亚洲大片精品永久免费| 可以免费看毛片的网站| 久久久午夜视频| 欧美18免费视频| 欧美日韩在线中文| 久久综合av免费| 国产第一页在线观看| 中文字幕久久久| 国产精品日本一区二区三区在线| 男女爱爱视频网站| 大胆亚洲人体视频| 日韩少妇裸体做爰视频| 亚洲欧美日韩久久久久久| 欧美性片在线观看| 一级做a爰片久久| 国产精品一区二区果冻传媒| 免看一级a毛片一片成人不卡| 欧美变态tickling挠脚心| 高清视频在线观看三级| 欧美精品人人做人人爱视频| 日韩高清一区在线| 91麻豆精品成人一区二区| 日韩欧美成人激情| 免费h在线看| 色婷婷精品国产一区二区三区| 精品一区二区影视| 久草视频免费播放| 国产丝袜一区视频在线观看| 国产成人精品一区二区三区视频| 欧美精品一区二区性色a+v| proumb性欧美在线观看| www.久久视频| 久久99青青精品免费观看| 久久久免费毛片| 香港日本韩国三级网站| 一区二区三区影院| 酒色婷婷桃色成人免费av网| 成人国产精品日本在线| 亚洲精选久久| 欧美xxxx精品| 亚洲第一综合天堂另类专| 精品欧美日韩精品| 2022中文字幕| 国产亚洲1区2区3区| 国产高清视频免费| 国产精品99一区| 欧美日韩国产探花| 人人爽人人爽人人片| 欧美变态tickling挠脚心| 国产精品久久久久久久久久齐齐| 国产精品第157页| 国产精品视频在线看| 午夜福利理论片在线观看| 国产精品高清免费在线观看|