久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux内存实际占用分析

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内存实际占用分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者: 黃永兵/譯 出處:51CTO.com 閱讀提示:本文是為那些經常疑惑的人準備的,“為什么一個簡單的KDE文本編輯器要占用25M內存?”導致大多數人認為許多Linux應用程序,特別是KDE或GNOME程序都象ps報告一樣臃腫...【51CTO.com獨家譯文】本文是為那些經常疑惑的人準備的,“為什么一個簡單的KDE文本編輯器要占用25M內存?”導致大多數人認為許多Linux應用程序,特別是KDE或GNOME程序都象ps報告一樣臃腫,雖然這可能是也可能不是真的,依賴于具體的程序,它通常不是真的,一些程序比它們看起來消耗更多的內存。ps工具能為一個進程輸出許多塊有關的信息,象進程ID,當前運行狀態,資源利用情況等。其中可能輸出VSZ(代表虛擬設置大小)和RSS(駐留設置大小),它們經常被世界各地的計算機愛好者用來查看進程占用了多少內存。例如:下面是在我電腦上用ps aux命令為KEit的輸出:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDdbunker 3468 0.0 2.7 25400 14452 ? S 20:19 0:00 kdeinit:kedit 按照ps的輸出,KEdit占用了大約25M的虛擬大小內存空間,大約14M駐留大小空間(上面報告中的兩個數字都用k為單位),看起來大部分人都喜歡隨意選擇其中一個數字來表示某個進程的真實內存占用情況。我現在暫時先不解釋VSZ和RSS之間的不同之處。不用說,前面那種認識是錯誤的!想要知道為什么,必須先學習Linux是如何在程序中控制共享庫的。在Linux上的大部分主要程序使用共享庫有助于確定功能,例如:一個KDE文件編輯程序將使用幾個KDE共享庫(為了允許與其他的KDE組件進行交互),幾個X庫(為了允許它顯示、拷貝和粘貼圖像)和幾個常用系統庫(為了允許它執行基本的操作)。大部分這些庫,特別是象libc這樣常用的庫,是被許多Linux程序使用的,正是由于有這些共享,Linux可以使用一個巨大的訣竅:它將只載入單個共享庫的拷貝到內存中,使用這一個拷貝就可以供每個引用它的程序使用。許多工具不再關心這個非常通用的技巧,這可能是個好現象也可能是個壞現象;它們只是簡單地報告某個進程使用了多少內存,而不管是否是與其他進程共享了部分內存,兩個程序使用一個很大的共享庫,并且它的大小傾向于它們內存使用的總和,共享庫被計入了雙倍的大小,如果你不清楚這一點將使你產生誤解。不幸的是,關于進程內存使用的準確表示法不是那么容易獲得,不僅需要你理解系統是如何真實地工作的,而且還需要解決你想處理的一些困難問題,一個共享庫應該為那個使用它的進程內存使用進行計數嗎?如果一個共享庫被許多進程使用,在這些進程間它的內存使用是平均分布的嗎?或者剛好可以忽略?沒有一個確定的及快速的規則,依賴于你面對的位置你可能會有不同的答案。這下容易看出來為什么ps不會盡力嘗試報告一個正確的內存使用總量,而是給出一個模糊的數字。看一個進程的內存映像足以說明,讓我們來看一看那個龐大的Kedit進程的位置,要查看Kedit的內存象什么樣子,我們將使用pmap程序(使用-d標志)Address Kbytes Mode Offset Device Mapping08048000 40 r-x– 0000000000000000 0fe:00000 kdeinit08052000 4 rw— 0000000000009000 0fe:00000 kdeinit08053000 1164 rw— 0000000008053000 000:00000 [ anon ]40000000 84 r-x– 0000000000000000 0fe:00000 ld-2.3.5.so40015000 8 rw— 0000000000014000 0fe:00000 ld-2.3.5.so40017000 4 rw— 0000000040017000 000:00000 [ anon ]40018000 4 r-x– 0000000000000000 0fe:00000 kedit.so40019000 4 rw— 0000000000000000 0fe:00000 kedit.so40027000 252 r-x– 0000000000000000 0fe:00000 libkparts.so.2.1.040066000 20 rw— 000000000003e000 0fe:00000 libkparts.so.2.1.04006b000 3108 r-x– 0000000000000000 0fe:00000 libkio.so.4.2.040374000 116 rw— 0000000000309000 0fe:00000 libkio.so.4.2.040391000 8 rw— 0000000040391000 000:00000 [ anon ]40393000 2644 r-x– 0000000000000000 0fe:00000 libkdeui.so.4.2.040628000 164 rw— 0000000000295000 0fe:00000 libkdeui.so.4.2.040651000 4 rw— 0000000040651000 000:00000 [ anon ]40652000 100 r-x– 0000000000000000 0fe:00000 libkdesu.so.4.2.04066b000 4 rw— 0000000000019000 0fe:00000 libkdesu.so.4.2.04066c000 68 r-x– 0000000000000000 0fe:00000 libkwalletclient.so.1.0.04067d000 4 rw— 0000000000011000 0fe:00000 libkwalletclient.so.1.0.04067e000 4 rw— 000000004067e000 000:00000 [ anon ]4067f000 2148 r-x– 0000000000000000 0fe:00000 libkdecore.so.4.2.040898000 64 rw— 0000000000219000 0fe:00000 libkdecore.so.4.2.0408a8000 8 rw— 00000000408a8000 000:00000 [ anon ]…. (trimmed) …mapped: 25404K writeable/private: 2432K shared: 0K我剪掉了許多輸出內容,剩下的與展示出來的類似,即使沒有完整的輸出,我們也可以看到一些非常有趣的內容,一個重要的內容就是注意到每一個共享庫都列出了兩次,一次為它的代碼段一次為它的數據段,代碼段具有“r-x-”樣式,而數據段具有“rw--”樣式,我們關心的只有字節數、樣式和映像欄,剩下的對于討論都是不重要的。如果你仔細檢查輸出內容,你會發現最大字節數的行通常是包含共享庫(以lib開頭的行就是共享庫)的代碼段行,如果你找出了在進程之間所有的共享部分,它們以“writeable/private” 結束,顯示在輸出的底端,這可以理解為進程的消耗增量,因此,運行Kedit(假設所有共享庫都已經被載入了)實例大約要占用2M,這和ps報告的14或25M完全不是一回事。這意味著什么?這個故事的寓意是Linux進程內存使用是一個復雜的事情,你不能僅通過運行ps來了解,當你處理一個創建了大量子進程的程序時特別真實,如Apache,ps可能報告每個Apache進程使用10M內存,實際上每個Apache進程只消耗了1M內存,在調整Apache的MaxClients參數(它決定了你的服務器能同時處理的請求數量,)設置時這個信息變得非常重要。同時,它也適應于桌面軟件,如果你運行了KDE,但是幾乎全部使用Gnome應用程序,那么你將為多余的(但是不同的)共享庫付出巨大的代價,因此請盡量保持要么全部運行KDE應用程序要么全部運行Gnome應用程序,這樣Linux就可以使用更多的內存來做其他事情(如文件緩存,它可以極大地提高文件的訪問速度)。原文出處:http://www.linuxquestions.org/linux/articles/Technical/Understanding_memory_usage_on_Linux

?

?

?

想必在linux上寫過程序的同學都有分析進程占用多少內存的經歷,或者被問到這樣的問題——你的程序在運行時占用了多少內存(物理內存)?通常我們可以通過top命令查看進程占用了多少內存。這里我們可以看到VIRT、RES和SHR三個重要的指標,他們分別代表什么意思呢?這是本文需要跟大家一起探討的問題。當然如果更加深入一點,你可能會問進程所占用的那些物理內存都用在了哪些地方?這時候top命令可能不能給到你你所想要的答案了,不過我們可以分析proc文件系統提供的smaps文件,這個文件詳盡地列出了當前進程所占用物理內存的使用情況。

這篇blog總共分為三個部分。第一部分簡要闡述虛擬內存和駐留內存這兩個重要的概念;第二部分解釋top命令中VIRT、RES以及SHR三個參數的實際參考意義;最后一部分向大家介紹一下smaps文件的格式,通過分析smaps文件我們可以詳細了解進程物理內存的使用情況,比如mmap文件占用了多少空間、動態內存開辟消耗了多少空間、函數調用棧消耗了多少空間等等。

關于內存的兩個概念

要理解top命令關于內存使用情況的輸出,我們必須首先搞清楚虛擬內存(Virtual Memory)和駐留內存(Resident Memory)兩個概念。

【虛擬內存】

首先需要強調的是虛擬內存不同于物理內存,雖然兩者都包含內存字眼但是它們屬于兩個不同層面的概念。進程占用虛擬內存空間大并非意味著程序的物理內存也一定占用很大。虛擬內存是操作系統內核為了對進程地址空間進行管理(process address space management)而精心設計的一個邏輯意義上的內存空間概念。我們程序中的指針其實都是這個虛擬內存空間中的地址。比如我們在寫完一段C++程序之后都需要采用g++進行編譯,這時候編譯器采用的地址其實就是虛擬內存空間的地址。因為這時候程序還沒有運行,何談物理內存空間地址?凡是程序運行過程中可能需要用到的指令或者數據都必須在虛擬內存空間中。既然說虛擬內存是一個邏輯意義上(假象的)的內存空間,為了能夠讓程序在物理機器上運行,那么必須有一套機制可以讓這些假象的虛擬內存空間映射到物理內存空間(實實在在的RAM內存條上的空間)。這其實就是操作系統中頁映射表(page table)所做的事情了。內核會為系統中每一個進程維護一份相互獨立的頁映射表。。頁映射表的基本原理是將程序運行過程中需要訪問的一段虛擬內存空間通過頁映射表映射到一段物理內存空間上,這樣CPU訪問對應虛擬內存地址的時候就可以通過這種查找頁映射表的機制訪問物理內存上的某個對應的地址。“頁(page)”是虛擬內存空間向物理內存空間映射的基本單元。

? ? ? 下圖1演示了虛擬內存空間和物理內存空間的相互關系,它們通過Page Table關聯起來。其中虛擬內存空間中著色的部分分別被映射到物理內存空間對應相同著色的部分。而虛擬內存空間中灰色的部分表示在物理內存空間中沒有與之對應的部分,也就是說灰色部分沒有被映射到物理內存空間中。這么做也是本著“按需映射”的指導思想,因為虛擬內存空間很大,可能其中很多部分在一次程序運行過程中根本不需要訪問,所以也就沒有必要將虛擬內存空間中的這些部分映射到物理內存空間上。

到這里為止已經基本闡述了什么是虛擬內存了??偨Y一下就是,虛擬內存是一個假象的內存空間,在程序運行過程中虛擬內存空間中需要被訪問的部分會被映射到物理內存空間中。虛擬內存空間大只能表示程序運行過程中可訪問的空間比較大,不代表物理內存空間占用也大。

【駐留內存】

駐留內存,顧名思義是指那些被映射到進程虛擬內存空間的物理內存。上圖1中,在系統物理內存空間中被著色的部分都是駐留內存。比如,A1、A2、A3和A4是進程A的駐留內存;B1、B2和B3是進程B的駐留內存。進程的駐留內存就是進程實實在在占用的物理內存。一般我們所講的進程占用了多少內存,其實就是說的占用了多少駐留內存而不是多少虛擬內存。因為虛擬內存大并不意味著占用的物理內存大。

關于虛擬內存和駐留內存這兩個概念我們說到這里。下面一部分我們來看看top命令中VIRT、RES和SHR分別代表什么意思。

top命令中VIRT、RES和SHR的含義

? ? ? 搞清楚了虛擬內存的概念之后解釋VIRT的含義就很簡單了。VIRT表示的是進程虛擬內存空間大小。對應到圖1中的進程A來說就是A1、A2、A3、A4以及灰色部分所有空間的總和。也就是說VIRT包含了在已經映射到物理內存空間的部分和尚未映射到物理內存空間的部分總和。

RES的含義是指進程虛擬內存空間中已經映射到物理內存空間的那部分的大小。對應到圖1中的進程A來說就是A1、A2、A3以及A4幾個部分空間的總和。所以說,看進程在運行過程中占用了多少內存應該看RES的值而不是VIRT的值。

最后來看看SHR所表示的含義。SHR是share(共享)的縮寫,它表示的是進程占用的共享內存大小。在上圖1中我們看到進程A虛擬內存空間中的A4和進程B虛擬內存空間中的B3都映射到了物理內存空間的A4/B3部分。咋一看很奇怪。為什么會出現這樣的情況呢?其實我們寫的程序會依賴于很多外部的動態庫(.so),比如libc.so、libld.so等等。這些動態庫在內存中僅僅會保存/映射一份,如果某個進程運行時需要這個動態庫,那么動態加載器會將這塊內存映射到對應進程的虛擬內存空間中。多個進展之間通過共享內存的方式相互通信也會出現這樣的情況。這么一來,就會出現不同進程的虛擬內存空間會映射到相同的物理內存空間。這部分物理內存空間其實是被多個進程所共享的,所以我們將他們稱為共享內存,用SHR來表示。某個進程占用的內存除了和別的進程共享的內存之外就是自己的獨占內存了。所以要計算進程獨占內存的大小只要用RES的值減去SHR值即可。

進程的smaps文件

查看命令是:cat /proc/進程的pid/smaps

通過top命令我們已經能看出進程的虛擬空間大小(VIRT)、占用的物理內存(RES)以及和其他進程共享的內存(SHR)。但是僅此而已,如果我想知道如下問題:

  1. 進程的虛擬內存空間的分布情況,比如heap占用了多少空間、文件映射(mmap)占用了多少空間、stack占用了多少空間?
  2. ?進程是否有被交換到swap空間的內存,如果有,被交換出去的大小?
  3. mmap方式打開的數據文件有多少頁在內存中是臟頁(dirty page)沒有被寫回到磁盤的?
  4. mmap方式打開的數據文件當前有多少頁面已經在內存中,有多少頁面還在磁盤中沒有加載到page cahe中?
  5. 等等

以上這些問題都無法通過top命令給出答案,但是有時候這些問題正是我們在對程序進行性能瓶頸分析和優化時所需要回答的問題。所幸的是,世界上解決問題的方法總比問題本身要多得多。linux通過proc文件系統為每個進程都提供了一個smaps文件,通過分析該文件我們就可以一一回答以上提出的問題。

在smaps文件中,每一條記錄(如下圖2所示)表示進程虛擬內存空間中一塊連續的區域。其中第一行從左到右依次表示地址范圍、權限標識、映射文件偏移、設備號、inode、文件路徑。詳細解釋可以參見understanding-linux-proc-id-maps。

接下來8個字段的含義分別如下:

  1. Size:表示該映射區域在虛擬內存空間中的大小。
  2. Rss:表示該映射區域當前在物理內存中占用了多少空間。
  3. Shared_Clean:和其他進程共享的未被改寫的page的大小。
  4. Shared_Dirty:?和其他進程共享的被改寫的page的大小。
  5. Private_Clean:未被改寫的私有頁面的大小。
  6. Swap:表示非mmap內存(也叫anonymous memory,比如malloc動態分配出來的內存)由于物理內存不足被swap到交換空間的大小。
  7. Pss:該虛擬內存區域平攤計算后使用的物理內存大小(有些內存會和其他進程共享,例如mmap進來的)。比如該區域所映射的物理內存部分同時也被另一個進程映射了,且該部分物理內存的大小為1000KB,那么該進程分攤其中一半的內存,即Pss=500KB。

圖2. smaps文件示例

有了smap如此詳細關于虛擬內存空間到物理內存空間的映射信息,相信大家已經能夠通過分析該文件回答上面提出的4個問題。

最后希望所有讀者能夠通過閱讀本文對進程的虛擬內存和物理內存有一個更加清晰認識,并能更加準確理解top命令關于內存的輸出,最后可以通過smaps文件更進一步分析進程使用內存的情況

?

?

?

?

?http://yalung929.blog.163.com/blog/static/203898225201212981731971/

?

引?言:?top命令作為Linux下最常用的性能分析工具之一,可以監控、收集進程的CPU、IO、內存使用情況。比如我們可以通過top命令獲得一個進程使用了多少虛擬內存(VIRT)、物理內存(RES)、共享內存(SHR)。

最近遇到一個咨詢問題,某產品做性能分析需要獲取進程占用物理內存的實際大小(不包括和其他進程共享的部分),看似很簡單的問題,但經過研究分析后,發現背后有很多故事……

1?VIRT?RES?SHR的準確含義

?

?

三個內存指標,VRIT,RES,SHR準確含義是什么?誰能告訴我們?MAN頁?Linux專家?SUSE工程師?Linus?誰能說出最正確答案?沒人!因為惟有源代碼才是最正確的答案。

那我們就去看下源碼吧,這就是開源軟件的最大的好處。

首先這三個數據的源頭,肯定是內核,進程的相關數據結構肯定是由內核維護。那么top作為一個用戶空間的程序,要想獲取內核空間的數據,就需要通過系統接口(API)獲取。而proc文件系統是Linux內核空間和用戶空間交換數據的一個途徑,而且是非常重要的一種途徑,這點和windows更傾向于基于函數調用的形式不同。

當你調用系統函數read讀取一個普通文件時,內核執行對應文件系統的代碼從磁盤傳送文件內容給你。

當你調用系統函數read讀取一個?proc文件時,內核執行對應的proc文件系統的代碼從內核的數據結構中傳送相關內容給你。proc文件和磁盤沒有關系。只是系統接口而已。

而一個進程的相關信息,Linux全部通過/proc/<pid>/內的文件告訴了我們。

如下,你可以使用普通的文件讀寫工具,比如cat獲取進程的各種信息。這比函數調用的方式靈活多了、豐富多了。

?

?

?

回到我們的問題,top命令顯示的進程信息,肯定也是通過proc獲取的,因為除此之外沒有其他途徑,沒有系統函數可以做這個事情,top也不可能越過用戶層直取內核獲取數據。

帶著以上信息,很快就可以從top的源碼中找到關鍵代碼:

?

? ?

啊哈,statm文件:

?

?

根據sscanf的順序,第一個值是VIRT,第二個值是RES,第三個值是SHR!

等等,好像數值對不上,top顯示的SHR是344k,而statm給出的是86!

再來看一行關鍵代碼:

?

? ?

statm顯示的是頁數,top顯示的是KB。X86下,一頁是4KB,86?*?4?=?344。這就對了!

?

于是乎,我們找到了最關鍵的入口,接下來按圖索驥,看看內核是怎么產生statm文件內容就可以了。~~

?

?

?

proc_pid_statm函數負責產生statm文件內容,當你使用cat命令打印statm文件時,內核中的這個函數會執行。

proc_pid_statm獲取進程的mm_struct數據結構,而這個數據結構就是進程的內存描述符,通過它可以獲取進程內存使用、映射的全部信息。

?????進一步考察task_statm函數,可以看到:

?

?

第一個值(VIRT)就是mm->total_vm,即進程虛存的總大小,這個比較清晰,只要進程申請了內存,無論是malloc還是堆棧還是全局,都會計入這個值;

第二個值(RES)是mm->file_rss+mm->anon_rss;

第三個值(SHR)是mm->file_rss。

?RES要和SHR結合者看,內核把物理內存分為了兩部分,一部分是映射至文件的,一部分是沒有映射至文件的即匿名內存,完全和共不共享沒有關系!

但file_rss為什么叫做shared呢?應該是一種指示性表述,表示這部分內存可能是共享的。但并不代表真正共享了。那么到底哪些計入file_rss?通過查閱相關代碼,發現(可能有遺漏):

l?程序的代碼段。

l?動態庫的代碼段。

l?通過mmap做的文件映射。

l?通過mmap做的匿名映射,但指明了MAP_SHARED屬性。

l?通過shmget申請的共享內存。

?即進程通過以上方式占用的物理內存,計入file_rss,也就是top的SHR字段。我們看到一般這些內存都是以共享方式存在。但如果某個動態庫只一個進程在使用,它的代碼段就沒有被共享著。

反過來再來看anon_rss統計的內容,是否就一定是獨占的?也不是,比如新fork之后的子進程,由于copy?on?write機制,在頁面被修改之前,和父進程共享。這部分值并不體現在top命令的SHR字段內。

?綜上所述top命令顯示的SHR字段,并不是準確描述了進程與其他進程共享使用的內存數量,是存在誤差的。?

那么如何獲取進程準確的共享內存數量?

2?獲取進程準確的共享內存數量

我們注意到在描述進程信息的proc/<pid>內,有一個smaps文件,里面展示了所有內存段的信息,其中有Shared_Clean?Shared_Dirty?Private_Clean?Private_Dirty:幾個字段。

?

? ?

?

找到相關代碼,可以看到,一個頁面如果映射數>=2計入Shared_*?;?如果=1計入Private_*。(臟頁計入*_Dirty,否則計入*_Clean)

?

?

?

?????統計smaps文件內所有段的Shared_*值的總和就是進程準確的共享內存數量!

?????統計smaps文件內所有段的Private_*值的總和就是進程準確的獨占內存數量!

3?總結

通過以上分析,我們可以得到如下結論:

l?top命令通過解析/proc/<pid>/statm統計VIRT和RES和SHR字段值。

l?VIRT是申請的虛擬內存總量。

l?RES是進程使用的物理內存總和。

l?SHR是RES中”映射至文件”的物理內存總和。包括:

程序的代碼段。

動態庫的代碼段。

通過mmap做的文件映射。

通過mmap做的匿名映射,但指明了MAP_SHARED屬性。

通過shmget申請的共享內存。

l?/proc/<pid>/smaps內Shared_*統計的是RES中映射數量>=2的物理內存。

l?/proc/<pid>/smaps內Private_*統計的是RES中映射數量=1的物理內存。

?

?

?

?

?

在Linux下查看內存我們一般用free命令:
[root@scs-2 tmp]# free
???????????? total?????? used?????? free???? shared??? buffers???? cached
Mem:?????? 3266180??? 3250004????? 16176????????? 0???? 110652??? 2668236
-/+ buffers/cache:???? 471116??? 2795064
Swap:????? 2048276????? 80160??? 1968116

下面是對這些數值的解釋:
total:總計物理內存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個進程共享的內存總額。
Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached 都是屬于被使用,所以他的可用內存是16176KB,已用內存是3250004KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應用程序角度來看,對于應用程序來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236

接下來解釋什么時候內存會被交換,以及按什么方交換。 當可用內存少于額定值的時候,就會開會進行交換。
如何看額定值:
cat /proc/meminfo

[root@scs-2 tmp]# cat /proc/meminfo
MemTotal:????? 3266180 kB
MemFree:???????? 17456 kB
Buffers:??????? 111328 kB
Cached:??????? 2664024 kB
SwapCached:????????? 0 kB
Active:???????? 467236 kB
Inactive:????? 2644928 kB
HighTotal:?????????? 0 kB
HighFree:??????????? 0 kB
LowTotal:????? 3266180 kB
LowFree:???????? 17456 kB
SwapTotal:???? 2048276 kB
SwapFree:????? 1968116 kB
Dirty:?????????????? 8 kB
Writeback:?????????? 0 kB
Mapped:???????? 345360 kB
Slab:?????????? 112344 kB
Committed_AS:?? 535292 kB
PageTables:?????? 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed:??? 272696 kB
VmallocChunk: 536598175 kB
HugePages_Total:???? 0
HugePages_Free:????? 0
Hugepagesize:???? 2048 kB

用free -m查看的結果:
[root@scs-2 tmp]# free -m?
???????????? total?????? used?????? free???? shared??? buffers???? cached
Mem:????????? 3189?????? 3173???????? 16????????? 0??????? 107?????? 2605
-/+ buffers/cache:??????? 460?????? 2729
Swap:???????? 2000???????? 78?????? 1921


查看/proc/kcore文件的大小(內存鏡像):
[root@scs-2 tmp]# ll -h /proc/kcore?
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore

備注:

占用內存的測量

測量一個進程占用了多少內存,linux為我們提供了一個很方便的方法,/proc目錄為我們提供了所有的信息,實際上top等工具也通過這里來獲取相應的信息。

/proc/meminfo 機器的內存使用信息

/proc/pid/maps pid為進程號,顯示當前進程所占用的虛擬地址。

/proc/pid/statm 進程所占用的內存

[root@localhost ~]# cat /proc/self/statm

654 57 44 0 0 334 0

輸出解釋

CPU 以及CPU0。。。的每行的每個參數意思(以第一行為例)為:

參數 解釋 /proc//status

Size (pages) 任務虛擬地址空間的大小 VmSize/4

Resident(pages) 應用程序正在使用的物理內存的大小 VmRSS/4

Shared(pages) 共享頁數 0

Trs(pages) 程序所擁有的可執行虛擬內存的大小 VmExe/4

Lrs(pages) 被映像到任務的虛擬內存空間的庫的大小 VmLib/4

Drs(pages) 程序數據段和用戶態的棧的大小 (VmData+ VmStk )4

dt(pages) 04

查看機器可用內存

/proc/28248/>free

total used free shared buffers cached

Mem: 1023788 926400 97388 0 134668 503688

-/+ buffers/cache: 288044 735744

Swap: 1959920 89608 1870312

我們通過free命令查看機器空閑內存時,會發現free的值很小。這主要是因為,在linux中有這么一種思想,內存不用白不用,因此它盡可能的cache和buffer一些數據,以方便下次使用。但實際上這些內存也是可以立刻拿來使用的。

所以 空閑內存=free+buffers+cached=total-used

?

?

?

用/proc文件系統查看進程的內存使用情況

/proc目錄Linux 內核提供了一種通過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個偽文件系統

/proc/vmstat 虛擬內存統計信息

/proc/vmcore 內核panic時的內存映像

/proc/diskstats 取得磁盤信息

/proc/schedstat kernel調度器的統計信息

/proc/zoneinfo 顯示內存空間的統計信息,對分析虛擬內存行為很有用

以下是/proc目錄中進程N的信息

/proc/N pid為N的進程信息

/proc/N/cmdline 進程啟動命令

/proc/N/cwd 鏈接到進程當前工作目錄

/proc/N/environ 進程環境變量列表

/proc/N/exe 鏈接到進程的執行命令文件

/proc/N/fd 包含進程相關的所有的文件描述符

/proc/N/maps 與進程相關的內存映射信息

/proc/N/mem 指代進程持有的內存,不可讀

/proc/N/root 鏈接到進程的根目錄

/proc/N/stat 進程的狀態

/proc/N/statm 進程使用的內存的狀態

/proc/N/status 進程狀態信息,比stat/statm更具可讀性

/proc/self 鏈接到當前正在運行的進程


ps命令的輸出關于內存的情況不是很詳細,尤其是進程所使用的內存中有很大一部分是共享庫函數使用的,因此通過ps命令的輸出看不到進程自己使用了多少內存。為了查看更詳細的信息,可以借助于/proc文件系統。這個文件系統并存在于磁盤上,但是可以象操作其它普通文件一樣操作它。它是Linux提供給用戶查看進程相關信息的接口。在/proc下有2個文件和進程內存有關:/proc/<pid>/status和/proc/<pid>/smaps。

通過/proc/<pid>/status可以查看進程的內存使用情況,包括虛擬內存大小(VmSize),物理內存大小(VmRSS),數據段大小(VmData),棧的大小(VmStk),代碼段的大小(VmExe),共享庫的代碼段大小(VmLib)等等。

$ cat /proc/10069/status
Name:?? a.out
State:? S (sleeping)
Tgid:?? 10069
Pid:??? 10069
PPid:?? 6793
TracerPid:????? 0
Uid:??? 1001??? 1001??? 1001??? 1001
Gid:??? 1001??? 1001??? 1001??? 1001
FDSize: 256
Groups: 1000 1001?
VmPeak:???? 1692 kB
VmSize:???? 1616 kB
VmLck:???????? 0 kB
VmHWM:?????? 304 kB
VmRSS:?????? 304 kB
VmData:?????? 28 kB
VmStk:??????? 88 kB
VmExe:???????? 4 kB
VmLib:????? 1464 kB
VmPTE:??????? 20 kB
Threads:??????? 1
SigQ:?? 0/16382
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed:?? f
Cpus_allowed_list:????? 0-3
Mems_allowed:?? 1
Mems_allowed_list:????? 0
voluntary_ctxt_switches:??????? 1
nonvoluntary_ctxt_switches:???? 1注意,VmData,VmStk,VmExe和VmLib之和并不等于VmSize。這是因為共享庫函數的數據段沒有計算進去(VmData僅包含a.out程序的數據段,不包括共享庫函數的數據段,也不包括通過mmap映射的區域。VmLib僅包括共享庫的代碼段,不包括共享庫的數據段)。

通過/proc/<pid>/smaps可以查看進程整個虛擬地址空間的映射情況,它的輸出從低地址到高地址按順序輸出每一個映射區域的相關信息,如下所示:

$ cat /proc/10069/smaps
00110000-00263000 r-xp 00000000 08:07 128311???? /lib/tls/i686/cmov/libc-2.11.1.so
Size:?????????????? 1356 kB
Rss:???????????????? 148 kB
Pss:?????????????????? 8 kB
Shared_Clean:??????? 148 kB
Shared_Dirty:????????? 0 kB
Private_Clean:???????? 0 kB
Private_Dirty:???????? 0 kB
Referenced:????????? 148 kB
Swap:????????????????? 0 kB
KernelPageSize:??????? 4 kB
MMUPageSize:?????????? 4 kB
......
......
bfd7f000-bfd94000 rw-p 00000000 00:00 0????????? [stack]
Size:???????????????? 88 kB
Rss:?????????????????? 8 kB
Pss:?????????????????? 8 kB
Shared_Clean:????????? 0 kB
Shared_Dirty:????????? 0 kB
Private_Clean:???????? 0 kB
Private_Dirty:???????? 8 kB
Referenced:??????????? 8 kB
Swap:????????????????? 0 kB
KernelPageSize:??????? 4 kB
MMUPageSize:?????????? 4 kB注意:rwxp中,p表示私有映射(采用Copy-On-Write技術)。 Size字段就是該區域的大小。

?

?

?

一提到內存管理,我們頭腦中閃出的兩個概念,就是虛擬內存,與物理內存。這兩個概念主要來自于linux內核的支持。

Linux在內存管理上份為兩級,一級是線性區,類似于00c73000-00c88000,對應于虛擬內存,它實際上不占用實際物理內存;一級是具體的物理頁面,它對應我們機器上的物理內存。

這里要提到一個很重要的概念,內存的延遲分配。Linux內核在用戶申請內存的時候,只是給它分配了一個線性區(也就是虛存),并沒有分配實際物理內存;只有當用戶使用這塊內存的時候,內核才會分配具體的物理頁面給用戶,這時候才占用寶貴的物理內存。內核釋放物理頁面是通過釋放線性區,找到其所對應的物理頁面,將其全部釋放的過程。

1

2

3

char *p=malloc(2048)//這里只是分配了虛擬內存2048,并不占用實際內存。

strcpy(p,”123”)//分配了物理頁面,雖然只是使用了3個字節,但內存還是為它分配了2048字節的物理內存。

free(p)//通過虛擬地址,找到其所對應的物理頁面,釋放物理頁面,釋放線性區。

我們知道用戶的進程和內核是運行在不同的級別,進程與內核之間的通訊是通過系統調用來完成的。進程在申請和釋放內存,主要通過brk,sbrk,mmap,unmmap這幾個系統調用,傳遞的參數主要是對應的虛擬內存。

注意一點,在進程只能訪問虛擬內存,它實際上是看不到內核物理內存的使用,這對于進程是完全透明的。

?

glibc內存管理器

那么我們每次調用malloc來分配一塊內存,都進行相應的系統調用呢?

答案是否定的,這里我要引入一個新的概念,glibc的內存管理器。

我們知道malloc和free等函數都是包含在glibc庫里面的庫函數,我們試想一下,每做一次內存操作,都要調用系統調用的話,那么程序將多么的低效。

實際上glibc采用了一種批發和零售的方式來管理內存。glibc每次通過系統調用的方式申請一大塊內存(虛擬內存),當進程申請內存時,glibc就從自己獲得的內存中取出一塊給進程。

?

內存管理器面臨的困難

我們在寫程序的時候,每次申請的內存塊大小不規律,而且存在頻繁的申請和釋放,這樣不可避免的就會產生內存碎塊。而內存碎塊,直接會導致大塊內存申請無法滿足,從而更多的占用系統資源;如果進行碎塊整理的話,又會增加cpu的負荷,很多都是互相矛盾的指標,這里我就不細說了。

我們在寫程序時,涉及內存時,有兩個概念heap和stack。傳統的說法stack的內存地址是向下增長的,heap的內存地址是向上增長的。

函數malloc和free,主要是針對heap進行操作,由程序員自主控制內存的訪問。

在這里heap的內存地址向上增長,這句話不完全正確。

glibc對于heap內存申請大于128k的內存申請,glibc采用mmap的方式向內核申請內存,這不能保證內存地址向上增長;小于128k的則采用brk,對于它來講是正確的。128k的閥值,可以通過glibc的庫函數進行設置。

這里我先講大塊內存的申請,也即對應于mmap系統調用。

對于大塊內存申請,glibc直接使用mmap系統調用為其劃分出另一塊虛擬地址,供進程單獨使用;在該塊內存釋放時,使用unmmap系統調用將這塊內存釋放,這個過程中間不會產生內存碎塊等問題。

針對小塊內存的申請,在程序啟動之后,進程會獲得一個heap底端的地址,進程每次進行內存申請時,glibc會將堆頂向上增長來擴展內存空間,也就是我們所說的堆地址向上增長。在對這些小塊內存進行操作時,便會產生內存碎塊的問題。實際上brk和sbrk系統調用,就是調整heap頂地址指針。

?

那么heap堆的內存是什么時候釋放呢?

當glibc發現堆頂有連續的128k的空間是空閑的時候,它就會通過brk或sbrk系統調用,來調整heap頂的位置,將占用的內存返回給系統。這時,內核會通過刪除相應的線性區,來釋放占用的物理內存。

下面我要講一個內存空洞的問題:

一個場景,堆頂有一塊正在使用的內存,而下面有很大的連續內存已經被釋放掉了,那么這塊內存是否能夠被釋放?其對應的物理內存是否能夠被釋放?

很遺憾,不能。

這也就是說,只要堆頂的部分申請內存還在占用,我在下面釋放的內存再多,都不會被返回到系統中,仍然占用著物理內存。為什么會這樣呢?

這主要是與內核在處理堆的時候,過于簡單,它只能通過調整堆頂指針的方式來調整調整程序占用的線性區;而又只能通過調整線性區的方式,來釋放內存。所以只要堆頂不減小,占用的內存就不會釋放。

提一個問題:

1

2

char *p=malloc(2);

free(p)

為什么申請內存的時候,需要兩個參數,一個是內存大小,一個是返回的指針;而釋放內存的時候,卻只要內存的指針呢?

這主要是和glibc的內存管理機制有關。glibc中,為每一塊內存維護了一個chunk的結構。glibc在分配內存時,glibc先填寫chunk結構中內存塊的大小,然后是分配給進程的內存。

1

2

chunk ------size

p------------ content

在進程釋放內存時,只要 指針-4 便可以找到該塊內存的大小,從而釋放掉。

注:glibc在做內存申請時,最少分配16個字節,以便能夠維護chunk結構。

glibc提供的調試工具:

為了方便調試,glibc 為用戶提供了 malloc 等等函數的鉤子(hook),如 __malloc_hook

對應的是一個函數指針,

1

void*function(size_t size, constvoid*caller)

其中 caller 是調用 malloc 返回值的接受者(一個指針的地址)。另外有 __malloc_initialize_hook函數指針,僅僅會調用一次(第一次分配動態內存時)。(malloc.h)

一些使用 malloc 的統計量(SVID 擴展)可以用 struct mallinfo 儲存,可調用獲得。

1

struct mallinfo mallinfo (void)

如何檢測 memory leakage?glibc 提供了一個函數

void mtrace (void)及其反作用void muntrace (void)

這時會依賴于一個環境變量 MALLOC_TRACE 所指的文件,把一些信息記錄在該文件中

用于偵測 memory leakage,其本質是安裝了前面提到的 hook。一般將這些函數用

#ifdef DEBUGGING 包裹以便在非調試態下減少開銷。產生的文件據說不建議自己去讀,

而使用 mtrace 程序(perl 腳本來進行分析)。下面用一個簡單的例子說明這個過程,這是

源程序:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

#include

#include

#include

intmain(intargc, char *argv[] )

{

??int*p, *q ;

??#ifdef DEBUGGING

??mtrace( ) ;

??#endif

??p = malloc( sizeof( int) ) ;

??q = malloc( sizeof( int) ) ;

??printf("p = %p\nq = %p\n", p, q ) ;

??*p = 1 ;

??*q = 2 ;

??free( p ) ;

??return0 ;

}

很簡單的程序,其中 q 沒有被釋放。我們設置了環境變量后并且 touch 出該文件

執行結果如下:

p = 0x98c0378q = 0x98c0388

該文件內容如下

1

2

3

4

= Start

@./test30:[0x8048446] + 0x98c03780x4

@./test30:[0x8048455] + 0x98c03880x4

@./test30:[0x804848f] - 0x98c0378

到這里我基本上講完了,我們寫程序時,數據部分內存使用的問題。

?

代碼占用的內存

數據部分占用內存,那么我們寫的程序是不是也占用內存呢?

在linux中,程序的加載,涉及到兩個工具,linker 和loader。Linker主要涉及動態鏈接庫的使用,loader主要涉及軟件的加載。

  1. exec執行一個程序
  2. elf為現在非常流行的可執行文件的格式,它為程序運行劃分了兩個段,一個段是可以執行的代碼段,它是只讀,可執行;另一個段是數據段,它是可讀寫,不能執行。
  3. loader會啟動,通過mmap系統調用,將代碼端和數據段映射到內存中,其實也就是為其分配了虛擬內存,注意這時候,還不占用物理內存;只有程序執行到了相應的地方,內核才會為其分配物理內存。
  4. ?loader會去查找該程序依賴的鏈接庫,首先看該鏈接庫是否被映射進內存中,如果沒有使用mmap,將代碼段與數據段映射到內存中,否則只是將其加入進程的地址空間。這樣比如glibc等庫的內存地址空間是完全一樣。

因此一個2M的程序,執行時,并不意味著為其分配了2M的物理內存,這與其運行了的代碼量,與其所依賴的動態鏈接庫有關。

?

運行過程中鏈接動態鏈接庫與編譯過程中鏈接動態庫的區別

我們調用動態鏈接庫有兩種方法:一種是編譯的時候,指明所依賴的動態鏈接庫,這樣loader可以在程序啟動的時候,來所有的動態鏈接映射到內存中;一種是在運行過程中,通過dlopen和dlfree的方式加載動態鏈接庫,動態將動態鏈接庫加載到內存中。

這兩種方式,從編程角度來講,第一種是最方便的,效率上影響也不大,在內存使用上有些差別。

第一種方式,一個庫的代碼,只要運行過一次,便會占用物理內存,之后即使再也不使用,也會占用物理內存,直到進程的終止。

第二中方式,庫代碼占用的內存,可以通過dlfree的方式,釋放掉,返回給物理內存。

這個差別主要對于那些壽命很長,但又會偶爾調用各種庫的進程有關。如果是這類進程,建議采用第二種方式調用動態鏈接庫

?

?

?

?

包含了所有CPU活躍的信息,該文件中的所有值都是從系統啟動開始累計到當前時刻。

[root@localhost ~]# cat /proc/self/statm

654 57 44 0 0 334 0

輸出解釋

CPU?以及CPU0的每行的每個參數意思(以第一行為例)為:

參數?解釋?/proc/pid/statm

Size (pages)?任務虛擬地址空間的物理內存頁數?

Resident(pages)?應用程序正在使用的物理內存頁數?

Shared(pages)?共享頁數?0

Trs(pages)?程序所擁有的可執行虛擬內存的物理內存頁數?

Lrs(pages)?被映像到任務的虛擬內存空間的庫的物理內存頁數?

Drs(pages)?程序數據段和用戶態的棧的物理內存頁數?

dt(pages) 0

linux下page的大小一般為4096,即4KB

查看linux下page大小的命令是 getconf PAGE_SIZE

打開?/proc/pid/statm 文件 即可獲取進程pid下包含了所有CPU活躍的信息,該文件中的所有值都是從系統啟動開始累計到當前時刻。
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
輸出解釋
CPU 以及CPU0的每行的每個參數意思(以第一行為例)為:
參數 解釋 /proc/pid/statm
Size (pages) 任務虛擬地址空間的物理內存頁數?
Resident(pages) 應用程序正在使用的物理內存頁數?
Shared(pages) 共享頁數 0
Trs(pages) 程序所擁有的可執行虛擬內存的物理內存頁數?
Lrs(pages) 被映像到任務的虛擬內存空間的庫的物理內存頁數?
Drs(pages) 程序數據段和用戶態的棧的物理內存頁數?
dt(pages) 0
linux下page的大小一般為4096,即4KB
查看linux下page大小的命令是 getconf PAGE_SIZE
打開 /proc/pid/statm 文件 即可獲取進程pid下的內存使用情況的內存使用情況

?

?

?

linux 下面查看內存有多種渠道,比如通過命令 ps ,top,free 等,比如通過/proc系統,一般需要比較詳細和精確地知道整機內存/某個進程內存的使用情況,最好通過/proc 系統,下面介紹/proc系統下內存相關的幾個文件

?

單個進程的內存查看 ?cat /proc/[pid] 下面有幾個文件: maps , smaps, status

?

maps 文件可以查看某個進程的代碼段、棧區、堆區、動態庫、內核區對應的虛擬地址,如果你還不了解linux進程的內存空間,可以參考這里。

下圖是maps文件內存示例

 Develop>cat /proc/self/maps 
00400000-0040b000 r-xp 00000000 fd:00 48              /mnt/cf/orig/root/bin/cat
0060a000-0060b000 r--p 0000a000 fd:00 48              /mnt/cf/orig/root/bin/cat
0060b000-0060c000 rw-p 0000b000 fd:00 48              /mnt/cf/orig/root/bin/cat 代碼段
0060c000-0062d000 rw-p 00000000 00:00 0               [heap] 堆區
7f1fff43b000-7f1fff5d4000 r-xp 00000000 fd:00 861   /mnt/cf/orig/root/lib64/libc-2.15.so
7f1fff5d4000-7f1fff7d3000 ---p 00199000 fd:00 861  /mnt/cf/orig/root/lib64/libc-2.15.so
7f1fff7d3000-7f1fff7d7000 r--p 00198000 fd:00 861   /mnt/cf/orig/root/lib64/libc-2.15.so
7f1fff7d7000-7f1fff7d9000 rw-p 0019c000 fd:00 861   /mnt/cf/orig/root/lib64/libc-2.15.so
7f1fff7d9000-7f1fff7dd000 rw-p 00000000 00:00 0 
7f1fff7dd000-7f1fff7fe000 r-xp 00000000 fd:00 2554  /mnt/cf/orig/root/lib64/ld-2.15.so
7f1fff9f9000-7f1fff9fd000 rw-p 00000000 00:00 0 
7f1fff9fd000-7f1fff9fe000 r--p 00020000 fd:00 2554  /mnt/cf/orig/root/lib64/ld-2.15.so
7f1fff9fe000-7f1fff9ff000 rw-p 00021000 fd:00 2554  /mnt/cf/orig/root/lib64/ld-2.15.so
7f1fff9ff000-7f1fffa00000 rw-p 00000000 00:00 0 
7fff443de000-7fff443ff000 rw-p 00000000 00:00 0     [stack] 用戶態棧區
7fff443ff000-7fff44400000 r-xp 00000000 00:00 0     [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0  [vsyscall] 內核區

有時候可以通過不斷查看某個進程的maps文件,通過查看其虛擬內存(堆區)是否不停增長來簡單判斷進程是否發生了內存溢出。

maps文件只能顯示簡單的分區,smap文件可以顯示每個分區的更詳細的內存占用數據

下圖是smaps文件內存示例, 實際顯示內容會將每一個區都顯示出來,下面我只拷貝了代碼段和堆區,

每一個區顯示的內容項目是一樣的,smaps文件各項含義可以參考這里

 Develop>cat /proc/self/smaps 
00400000-0040b000 r-xp 00000000 fd:00 48  /mnt/cf/orig/root/bin/cat
Size:                 44 kB 虛擬內存大小
Rss:                  28 kB 實際使用物理內存大小
Pss:                  28 kB
Shared_Clean:         0 kB 頁面被改,則是dirty,否則是clean,頁面引用計數>1,是shared,否則是private
Shared_Dirty:          0 kB
Private_Clean:        28 kB
Private_Dirty:         0 kB
Referenced:           28 kB
Anonymous:             0 kB
AnonHugePages:         0 kB
Swap:                  0 kB  處于交換區的頁面大小
KernelPageSize:        4 kB  操作系統一個頁面大小
MMUPageSize:           4 kB  體系結構MMU一個頁面大小 
Locked:                0 kB

0060c000-0062d000 rw-p 00000000 00:00 0 [heap]
Size: 132 kB
Rss: 8 kB
Pss: 8 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 8 kB
Referenced: 8 kB
Anonymous: 8 kB
AnonHugePages: 0 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB

?

下圖是status文件內存示例, 加粗部分是內存相關的統計,

?

 Develop>cat /proc/24475/status
Name:    netio   可執行程序的名字
State:    R (running) 任務狀態,運行/睡眠/僵死
Tgid:    24475  線程組號
Pid:    24475   進程id
PPid:    19635  父進程id
TracerPid:    0  
Uid:    0    0    0    0
Gid:    0    0    0    0
FDSize:    256 該進程最大文件描述符個數
Groups:    0 
VmPeak:     6330708 kB  內存使用峰值VmSize:      268876 kB 進程虛擬地址空間大小VmLck:           0 kB 進程鎖住的物理內存大小,鎖住的物理內存無法交換到硬盤VmHWM:       16656 kBVmRSS:       11420 kB 進程正在使用的物理內存大小VmData:      230844 kB 進程數據段大小VmStk:         136 kB 進程用戶態棧大小VmExe:         760 kB 進程代碼段大小VmLib:        7772 kB 進程使用的庫映射到虛擬內存空間的大小VmPTE:         120 kB 進程頁表大小
VmSwap:           0 kB
Threads:    5
SigQ:    0/63346
SigPnd:    0000000000000000
ShdPnd:    0000000000000000
SigBlk:    0000000000000000
SigIgn:    0000000001000000
SigCgt:    0000000180000000
CapInh:    0000000000000000
CapPrm:    ffffffffffffffff
CapEff:    ffffffffffffffff
CapBnd:    ffffffffffffffff
Cpus_allowed:    01
Cpus_allowed_list:    0
Mems_allowed:    01
Mems_allowed_list:    0
voluntary_ctxt_switches:    201
nonvoluntary_ctxt_switches:    909

可以看到,linux下內存占用是一個比較復雜的概念,不能

簡單通過一個單一指標就判斷某個程序“內存消耗”大小,原因有下面2點:

  • 進程所申請的內存不一定真正會被用到(malloc或mmap的實現)
  • 真正用到了的內存也不一定是只有該進程自己在用 (比如動態共享庫)

關于內存的使用分析及本文幾個命令的說明也可以參考這里

下面是查看整機內存使用情況的文件 /proc/meminfo

 Develop>cat /proc/meminfo 
MemTotal:        8112280 kB 所有可用RAM大小 (即物理內存減去一些預留位和內核的二進制代碼大小)
MemFree:         4188636 kB LowFree與HighFree的總和,被系統留著未使用的內存
Buffers:           34728 kB 用來給文件做緩沖大小
Cached:           289740 kB 被高速緩沖存儲器(cache memory)用的內存的大小(等于 diskcache?minus?SwapCache )
SwapCached:            0 kB 被高速緩沖存儲器(cache memory)用的交換空間的大小?已經被交換出來的內存,但仍然被存放在swapfile中。用來在需要的時候很快的被替換而不需要再次打開I/O端口
Active:           435240 kB 在活躍使用中的緩沖或高速緩沖存儲器頁面文件的大小,除非非常必要否則不會被移作他用
Inactive:         231512 kB 在不經常使用中的緩沖或高速緩沖存儲器頁面文件的大小,可能被用于其他途徑.
Active(anon):     361252 kB 
Inactive(anon):   120688 kB
Active(file):      73988 kB
Inactive(file):   110824 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB 交換空間的總大小
SwapFree:              0 kB 未被使用交換空間的大小
Dirty:                 0 kB 等待被寫回到磁盤的內存大小
Writeback:             0 kB 正在被寫回到磁盤的內存大小
AnonPages:        348408 kB 未映射頁的內存大小
Mapped:            33600 kB 已經被設備和文件等映射的大小
Shmem:            133536 kB 
Slab:              55984 kB 內核數據結構緩存的大小,可以減少申請和釋放內存帶來的消耗
SReclaimable:      25028 kB 可收回Slab的大小
SUnreclaim:        30956 kB 不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)
KernelStack:        1896 kB 內核棧區大小
PageTables:         8156 kB 管理內存分頁頁面的索引表的大小
NFS_Unstable:          0 kB 不穩定頁表的大小
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2483276 kB
Committed_AS:    1804104 kB
VmallocTotal:   34359738367 kB 可以vmalloc虛擬內存大小
VmallocUsed:      565680 kB 已經被使用的虛擬內存大小
VmallocChunk:   34359162876 kB
HardwareCorrupted:     0 kB
HugePages_Total:    1536  大頁面數目
HugePages_Free:        0 空閑大頁面數目
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB 大頁面一頁大小
DirectMap4k:       10240 kB 
DirectMap2M:     8302592 kB

?

?

想必在linux上寫過程序的同學都有分析進程占用多少內存的經歷,或者被問到這樣的問題——你的程序在運行時占用了多少內存(物理內存)?通常我們可以通過top命令查看進程占用了多少內存。這里我們可以看到VIRT、RES和SHR三個重要的指標,他們分別代表什么意思呢?這是本文需要跟大家一起探討的問題。當然如果更加深入一點,你可能會問進程所占用的那些物理內存都用在了哪些地方?這時候top命令可能不能給到你你所想要的答案了,不過我們可以分析proc文件系統提供的smaps文件,這個文件詳盡地列出了當前進程所占用物理內存的使用情況。

??? 這篇blog總共分為三個部分。第一部分簡要闡述虛擬內存和駐留內存這兩個重要的概念;第二部分解釋top命令中VIRT、RES以及SHR三個參數的實際參考意義;最后一部分向大家介紹一下smaps文件的格式,通過分析smaps文件我們可以詳細了解進程物理內存的使用情況,比如mmap文件占用了多少空間、動態內存開辟消耗了多少空間、函數調用棧消耗了多少空間等等。

關于內存的兩個概念

????? 要理解top命令關于內存使用情況的輸出,我們必須首先搞清楚虛擬內存(Virtual Memory)和駐留內存(Resident Memory)兩個概念。

  • 虛擬內存

   首先需要強調的是虛擬內存不同于物理內存,雖然兩者都包含內存字眼但是它們屬于兩個不同層面的概念。進程占用虛擬內存空間大并非意味著程序的物理內存也一定占用很大。虛擬內存是操作系統內核為了對進程地址空間進行管理(process address space management)而精心設計的一個邏輯意義上的內存空間概念。我們程序中的指針其實都是這個虛擬內存空間中的地址。比如我們在寫完一段C++程序之后都需要采用g++進行編譯,這時候編譯器采用的地址其實就是虛擬內存空間的地址。因為這時候程序還沒有運行,何談物理內存空間地址?凡是程序運行過程中可能需要用到的指令或者數據都必須在虛擬內存空間中。既然說虛擬內存是一個邏輯意義上(假象的)的內存空間,為了能夠讓程序在物理機器上運行,那么必須有一套機制可以讓這些假象的虛擬內存空間映射到物理內存空間(實實在在的RAM內存條上的空間)。這其實就是操作系統中頁映射表(page table)所做的事情了。內核會為系統中每一個進程維護一份相互獨立的頁映射表。。頁映射表的基本原理是將程序運行過程中需要訪問的一段虛擬內存空間通過頁映射表映射到一段物理內存空間上,這樣CPU訪問對應虛擬內存地址的時候就可以通過這種查找頁映射表的機制訪問物理內存上的某個對應的地址?!绊?#xff08;page)”是虛擬內存空間向物理內存空間映射的基本單元。

??????? 下圖1演示了虛擬內存空間和物理內存空間的相互關系,它們通過Page Table關聯起來。其中虛擬內存空間中著色的部分分別被映射到物理內存空間對應相同著色的部分。而虛擬內存空間中灰色的部分表示在物理內存空間中沒有與之對應的部分,也就是說灰色部分沒有被映射到物理內存空間中。這么做也是本著“按需映射”的指導思想,因為虛擬內存空間很大,可能其中很多部分在一次程序運行過程中根本不需要訪問,所以也就沒有必要將虛擬內存空間中的這些部分映射到物理內存空間上。

??????? 到這里為止已經基本闡述了什么是虛擬內存了。總結一下就是,虛擬內存是一個假象的內存空間,在程序運行過程中虛擬內存空間中需要被訪問的部分會被映射到物理內存空間中。虛擬內存空間大只能表示程序運行過程中可訪問的空間比較大,不代表物理內存空間占用也大。

                  圖1. 虛擬內存空間到物理內存空間映射

  • 駐留內存

  駐留內存,顧名思義是指那些被映射到進程虛擬內存空間的物理內存。上圖1中,在系統物理內存空間中被著色的部分都是駐留內存。比如,A1、A2、A3和A4是進程A的駐留內存;B1、B2和B3是進程B的駐留內存。進程的駐留內存就是進程實實在在占用的物理內存。一般我們所講的進程占用了多少內存,其實就是說的占用了多少駐留內存而不是多少虛擬內存。因為虛擬內存大并不意味著占用的物理內存大。

  關于虛擬內存和駐留內存這兩個概念我們說到這里。下面一部分我們來看看top命令中VIRT、RES和SHR分別代表什么意思。

top命令中VIRT、RES和SHR的含義

?????搞清楚了虛擬內存的概念之后解釋VIRT的含義就很簡單了。VIRT表示的是進程虛擬內存空間大小。對應到圖1中的進程A來說就是A1、A2、A3、A4以及灰色部分所有空間的總和。也就是說VIRT包含了在已經映射到物理內存空間的部分和尚未映射到物理內存空間的部分總和。

  RES的含義是指進程虛擬內存空間中已經映射到物理內存空間的那部分的大小。對應到圖1中的進程A來說就是A1、A2、A3以及A4幾個部分空間的總和。所以說,看進程在運行過程中占用了多少內存應該看RES的值而不是VIRT的值。

  最后來看看SHR所表示的含義。SHR是share(共享)的縮寫,它表示的是進程占用的共享內存大小。在上圖1中我們看到進程A虛擬內存空間中的A4和進程B虛擬內存空間中的B3都映射到了物理內存空間的A4/B3部分。咋一看很奇怪。為什么會出現這樣的情況呢?其實我們寫的程序會依賴于很多外部的動態庫(.so),比如libc.so、libld.so等等。這些動態庫在內存中僅僅會保存/映射一份,如果某個進程運行時需要這個動態庫,那么動態加載器會將這塊內存映射到對應進程的虛擬內存空間中。多個進展之間通過共享內存的方式相互通信也會出現這樣的情況。這么一來,就會出現不同進程的虛擬內存空間會映射到相同的物理內存空間。這部分物理內存空間其實是被多個進程所共享的,所以我們將他們稱為共享內存,用SHR來表示。某個進程占用的內存除了和別的進程共享的內存之外就是自己的獨占內存了。所以要計算進程獨占內存的大小只要用RES的值減去SHR值即可。

進程的smaps文件

  通過top命令我們已經能看出進程的虛擬空間大小(VIRT)、占用的物理內存(RES)以及和其他進程共享的內存(SHR)。但是僅此而已,如果我想知道如下問題:

  1. 進程的虛擬內存空間的分布情況,比如heap占用了多少空間、文件映射(mmap)占用了多少空間、stack占用了多少空間?
  2. 進程是否有被交換到swap空間的內存,如果有,被交換出去的大小?
  3. mmap方式打開的數據文件有多少頁在內存中是臟頁(dirty page)沒有被寫回到磁盤的?
  4. mmap方式打開的數據文件當前有多少頁面已經在內存中,有多少頁面還在磁盤中沒有加載到page cahe中?
  5. 等等

  以上這些問題都無法通過top命令給出答案,但是有時候這些問題正是我們在對程序進行性能瓶頸分析和優化時所需要回答的問題。所幸的是,世界上解決問題的方法總比問題本身要多得多。linux通過proc文件系統為每個進程都提供了一個smaps文件,通過分析該文件我們就可以一一回答以上提出的問題。

  在smaps文件中,每一條記錄(如下圖2所示)表示進程虛擬內存空間中一塊連續的區域。其中第一行從左到右依次表示地址范圍、權限標識、映射文件偏移、設備號、inode、文件路徑。詳細解釋可以參見understanding-linux-proc-id-maps。

  接下來8個字段的含義分別如下:

  • Size:表示該映射區域在虛擬內存空間中的大小。
  • Rss:表示該映射區域當前在物理內存中占用了多少空間      
  • Shared_Clean:和其他進程共享的未被改寫的page的大小
  • Shared_Dirty:?和其他進程共享的被改寫的page的大小
  • Private_Clean:未被改寫的私有頁面的大小。
  • Private_Dirty:?已被改寫的私有頁面的大小。
  • Swap:表示非mmap內存(也叫anonymous memory,比如malloc動態分配出來的內存)由于物理內存不足被swap到交換空間的大小。
  • Pss:該虛擬內存區域平攤計算后使用的物理內存大小(有些內存會和其他進程共享,例如mmap進來的)。比如該區域所映射的物理內存部分同時也被另一個進程映射了,且該部分物理內存的大小為1000KB,那么該進程分攤其中一半的內存,即Pss=500KB。

                            圖2. smaps文件中的一條記錄

  有了smap如此詳細關于虛擬內存空間到物理內存空間的映射信息,相信大家已經能夠通過分析該文件回答上面提出的4個問題。

  最后希望所有讀者能夠通過閱讀本文對進程的虛擬內存和物理內存有一個更加清晰認識,并能更加準確理解top命令關于內存的輸出,最后可以通過smaps文件更進一步分析進程使用內存的情況。

總結

以上是生活随笔為你收集整理的linux内存实际占用分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产特级毛片aaaaaa高潮流水 | 天天躁夜夜躁狠狠是什么心态 | 精品国产av色一区二区深夜久久 | 国产极品视觉盛宴 | 欧美日韩一区二区三区自拍 | 亚洲精品综合一区二区三区在线 | 少妇一晚三次一区二区三区 | 亚洲精品无码国产 | 欧美熟妇另类久久久久久多毛 | 久久综合久久自在自线精品自 | 日本乱偷人妻中文字幕 | 国产成人精品必看 | 任你躁在线精品免费 | 无码av免费一区二区三区试看 | 久久视频在线观看精品 | 日本高清一区免费中文视频 | 国产做国产爱免费视频 | 初尝人妻少妇中文字幕 | 黑人玩弄人妻中文在线 | 成人试看120秒体验区 | 色婷婷香蕉在线一区二区 | 日韩精品一区二区av在线 | 又大又紧又粉嫩18p少妇 | 久久久亚洲欧洲日产国码αv | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲国产精品久久久天堂 | 亚洲欧美日韩综合久久久 | 亚洲熟女一区二区三区 | 欧美日韩一区二区免费视频 | 日韩精品乱码av一区二区 | 人妻有码中文字幕在线 | 无遮挡啪啪摇乳动态图 | 亚洲国产av精品一区二区蜜芽 | 97人妻精品一区二区三区 | 国产一区二区三区精品视频 | 老司机亚洲精品影院无码 | 97夜夜澡人人爽人人喊中国片 | 九月婷婷人人澡人人添人人爽 | 无码人妻少妇伦在线电影 | 国产精品亚洲专区无码不卡 | 人妻aⅴ无码一区二区三区 | 性啪啪chinese东北女人 | 亚洲人成网站色7799 | 人妻熟女一区 | 中文字幕av无码一区二区三区电影 | 波多野结衣高清一区二区三区 | 久久久精品欧美一区二区免费 | 久久这里只有精品视频9 | 国内精品人妻无码久久久影院蜜桃 | 中文毛片无遮挡高清免费 | 国产精品99爱免费视频 | 久久久中文字幕日本无吗 | 老子影院午夜伦不卡 | 夫妻免费无码v看片 | 亚洲欧洲日本无在线码 | 亚洲日韩一区二区三区 | 国产麻豆精品精东影业av网站 | 亚洲欧美日韩国产精品一区二区 | 水蜜桃亚洲一二三四在线 | 131美女爱做视频 | 又紧又大又爽精品一区二区 | 伊人色综合久久天天小片 | 亚洲人成无码网www | 日本饥渴人妻欲求不满 | 天天摸天天碰天天添 | 亚洲日韩一区二区 | 粗大的内捧猛烈进出视频 | 人妻尝试又大又粗久久 | 欧美成人高清在线播放 | 搡女人真爽免费视频大全 | 疯狂三人交性欧美 | 3d动漫精品啪啪一区二区中 | 无码福利日韩神码福利片 | 人妻无码αv中文字幕久久琪琪布 | 精品aⅴ一区二区三区 | 成人免费视频视频在线观看 免费 | 久久精品丝袜高跟鞋 | 最新版天堂资源中文官网 | 久久精品成人欧美大片 | 小泽玛莉亚一区二区视频在线 | 国产午夜手机精彩视频 | 国产午夜福利100集发布 | 蜜桃臀无码内射一区二区三区 | 精品久久久无码人妻字幂 | 日韩在线不卡免费视频一区 | a在线亚洲男人的天堂 | 国产9 9在线 | 中文 | 一本久道久久综合婷婷五月 | 国产亚洲tv在线观看 | 天堂久久天堂av色综合 | 99久久精品午夜一区二区 | 亚洲 另类 在线 欧美 制服 | 国产av无码专区亚洲a∨毛片 | 少妇人妻av毛片在线看 | 国产精品久久久久久亚洲影视内衣 | 成人免费视频一区二区 | 成人精品天堂一区二区三区 | 久久久久久国产精品无码下载 | 国产一区二区三区四区五区加勒比 | 蜜桃av抽搐高潮一区二区 | 国产两女互慰高潮视频在线观看 | 动漫av一区二区在线观看 | 久久久久99精品国产片 | 午夜福利一区二区三区在线观看 | 国产一区二区三区影院 | 强开小婷嫩苞又嫩又紧视频 | 国产偷抇久久精品a片69 | 国内精品久久毛片一区二区 | 蜜桃av抽搐高潮一区二区 | 久久精品人妻少妇一区二区三区 | 国产人妖乱国产精品人妖 | 国产精品久久久一区二区三区 | 国产办公室秘书无码精品99 | 奇米影视7777久久精品人人爽 | 一本大道久久东京热无码av | 两性色午夜视频免费播放 | 欧美性猛交内射兽交老熟妇 | 亚洲人成影院在线观看 | 日本一卡二卡不卡视频查询 | 少妇人妻av毛片在线看 | 老头边吃奶边弄进去呻吟 | 久久aⅴ免费观看 | 成人aaa片一区国产精品 | 国产做国产爱免费视频 | 亚洲 另类 在线 欧美 制服 | 麻花豆传媒剧国产免费mv在线 | 在线a亚洲视频播放在线观看 | 曰韩无码二三区中文字幕 | 亚洲欧美精品伊人久久 | 波多野结衣一区二区三区av免费 | 在线а√天堂中文官网 | 台湾无码一区二区 | 18无码粉嫩小泬无套在线观看 | 老头边吃奶边弄进去呻吟 | 久久国产精品精品国产色婷婷 | 国产特级毛片aaaaaaa高清 | 黄网在线观看免费网站 | 国产美女极度色诱视频www | 高清国产亚洲精品自在久久 | 丝袜足控一区二区三区 | 在线视频网站www色 | аⅴ资源天堂资源库在线 | 久久久久久久人妻无码中文字幕爆 | 欧美 亚洲 国产 另类 | 久久久久久久女国产乱让韩 | 亚洲中文字幕在线无码一区二区 | 女人和拘做爰正片视频 | а√天堂www在线天堂小说 | 亚洲一区二区三区播放 | 久久综合九色综合97网 | 色婷婷欧美在线播放内射 | 国产办公室秘书无码精品99 | 欧美一区二区三区视频在线观看 | 久久国产精品萌白酱免费 | 国产精品久久久久久久影院 | 捆绑白丝粉色jk震动捧喷白浆 | 日日天干夜夜狠狠爱 | 无码午夜成人1000部免费视频 | 国产精品亚洲а∨无码播放麻豆 | 青青草原综合久久大伊人精品 | 亚洲精品一区二区三区四区五区 | 国产亚洲精品久久久久久大师 | 亚洲国产一区二区三区在线观看 | 少妇性荡欲午夜性开放视频剧场 | 色综合天天综合狠狠爱 | 青草视频在线播放 | 久久精品99久久香蕉国产色戒 | 四虎影视成人永久免费观看视频 | 少妇久久久久久人妻无码 | 久久久久亚洲精品中文字幕 | 国产精品视频免费播放 | 少妇人妻偷人精品无码视频 | 日本饥渴人妻欲求不满 | 久久久www成人免费毛片 | 丁香花在线影院观看在线播放 | 丰满少妇人妻久久久久久 | 国产精品人人爽人人做我的可爱 | 亚洲中文字幕乱码av波多ji | 无码av中文字幕免费放 | 伊人久久大香线焦av综合影院 | 亚洲中文字幕无码一久久区 | 日本免费一区二区三区最新 | 国产精品毛多多水多 | 婷婷五月综合激情中文字幕 | 成 人 免费观看网站 | 久久亚洲精品成人无码 | 巨爆乳无码视频在线观看 | 久久精品视频在线看15 | 中文字幕中文有码在线 | 久久久精品成人免费观看 | 少妇被黑人到高潮喷出白浆 | 日本精品人妻无码免费大全 | 男女性色大片免费网站 | 免费国产黄网站在线观看 | 成人欧美一区二区三区黑人免费 | 领导边摸边吃奶边做爽在线观看 | 中文无码成人免费视频在线观看 | 特级做a爰片毛片免费69 | 亚洲s码欧洲m码国产av | 亚洲无人区午夜福利码高清完整版 | 久久精品国产日本波多野结衣 | 六十路熟妇乱子伦 | 暴力强奷在线播放无码 | 日韩成人一区二区三区在线观看 | 欧美日韩一区二区三区自拍 | 色婷婷久久一区二区三区麻豆 | 国产成人午夜福利在线播放 | 亚洲熟妇色xxxxx亚洲 | 久久精品国产99久久6动漫 | 波多野结衣aⅴ在线 | 色婷婷综合激情综在线播放 | 亚洲国产精品一区二区第一页 | 国产无遮挡吃胸膜奶免费看 | 97资源共享在线视频 | 蜜桃无码一区二区三区 | а天堂中文在线官网 | 无码国模国产在线观看 | 天天综合网天天综合色 | 午夜精品久久久久久久久 | 国产真人无遮挡作爱免费视频 | 亚洲一区二区三区 | 精品国产青草久久久久福利 | 国产精品igao视频网 | 中文精品久久久久人妻不卡 | 图片小说视频一区二区 | 丝袜人妻一区二区三区 | 国模大胆一区二区三区 | 97久久国产亚洲精品超碰热 | 国产 精品 自在自线 | 东京无码熟妇人妻av在线网址 | 欧美日韩在线亚洲综合国产人 | 亚洲成a人一区二区三区 | 日韩精品久久久肉伦网站 | 成人片黄网站色大片免费观看 | 国产一精品一av一免费 | 国产午夜福利100集发布 | 中文字幕精品av一区二区五区 | 精品人妻av区 | 一本一道久久综合久久 | 大地资源中文第3页 | 国内少妇偷人精品视频免费 | 久久久久久久人妻无码中文字幕爆 | 自拍偷自拍亚洲精品10p | 久久久久久亚洲精品a片成人 | 久久精品国产大片免费观看 | 国内精品人妻无码久久久影院蜜桃 | 无码国内精品人妻少妇 | 青春草在线视频免费观看 | 波多野结衣av一区二区全免费观看 | 国产成人精品一区二区在线小狼 | 学生妹亚洲一区二区 | 狂野欧美激情性xxxx | 少妇愉情理伦片bd | 欧美丰满熟妇xxxx性ppx人交 | 国产精品亚洲综合色区韩国 | 久久久精品国产sm最大网站 | 日韩av激情在线观看 | 国产特级毛片aaaaaa高潮流水 | 久久午夜夜伦鲁鲁片无码免费 | a片免费视频在线观看 | 免费观看黄网站 | 色窝窝无码一区二区三区色欲 | 国产亚洲tv在线观看 | 日本护士毛茸茸高潮 | 88国产精品欧美一区二区三区 | 黑森林福利视频导航 | 精品国偷自产在线 | 亚洲国产精品久久人人爱 | 成 人 网 站国产免费观看 | 色综合久久久无码网中文 | 成人无码精品1区2区3区免费看 | 久久久精品国产sm最大网站 | 伊人久久大香线焦av综合影院 | 青草视频在线播放 | 国产精品国产自线拍免费软件 | 人妻少妇被猛烈进入中文字幕 | 中文字幕av无码一区二区三区电影 | 狠狠cao日日穞夜夜穞av | 正在播放东北夫妻内射 | 国产片av国语在线观看 | 在线视频网站www色 | 亚洲一区二区三区国产精华液 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲精品欧美二区三区中文字幕 | 国产av剧情md精品麻豆 | 中文字幕色婷婷在线视频 | 国产精品va在线播放 | 综合人妻久久一区二区精品 | 国内精品久久毛片一区二区 | 国内揄拍国内精品少妇国语 | 麻豆md0077饥渴少妇 | 国产午夜手机精彩视频 | 久久精品中文字幕大胸 | 天堂а√在线地址中文在线 | 久久亚洲国产成人精品性色 | 内射巨臀欧美在线视频 | 色一情一乱一伦一区二区三欧美 | 无码帝国www无码专区色综合 | 久久久久久国产精品无码下载 | 精品久久久久久人妻无码中文字幕 | 丰满人妻被黑人猛烈进入 | 国产精品高潮呻吟av久久4虎 | 亚洲s码欧洲m码国产av | 国产手机在线αⅴ片无码观看 | 免费观看的无遮挡av | 亚洲日本一区二区三区在线 | 久久99精品久久久久婷婷 | 午夜精品久久久久久久久 | 麻豆国产97在线 | 欧洲 | 大肉大捧一进一出视频出来呀 | 国产网红无码精品视频 | 一二三四在线观看免费视频 | 无码精品国产va在线观看dvd | 国产成人精品无码播放 | 国产sm调教视频在线观看 | 无码午夜成人1000部免费视频 | 国产在热线精品视频 | 免费男性肉肉影院 | 狠狠综合久久久久综合网 | 久久亚洲精品中文字幕无男同 | 综合网日日天干夜夜久久 | 久久国语露脸国产精品电影 | 成熟人妻av无码专区 | 国色天香社区在线视频 | 欧美人与善在线com | 成人无码精品一区二区三区 | 国产后入清纯学生妹 | 成人无码视频在线观看网站 | 国内精品人妻无码久久久影院蜜桃 | 成人精品天堂一区二区三区 | 亚洲中文字幕无码一久久区 | 国语精品一区二区三区 | 国产亚洲美女精品久久久2020 | 狠狠躁日日躁夜夜躁2020 | 熟女少妇人妻中文字幕 | 老司机亚洲精品影院 | 久久久久久久久888 | 精品人人妻人人澡人人爽人人 | 高潮毛片无遮挡高清免费 | 精品人妻人人做人人爽夜夜爽 | 亚洲欧洲无卡二区视頻 | 老司机亚洲精品影院无码 | 综合人妻久久一区二区精品 | 老子影院午夜伦不卡 | 天天爽夜夜爽夜夜爽 | 中文久久乱码一区二区 | 欧美日韩一区二区综合 | 丝袜 中出 制服 人妻 美腿 | 偷窥村妇洗澡毛毛多 | 欧美熟妇另类久久久久久不卡 | 老熟女乱子伦 | 97色伦图片97综合影院 | 免费观看的无遮挡av | 少妇性l交大片欧洲热妇乱xxx | 国产午夜无码视频在线观看 | 色一情一乱一伦一视频免费看 | www一区二区www免费 | 久精品国产欧美亚洲色aⅴ大片 | 国产香蕉尹人综合在线观看 | 亚洲欧美色中文字幕在线 | 国产舌乚八伦偷品w中 | 国产成人无码a区在线观看视频app | 在线а√天堂中文官网 | 无码吃奶揉捏奶头高潮视频 | 国产绳艺sm调教室论坛 | 少妇高潮一区二区三区99 | 久久国语露脸国产精品电影 | 国产精品亚洲а∨无码播放麻豆 | 啦啦啦www在线观看免费视频 | 国产精品爱久久久久久久 | 又大又硬又爽免费视频 | 又大又硬又黄的免费视频 | 激情内射日本一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 成人精品视频一区二区三区尤物 | 欧美放荡的少妇 | 欧美 丝袜 自拍 制服 另类 | 日本护士xxxxhd少妇 | 日本丰满护士爆乳xxxx | 国产免费无码一区二区视频 | 国产亚洲精品久久久闺蜜 | 日本欧美一区二区三区乱码 | 日产精品99久久久久久 | 老司机亚洲精品影院无码 | 国产午夜福利亚洲第一 | 99麻豆久久久国产精品免费 | 色一情一乱一伦 | 97色伦图片97综合影院 | 日本精品人妻无码77777 天堂一区人妻无码 | 人妻插b视频一区二区三区 | 熟妇女人妻丰满少妇中文字幕 | 精品无码一区二区三区爱欲 | 大肉大捧一进一出视频出来呀 | 青青久在线视频免费观看 | 少妇久久久久久人妻无码 | 精品久久久久久亚洲精品 | 高中生自慰www网站 | 久久精品视频在线看15 | 最近中文2019字幕第二页 | 国产免费无码一区二区视频 | 成人性做爰aaa片免费看 | 久久无码专区国产精品s | 性做久久久久久久免费看 | 亚洲日韩一区二区 | 精品无码国产一区二区三区av | 亚洲成a人片在线观看无码3d | 综合激情五月综合激情五月激情1 | 亚洲s色大片在线观看 | 日韩av无码中文无码电影 | 色老头在线一区二区三区 | 好男人社区资源 | 人妻少妇精品视频专区 | 欧美国产日产一区二区 | 精品国产一区二区三区四区在线看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 中文字幕人妻丝袜二区 | 久久久中文字幕日本无吗 | 九九在线中文字幕无码 | 国产香蕉尹人综合在线观看 | 婷婷五月综合缴情在线视频 | 国产成人无码a区在线观看视频app | 波多野结衣av在线观看 | 国产激情艳情在线看视频 | 久久国产精品_国产精品 | 无码乱肉视频免费大全合集 | 亚洲中文字幕无码中字 | 超碰97人人做人人爱少妇 | 久久久av男人的天堂 | 亚洲呦女专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 成人综合网亚洲伊人 | 成人精品视频一区二区 | 水蜜桃色314在线观看 | 欧美猛少妇色xxxxx | 精品熟女少妇av免费观看 | 色情久久久av熟女人妻网站 | 久久人人爽人人人人片 | 亚洲爆乳大丰满无码专区 | 久久亚洲精品成人无码 | 欧美国产日韩久久mv | 无码国内精品人妻少妇 | 国内精品人妻无码久久久影院 | 亚洲精品国偷拍自产在线麻豆 | 中文字幕人妻无码一区二区三区 | 天堂亚洲2017在线观看 | 一本色道久久综合亚洲精品不卡 | 国产精品久久久久久亚洲毛片 | 天天摸天天透天天添 | 狠狠cao日日穞夜夜穞av | 狂野欧美激情性xxxx | 无遮无挡爽爽免费视频 | 亚洲成色在线综合网站 | 亚洲国产精品久久久天堂 | 一个人看的www免费视频在线观看 | 熟妇人妻无乱码中文字幕 | 中国女人内谢69xxxx | 无码人妻久久一区二区三区不卡 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 色窝窝无码一区二区三区色欲 | 人人妻人人澡人人爽欧美一区九九 | 精品无人区无码乱码毛片国产 | 亚洲日韩精品欧美一区二区 | 久久久久久av无码免费看大片 | 日韩亚洲欧美精品综合 | 亚洲一区二区三区在线观看网站 | 国产午夜亚洲精品不卡 | 国产在线精品一区二区三区直播 | 国产精品无码一区二区三区不卡 | 亚洲精品一区二区三区婷婷月 | 少妇高潮一区二区三区99 | 蜜臀aⅴ国产精品久久久国产老师 | 7777奇米四色成人眼影 | 丰腴饱满的极品熟妇 | 无码人妻av免费一区二区三区 | 无码人妻精品一区二区三区下载 | 国产人妻精品一区二区三区不卡 | 欧美高清在线精品一区 | 狠狠色丁香久久婷婷综合五月 | 人人妻人人澡人人爽欧美精品 | 夜精品a片一区二区三区无码白浆 | 国产精华av午夜在线观看 | 兔费看少妇性l交大片免费 | 骚片av蜜桃精品一区 | 午夜无码区在线观看 | 天天爽夜夜爽夜夜爽 | 成人亚洲精品久久久久软件 | 国产精品高潮呻吟av久久 | 精品无码成人片一区二区98 | 国内揄拍国内精品少妇国语 | 青草青草久热国产精品 | 东北女人啪啪对白 | 国产欧美精品一区二区三区 | 又大又紧又粉嫩18p少妇 | 性色欲情网站iwww九文堂 | 中文字幕人妻无码一区二区三区 | 精品偷自拍另类在线观看 | 九九热爱视频精品 | 国产精品99久久精品爆乳 | 国产精品自产拍在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 黄网在线观看免费网站 | 国产精品va在线观看无码 | 国产成人久久精品流白浆 | 国产精品手机免费 | 88国产精品欧美一区二区三区 | 牛和人交xxxx欧美 | 精品欧洲av无码一区二区三区 | 亚洲国精产品一二二线 | 波多野结衣av在线观看 | 色五月五月丁香亚洲综合网 | 亚洲第一网站男人都懂 | 人妻天天爽夜夜爽一区二区 | 日本精品少妇一区二区三区 | 国产亚洲欧美日韩亚洲中文色 | 国产莉萝无码av在线播放 | 中文字幕无码人妻少妇免费 | 久久无码专区国产精品s | 免费中文字幕日韩欧美 | 国产做国产爱免费视频 | 精品无码成人片一区二区98 | 国内少妇偷人精品视频 | 成人亚洲精品久久久久软件 | 久久国产劲爆∧v内射 | 天堂亚洲2017在线观看 | 国产熟女一区二区三区四区五区 | 欧美性猛交内射兽交老熟妇 | 亚洲精品国产精品乱码视色 | 成人免费视频在线观看 | 天天综合网天天综合色 | 欧美怡红院免费全部视频 | 98国产精品综合一区二区三区 | 精品欧美一区二区三区久久久 | 欧美人与动性行为视频 | 精品厕所偷拍各类美女tp嘘嘘 | 国产sm调教视频在线观看 | 日日摸夜夜摸狠狠摸婷婷 | 免费网站看v片在线18禁无码 | 欧美精品国产综合久久 | 欧美精品免费观看二区 | 国产精品怡红院永久免费 | 2020久久超碰国产精品最新 | 丁香啪啪综合成人亚洲 | 无码人妻精品一区二区三区不卡 | 国产真人无遮挡作爱免费视频 | 国产精品成人av在线观看 | 亚洲经典千人经典日产 | 国产亚洲精品久久久ai换 | 久久久无码中文字幕久... | 中文精品久久久久人妻不卡 | 亚洲а∨天堂久久精品2021 | 波多野结衣乳巨码无在线观看 | 亚洲а∨天堂久久精品2021 | 天海翼激烈高潮到腰振不止 | 沈阳熟女露脸对白视频 | 波多野结衣乳巨码无在线观看 | 麻豆国产97在线 | 欧洲 | 荡女精品导航 | 国产99久久精品一区二区 | 久久久久免费精品国产 | a片在线免费观看 | 国产区女主播在线观看 | 亚洲欧洲无卡二区视頻 | 国产人妻人伦精品1国产丝袜 | 国产精品资源一区二区 | 国产一精品一av一免费 | 国产另类ts人妖一区二区 | 男人扒开女人内裤强吻桶进去 | 美女极度色诱视频国产 | 欧美 日韩 人妻 高清 中文 | 一本加勒比波多野结衣 | 狂野欧美激情性xxxx | 国产精品无码一区二区桃花视频 | 亚洲狠狠色丁香婷婷综合 | 丰腴饱满的极品熟妇 | 国产精品久久久久无码av色戒 | 99视频精品全部免费免费观看 | 亚洲中文字幕va福利 | 国产精品美女久久久网av | 国产av人人夜夜澡人人爽麻豆 | 日本熟妇大屁股人妻 | 亚洲综合久久一区二区 | 欧美真人作爱免费视频 | 国产精品亚洲一区二区三区喷水 | 亚洲欧美日韩国产精品一区二区 | 亚洲色欲色欲欲www在线 | 丰满岳乱妇在线观看中字无码 | 国产一区二区三区四区五区加勒比 | 人妻aⅴ无码一区二区三区 | 国产人妻久久精品二区三区老狼 | 麻豆果冻传媒2021精品传媒一区下载 | 久精品国产欧美亚洲色aⅴ大片 | 欧美黑人巨大xxxxx | 最新国产麻豆aⅴ精品无码 | 中文字幕av伊人av无码av | 日韩少妇白浆无码系列 | 偷窥村妇洗澡毛毛多 | 免费看男女做好爽好硬视频 | 欧美大屁股xxxxhd黑色 | 蜜臀av无码人妻精品 | 国产网红无码精品视频 | 成年女人永久免费看片 | 欧美猛少妇色xxxxx | 国产69精品久久久久app下载 | 精品无码一区二区三区爱欲 | 国产精品久久久久久亚洲影视内衣 | 国产成人午夜福利在线播放 | 人人爽人人爽人人片av亚洲 | 亚洲精品综合五月久久小说 | 成 人 免费观看网站 | 无码人妻丰满熟妇区五十路百度 | 精品成在人线av无码免费看 | 少妇人妻偷人精品无码视频 | 国产乱子伦视频在线播放 | 我要看www免费看插插视频 | 大肉大捧一进一出视频出来呀 | 国产超级va在线观看视频 | 男人扒开女人内裤强吻桶进去 | 精品成人av一区二区三区 | 亚洲国产欧美在线成人 | 亚洲一区二区三区播放 | 国精产品一品二品国精品69xx | 亚洲va中文字幕无码久久不卡 | 欧美黑人乱大交 | 大地资源中文第3页 | 久久精品国产大片免费观看 | 亚洲国产精品久久久久久 | 国产在线一区二区三区四区五区 | 国产精品久久久av久久久 | 少女韩国电视剧在线观看完整 | 强奷人妻日本中文字幕 | 欧美激情综合亚洲一二区 | 人妻插b视频一区二区三区 | 97久久精品无码一区二区 | 一个人免费观看的www视频 | 精品欧美一区二区三区久久久 | 六月丁香婷婷色狠狠久久 | 国产精品内射视频免费 | 亚洲一区二区三区在线观看网站 | 欧美激情一区二区三区成人 | 国产亚洲精品久久久久久大师 | 欧美zoozzooz性欧美 | 欧美日韩一区二区免费视频 | 波多野结衣av一区二区全免费观看 | 成人av无码一区二区三区 | 成 人影片 免费观看 | 无码人妻丰满熟妇区毛片18 | 亚洲人成网站免费播放 | 日产国产精品亚洲系列 | 国精品人妻无码一区二区三区蜜柚 | 日本成熟视频免费视频 | 人妻少妇精品无码专区二区 | 成在人线av无码免费 | 久久久久久亚洲精品a片成人 | www国产亚洲精品久久久日本 | 国产无遮挡又黄又爽又色 | 亚洲日本一区二区三区在线 | 亚洲精品综合五月久久小说 | 欧美乱妇无乱码大黄a片 | 亚洲成av人综合在线观看 | 又大又紧又粉嫩18p少妇 | 亚洲精品综合五月久久小说 | 国产疯狂伦交大片 | 九九热爱视频精品 | 2019nv天堂香蕉在线观看 | 黑人巨大精品欧美一区二区 | 国产精品无码久久av | 无码av岛国片在线播放 | 99精品无人区乱码1区2区3区 | 麻豆人妻少妇精品无码专区 | 久青草影院在线观看国产 | 99久久久国产精品无码免费 | 久久精品人妻少妇一区二区三区 | 精品一二三区久久aaa片 | 国产亚洲美女精品久久久2020 | 国产va免费精品观看 | av无码电影一区二区三区 | 免费看男女做好爽好硬视频 | 国产农村妇女高潮大叫 | 欧美精品一区二区精品久久 | 精品国产麻豆免费人成网站 | 亚洲精品成a人在线观看 | 国产农村乱对白刺激视频 | 又粗又大又硬毛片免费看 | 男人和女人高潮免费网站 | 国产精品沙发午睡系列 | 少妇被黑人到高潮喷出白浆 | 俺去俺来也在线www色官网 | 午夜福利一区二区三区在线观看 | 真人与拘做受免费视频一 | 中文精品无码中文字幕无码专区 | 人人爽人人爽人人片av亚洲 | 亚洲人成网站免费播放 | 成人精品一区二区三区中文字幕 | 精品一二三区久久aaa片 | 成人无码影片精品久久久 | 国产一区二区三区四区五区加勒比 | 日韩欧美群交p片內射中文 | 成年女人永久免费看片 | 六月丁香婷婷色狠狠久久 | 黑森林福利视频导航 | 黑人巨大精品欧美黑寡妇 | 2019nv天堂香蕉在线观看 | 国产后入清纯学生妹 | 国产成人亚洲综合无码 | 国产av一区二区精品久久凹凸 | 亚洲国产精品久久久天堂 | 亚洲色www成人永久网址 | 国内丰满熟女出轨videos | 国产人妖乱国产精品人妖 | 性欧美牲交在线视频 | 99麻豆久久久国产精品免费 | 天天燥日日燥 | 亚洲无人区一区二区三区 | 亚洲色偷偷男人的天堂 | 乱人伦人妻中文字幕无码久久网 | 人人妻人人澡人人爽精品欧美 | 国产一区二区三区四区五区加勒比 | 国产亚洲人成a在线v网站 | 国产精品内射视频免费 | 人妻无码αv中文字幕久久琪琪布 | 人妻无码久久精品人妻 | 国产精品.xx视频.xxtv | 在线精品国产一区二区三区 | 1000部夫妻午夜免费 | 成人亚洲精品久久久久软件 | 久久久久成人片免费观看蜜芽 | 少妇性l交大片欧洲热妇乱xxx | 国产一区二区三区影院 | 亚洲a无码综合a国产av中文 | 一个人免费观看的www视频 | 大肉大捧一进一出视频出来呀 | 亚洲精品久久久久久一区二区 | 日本又色又爽又黄的a片18禁 | 色综合视频一区二区三区 | 亚洲欧美综合区丁香五月小说 | 国产精品自产拍在线观看 | 国产一区二区不卡老阿姨 | 久久视频在线观看精品 | 99精品国产综合久久久久五月天 | 亚洲娇小与黑人巨大交 | 国产亚洲tv在线观看 | 国产精品内射视频免费 | 欧美乱妇无乱码大黄a片 | 亚洲国产日韩a在线播放 | 欧美xxxx黑人又粗又长 | 国产在线精品一区二区高清不卡 | 日本www一道久久久免费榴莲 | 亚洲精品一区二区三区四区五区 | 日本熟妇乱子伦xxxx | 亚洲日韩av一区二区三区四区 | 丰满人妻一区二区三区免费视频 | 四虎4hu永久免费 | 婷婷五月综合缴情在线视频 | 色一情一乱一伦一区二区三欧美 | 中国大陆精品视频xxxx | 中文字幕无码av波多野吉衣 | 小泽玛莉亚一区二区视频在线 | 亚洲中文字幕在线无码一区二区 | 熟女少妇人妻中文字幕 | aa片在线观看视频在线播放 | 日本护士xxxxhd少妇 | 无码国模国产在线观看 | 欧美亚洲日韩国产人成在线播放 | 国产又爽又猛又粗的视频a片 | 色窝窝无码一区二区三区色欲 | 18禁止看的免费污网站 | 18黄暴禁片在线观看 | 色欲久久久天天天综合网精品 | 精品少妇爆乳无码av无码专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 日韩少妇白浆无码系列 | 久青草影院在线观看国产 | 自拍偷自拍亚洲精品被多人伦好爽 | 正在播放老肥熟妇露脸 | 久久天天躁夜夜躁狠狠 | 精品国产av色一区二区深夜久久 | 国产午夜无码视频在线观看 | 亚洲精品一区三区三区在线观看 | 久久久久成人精品免费播放动漫 | 国产成人综合美国十次 | 国产偷抇久久精品a片69 | 草草网站影院白丝内射 | 曰本女人与公拘交酡免费视频 | 日本肉体xxxx裸交 | 国产免费久久久久久无码 | 欧洲vodafone精品性 | 久久精品成人欧美大片 | 伊人久久婷婷五月综合97色 | 人妻无码αv中文字幕久久琪琪布 | 天堂无码人妻精品一区二区三区 | 日本高清一区免费中文视频 | 国产精品办公室沙发 | 18精品久久久无码午夜福利 | 伦伦影院午夜理论片 | 狠狠躁日日躁夜夜躁2020 | 久久精品国产亚洲精品 | 欧美肥老太牲交大战 | 妺妺窝人体色www在线小说 | 久久综合给久久狠狠97色 | 东京无码熟妇人妻av在线网址 | 小鲜肉自慰网站xnxx | ass日本丰满熟妇pics | 精品欧洲av无码一区二区三区 | 亚洲最大成人网站 | 学生妹亚洲一区二区 | 国产午夜无码视频在线观看 | 人妻尝试又大又粗久久 | 亚洲熟熟妇xxxx | 无套内谢老熟女 | 国产精品永久免费视频 | 国产成人无码区免费内射一片色欲 | 亚洲精品中文字幕乱码 | 漂亮人妻洗澡被公强 日日躁 | 美女黄网站人色视频免费国产 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲毛片av日韩av无码 | 4hu四虎永久在线观看 | 日韩成人一区二区三区在线观看 | 嫩b人妻精品一区二区三区 | 中文无码成人免费视频在线观看 | 无码任你躁久久久久久久 | 丝袜美腿亚洲一区二区 | 亚洲精品无码人妻无码 | 99久久精品日本一区二区免费 | 国产亚洲精品久久久久久久 | 激情国产av做激情国产爱 | 最新国产麻豆aⅴ精品无码 | 亚洲啪av永久无码精品放毛片 | 精品久久久中文字幕人妻 | 丰满护士巨好爽好大乳 | 免费观看黄网站 | 欧美日韩一区二区三区自拍 | 老司机亚洲精品影院无码 | 久久视频在线观看精品 | 玩弄中年熟妇正在播放 | 国内少妇偷人精品视频免费 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 乱人伦人妻中文字幕无码久久网 | 成熟妇人a片免费看网站 | 日韩人妻少妇一区二区三区 | 成人无码视频在线观看网站 | 玩弄中年熟妇正在播放 | 精品欧美一区二区三区久久久 | 午夜免费福利小电影 | 国产国语老龄妇女a片 | 精品国偷自产在线 | 国语精品一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 夫妻免费无码v看片 | 国产亚洲精品久久久久久 | 98国产精品综合一区二区三区 | 波多野42部无码喷潮在线 | 99在线 | 亚洲 | 国产成人无码专区 | 天天躁日日躁狠狠躁免费麻豆 | 久久久久成人精品免费播放动漫 | 国产亚洲精品久久久久久大师 | 日本一区二区三区免费播放 | 国产精品无码一区二区三区不卡 | 婷婷丁香五月天综合东京热 | 澳门永久av免费网站 | 无码国内精品人妻少妇 | 久久精品国产亚洲精品 | 亚洲熟妇自偷自拍另类 | 中文亚洲成a人片在线观看 | 丝袜 中出 制服 人妻 美腿 | 日本大香伊一区二区三区 | 高中生自慰www网站 | 欧美 亚洲 国产 另类 | 强伦人妻一区二区三区视频18 | 国产精品久久久久久无码 | 亚洲成av人片在线观看无码不卡 | 色婷婷久久一区二区三区麻豆 | 国产福利视频一区二区 | 99精品国产综合久久久久五月天 | 久久久中文字幕日本无吗 | 欧美高清在线精品一区 | 亚洲一区av无码专区在线观看 | 国产97色在线 | 免 | 亚洲а∨天堂久久精品2021 | 久久人人爽人人爽人人片ⅴ | 亚洲中文字幕无码中文字在线 | 亚洲一区二区三区四区 | 免费人成网站视频在线观看 | 精品久久久久香蕉网 | 天天av天天av天天透 | 亚洲熟熟妇xxxx | 搡女人真爽免费视频大全 | 露脸叫床粗话东北少妇 | 在线视频网站www色 | 伊人色综合久久天天小片 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 亚洲 欧美 激情 小说 另类 | 奇米影视888欧美在线观看 | 亚洲综合色区中文字幕 | 国产精品久久久久无码av色戒 | 97色伦图片97综合影院 | 荫蒂添的好舒服视频囗交 | 亚洲成a人片在线观看无码3d | 国产内射爽爽大片视频社区在线 | 久久久久成人精品免费播放动漫 | 7777奇米四色成人眼影 | 久久 国产 尿 小便 嘘嘘 | 美女毛片一区二区三区四区 | 荫蒂添的好舒服视频囗交 | 久久精品国产日本波多野结衣 | 国产av人人夜夜澡人人爽麻豆 | 国产精品美女久久久 | 日韩亚洲欧美中文高清在线 | 国产精品毛片一区二区 | 亚洲综合无码一区二区三区 | 奇米影视888欧美在线观看 | 中文字幕无码视频专区 | 亚洲国产精品美女久久久久 | 丰满少妇熟乱xxxxx视频 | 国产猛烈高潮尖叫视频免费 | 又色又爽又黄的美女裸体网站 | 中文字幕色婷婷在线视频 | 成人亚洲精品久久久久 | 久久国产精品精品国产色婷婷 | 国产女主播喷水视频在线观看 | 人妻少妇被猛烈进入中文字幕 | 无码吃奶揉捏奶头高潮视频 | 伊人久久婷婷五月综合97色 | 在线精品亚洲一区二区 | 亚洲天堂2017无码中文 | 色一情一乱一伦一区二区三欧美 | 精品国产青草久久久久福利 | 亚洲の无码国产の无码步美 | 精品乱子伦一区二区三区 | 亚洲精品久久久久久久久久久 | 亚洲精品美女久久久久久久 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产成人精品一区二区在线小狼 | 国产精品久久久av久久久 | 成人欧美一区二区三区黑人免费 | 亚洲日本va中文字幕 | 亚洲色在线无码国产精品不卡 | 亚洲一区二区观看播放 | 国产免费观看黄av片 | 蜜桃视频插满18在线观看 | 青青草原综合久久大伊人精品 | 亚洲综合无码一区二区三区 | 欧美怡红院免费全部视频 | 色综合视频一区二区三区 | 国内揄拍国内精品人妻 | 国产女主播喷水视频在线观看 | 国产成人综合色在线观看网站 | 欧美肥老太牲交大战 | 日日碰狠狠躁久久躁蜜桃 | 国产av久久久久精东av | 亚洲精品鲁一鲁一区二区三区 | 性欧美牲交在线视频 | 日韩在线不卡免费视频一区 | а√资源新版在线天堂 | 欧美黑人性暴力猛交喷水 | 国产乱人伦偷精品视频 | 成人免费视频视频在线观看 免费 | 免费观看的无遮挡av | 国产精品亚洲五月天高清 | 性色欲情网站iwww九文堂 | 内射后入在线观看一区 | 国产av人人夜夜澡人人爽麻豆 | 伊人久久大香线蕉亚洲 | 精品久久久久香蕉网 | 少妇被粗大的猛进出69影院 | 性啪啪chinese东北女人 | 亚洲精品国产第一综合99久久 | 少妇愉情理伦片bd | 日韩精品无码免费一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 国产精品无码一区二区桃花视频 | 欧美熟妇另类久久久久久不卡 | 人妻aⅴ无码一区二区三区 | 亚洲成a人片在线观看无码 | 无码一区二区三区在线观看 | 成人性做爰aaa片免费看不忠 | 高潮喷水的毛片 | 色老头在线一区二区三区 | 亚洲精品午夜无码电影网 | 波多野结衣aⅴ在线 | 欧美熟妇另类久久久久久不卡 | 色综合视频一区二区三区 | 色偷偷人人澡人人爽人人模 | 亚洲s码欧洲m码国产av | 久久久久亚洲精品中文字幕 | 永久黄网站色视频免费直播 | 麻豆精品国产精华精华液好用吗 | 国产av一区二区精品久久凹凸 | 一区二区三区高清视频一 | 超碰97人人做人人爱少妇 | 图片小说视频一区二区 | 十八禁真人啪啪免费网站 | 在线看片无码永久免费视频 | 妺妺窝人体色www婷婷 | 欧美性猛交xxxx富婆 | 红桃av一区二区三区在线无码av | 精品久久久无码中文字幕 | 少妇性荡欲午夜性开放视频剧场 | 久久精品国产一区二区三区 | 成人精品天堂一区二区三区 | 强奷人妻日本中文字幕 | 永久黄网站色视频免费直播 | 国产口爆吞精在线视频 | 亚洲第一无码av无码专区 | 荫蒂添的好舒服视频囗交 | 国产精品久久久午夜夜伦鲁鲁 | 久青草影院在线观看国产 | 精品少妇爆乳无码av无码专区 | 波多野结衣高清一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久久zyz资源站无码中文动漫 | 国产一区二区三区日韩精品 | 亚洲精品国产精品乱码视色 | 日本护士xxxxhd少妇 | 亚洲天堂2017无码 | 妺妺窝人体色www婷婷 | 无码国内精品人妻少妇 | 国产精品亚洲综合色区韩国 | 1000部啪啪未满十八勿入下载 | 久久久久免费精品国产 | 久久久久av无码免费网 | 国产成人久久精品流白浆 | 国产精品久久久久无码av色戒 | 俄罗斯老熟妇色xxxx | 国产偷国产偷精品高清尤物 | 国产偷抇久久精品a片69 | 激情综合激情五月俺也去 | 性生交大片免费看女人按摩摩 | 国产精品办公室沙发 | 久久久精品国产sm最大网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品资源一区二区 | 少妇激情av一区二区 | 狠狠色色综合网站 | 成人aaa片一区国产精品 | 亚洲欧美国产精品专区久久 | 久久午夜无码鲁丝片秋霞 | 亚洲一区二区三区播放 | 性欧美牲交在线视频 | 无码人妻精品一区二区三区下载 | 久久国产精品偷任你爽任你 | 国产精品美女久久久 | 国产性生大片免费观看性 | 欧美放荡的少妇 | 色一情一乱一伦 | 国产偷国产偷精品高清尤物 | 精品午夜福利在线观看 | 无码人妻av免费一区二区三区 | 亚洲国产欧美国产综合一区 | 3d动漫精品啪啪一区二区中 | 国产精品久久久久7777 | 亚洲成色www久久网站 | 免费国产成人高清在线观看网站 | 中文字幕中文有码在线 | 亚洲色在线无码国产精品不卡 | 无码成人精品区在线观看 | 久久久久免费看成人影片 | 午夜福利不卡在线视频 | 国产免费观看黄av片 | 色综合久久88色综合天天 | 欧美成人家庭影院 | 亚洲国产精品无码久久久久高潮 | 欧美国产日产一区二区 | 欧美xxxx黑人又粗又长 | 亚洲码国产精品高潮在线 | 婷婷丁香五月天综合东京热 | 日韩精品无码一本二本三本色 | 丰满人妻被黑人猛烈进入 | 亚洲国产精华液网站w | 人妻少妇被猛烈进入中文字幕 | 亚洲国产精品美女久久久久 | 久久 国产 尿 小便 嘘嘘 | 国产精品亚洲综合色区韩国 | 中文久久乱码一区二区 | 成人一在线视频日韩国产 | 欧美人与牲动交xxxx | 四虎永久在线精品免费网址 | ass日本丰满熟妇pics | 天下第一社区视频www日本 | 国语精品一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 国色天香社区在线视频 | 5858s亚洲色大成网站www | 婷婷色婷婷开心五月四房播播 | 国产av人人夜夜澡人人爽麻豆 | 亚洲成av人片天堂网无码】 | 国产婷婷色一区二区三区在线 | 国内精品一区二区三区不卡 | 午夜精品一区二区三区在线观看 | 双乳奶水饱满少妇呻吟 | 国产精品18久久久久久麻辣 | 天天躁日日躁狠狠躁免费麻豆 | 特级做a爰片毛片免费69 | 日本护士xxxxhd少妇 | 人人妻人人澡人人爽欧美一区 | 人妻少妇精品无码专区动漫 | 澳门永久av免费网站 | 色 综合 欧美 亚洲 国产 | 国语精品一区二区三区 | 亚洲a无码综合a国产av中文 | 99国产欧美久久久精品 | 俺去俺来也www色官网 | 少妇无码一区二区二三区 | 欧美精品国产综合久久 | 日韩 欧美 动漫 国产 制服 | 自拍偷自拍亚洲精品10p | 丰满诱人的人妻3 | 亚洲精品午夜国产va久久成人 | 亚洲欧美日韩综合久久久 | 大肉大捧一进一出好爽视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 在线a亚洲视频播放在线观看 | 国内精品一区二区三区不卡 | 黑人大群体交免费视频 | 国产精品二区一区二区aⅴ污介绍 | 无码帝国www无码专区色综合 | av在线亚洲欧洲日产一区二区 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲aⅴ无码成人网站国产app | 亚洲区欧美区综合区自拍区 | 四虎永久在线精品免费网址 | 免费国产成人高清在线观看网站 | 久久99久久99精品中文字幕 | 99麻豆久久久国产精品免费 | 欧美 日韩 人妻 高清 中文 | 国产av一区二区精品久久凹凸 | 国产另类ts人妖一区二区 | 国产精品亚洲一区二区三区喷水 | 麻豆蜜桃av蜜臀av色欲av | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产精品欧美成人 | 久久人妻内射无码一区三区 | 亚洲成a人片在线观看无码3d | 玩弄人妻少妇500系列视频 | 中文精品久久久久人妻不卡 | 亚洲呦女专区 | 麻豆国产人妻欲求不满 | 正在播放东北夫妻内射 | 亚洲欧洲中文日韩av乱码 | 亚洲日韩一区二区三区 | 欧洲欧美人成视频在线 | 国产 精品 自在自线 | 国产成人无码a区在线观看视频app | 欧洲精品码一区二区三区免费看 | 黑人大群体交免费视频 | 精品一区二区三区波多野结衣 | 美女扒开屁股让男人桶 | 亚洲日本va中文字幕 | 野狼第一精品社区 | 中文字幕色婷婷在线视频 | 粗大的内捧猛烈进出视频 | 久久午夜无码鲁丝片 | 日韩无码专区 | 日产国产精品亚洲系列 | 男人扒开女人内裤强吻桶进去 | 国产成人无码区免费内射一片色欲 | 色欲久久久天天天综合网精品 | 曰韩无码二三区中文字幕 | 熟女少妇人妻中文字幕 | 亚洲小说图区综合在线 | 久久综合狠狠综合久久综合88 | 波多野结衣一区二区三区av免费 | 亚洲综合久久一区二区 | 国产成人精品久久亚洲高清不卡 | 欧美精品无码一区二区三区 | 人人澡人摸人人添 | 免费人成网站视频在线观看 | 在线精品国产一区二区三区 | 双乳奶水饱满少妇呻吟 | 99在线 | 亚洲 | 在线天堂新版最新版在线8 | 最新版天堂资源中文官网 | 欧美兽交xxxx×视频 | 漂亮人妻洗澡被公强 日日躁 | 夜先锋av资源网站 | 无码精品人妻一区二区三区av | 色婷婷av一区二区三区之红樱桃 | 蜜臀av无码人妻精品 | 人妻人人添人妻人人爱 | av香港经典三级级 在线 | 天海翼激烈高潮到腰振不止 | 爆乳一区二区三区无码 | 内射欧美老妇wbb | 亚洲精品午夜国产va久久成人 | 在线 国产 欧美 亚洲 天堂 | 亚洲第一无码av无码专区 | 色五月五月丁香亚洲综合网 | 一本色道婷婷久久欧美 | 亚洲精品午夜国产va久久成人 | 国产在线精品一区二区高清不卡 | 国产97人人超碰caoprom | 国产精品亚洲专区无码不卡 | 蜜桃臀无码内射一区二区三区 | 18精品久久久无码午夜福利 | 又黄又爽又色的视频 | 97资源共享在线视频 | 午夜丰满少妇性开放视频 | 精品久久久久久亚洲精品 | www一区二区www免费 | 国产精品无套呻吟在线 | 亚洲爆乳无码专区 | 最新版天堂资源中文官网 | 亚洲精品午夜国产va久久成人 | 国产免费无码一区二区视频 | 131美女爱做视频 | 国产乡下妇女做爰 | 欧美兽交xxxx×视频 | yw尤物av无码国产在线观看 | 欧美性生交活xxxxxdddd | 日本高清一区免费中文视频 | 午夜嘿嘿嘿影院 | 六月丁香婷婷色狠狠久久 | 日本熟妇乱子伦xxxx | 无码av岛国片在线播放 | 国产人成高清在线视频99最全资源 | 成人精品视频一区二区三区尤物 | 精品成在人线av无码免费看 | 99久久99久久免费精品蜜桃 | 亚洲精品成a人在线观看 | 亚洲欧美国产精品久久 | 色综合久久久无码网中文 | 久在线观看福利视频 | 亚洲国产高清在线观看视频 | 亚洲自偷自拍另类第1页 | 国模大胆一区二区三区 | 一本久道久久综合婷婷五月 | 捆绑白丝粉色jk震动捧喷白浆 | 四虎影视成人永久免费观看视频 | 色婷婷综合中文久久一本 | 国产精品第一国产精品 | 国产亚洲欧美在线专区 | 女高中生第一次破苞av | 特大黑人娇小亚洲女 | 激情五月综合色婷婷一区二区 | 又粗又大又硬毛片免费看 | 欧美变态另类xxxx | 亚洲精品久久久久avwww潮水 | 丰满人妻被黑人猛烈进入 | 日欧一片内射va在线影院 | 国产精品18久久久久久麻辣 | 国产精品亚洲lv粉色 | 日本va欧美va欧美va精品 | 色 综合 欧美 亚洲 国产 | 精品无码一区二区三区爱欲 | 国产精品久久久久久久9999 | 波多野结衣av一区二区全免费观看 | a在线观看免费网站大全 | 99视频精品全部免费免费观看 | 天天摸天天碰天天添 | 国产艳妇av在线观看果冻传媒 | 国产婷婷色一区二区三区在线 | 少妇性俱乐部纵欲狂欢电影 | 国产性生交xxxxx无码 | 性欧美熟妇videofreesex | 高潮毛片无遮挡高清免费 | 久久99精品久久久久婷婷 | 在线欧美精品一区二区三区 | 香港三级日本三级妇三级 | 亚洲国产欧美在线成人 | 国产精华av午夜在线观看 | 性史性农村dvd毛片 | 男人扒开女人内裤强吻桶进去 | 无码播放一区二区三区 | 麻豆精品国产精华精华液好用吗 | 亚洲中文字幕无码一久久区 | 日韩av无码中文无码电影 | 玩弄人妻少妇500系列视频 | 在线观看国产一区二区三区 | 澳门永久av免费网站 | 动漫av一区二区在线观看 | 国产精品无套呻吟在线 | 1000部夫妻午夜免费 | 无人区乱码一区二区三区 | 亚洲天堂2017无码中文 | 欧美成人高清在线播放 | 鲁鲁鲁爽爽爽在线视频观看 | 人妻无码αv中文字幕久久琪琪布 | 国产精品无码一区二区桃花视频 | 色婷婷久久一区二区三区麻豆 | 一本久道久久综合婷婷五月 | 东京热无码av男人的天堂 | 中文字幕日韩精品一区二区三区 | 97无码免费人妻超级碰碰夜夜 | 国产又爽又黄又刺激的视频 | 国产无av码在线观看 | 色 综合 欧美 亚洲 国产 | 久久久精品成人免费观看 | 在线看片无码永久免费视频 | 日产国产精品亚洲系列 | 亚洲熟女一区二区三区 | 精品无人国产偷自产在线 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲人亚洲人成电影网站色 | 麻豆果冻传媒2021精品传媒一区下载 | 少妇性荡欲午夜性开放视频剧场 | 狠狠躁日日躁夜夜躁2020 | 老司机亚洲精品影院无码 | 欧美日韩一区二区免费视频 | 国产婷婷色一区二区三区在线 | 国内精品久久毛片一区二区 | 无码人妻精品一区二区三区不卡 | 女人和拘做爰正片视频 | 人人妻人人澡人人爽欧美精品 | 波多野结衣一区二区三区av免费 | 粉嫩少妇内射浓精videos | 水蜜桃亚洲一二三四在线 | 最近免费中文字幕中文高清百度 | 1000部啪啪未满十八勿入下载 | 日日摸日日碰夜夜爽av | 丰腴饱满的极品熟妇 | 久久久久久亚洲精品a片成人 | 美女扒开屁股让男人桶 | 精品欧美一区二区三区久久久 | 少妇性荡欲午夜性开放视频剧场 | 日韩欧美中文字幕在线三区 | 亚洲 日韩 欧美 成人 在线观看 | 久久久久成人片免费观看蜜芽 | 给我免费的视频在线观看 | 麻豆av传媒蜜桃天美传媒 | 国产猛烈高潮尖叫视频免费 | 久热国产vs视频在线观看 | 激情国产av做激情国产爱 | 色综合久久88色综合天天 | 久久精品人妻少妇一区二区三区 | 狂野欧美激情性xxxx | 国产精品人人爽人人做我的可爱 | 亚洲一区二区三区 | 少妇一晚三次一区二区三区 | 亚洲爆乳精品无码一区二区三区 | 在线观看欧美一区二区三区 | 荫蒂添的好舒服视频囗交 | www成人国产高清内射 | 精品人妻人人做人人爽夜夜爽 | 夜夜夜高潮夜夜爽夜夜爰爰 | 2019午夜福利不卡片在线 | a在线观看免费网站大全 | 天天做天天爱天天爽综合网 | 男女下面进入的视频免费午夜 | 亚洲人亚洲人成电影网站色 | 又紧又大又爽精品一区二区 | 日本一卡2卡3卡四卡精品网站 | 久久精品丝袜高跟鞋 | 真人与拘做受免费视频一 | 无遮挡国产高潮视频免费观看 | 国产精品高潮呻吟av久久4虎 | 内射爽无广熟女亚洲 | 香港三级日本三级妇三级 | 色婷婷av一区二区三区之红樱桃 | 国产成人无码a区在线观看视频app | 高清不卡一区二区三区 | 日韩少妇白浆无码系列 | 熟妇人妻激情偷爽文 | 欧美 亚洲 国产 另类 | 中文字幕+乱码+中文字幕一区 | 日本一卡二卡不卡视频查询 | 亚洲精品一区国产 | 宝宝好涨水快流出来免费视频 | 欧美35页视频在线观看 | 国精品人妻无码一区二区三区蜜柚 | 国产在线精品一区二区高清不卡 | 亚洲国产av精品一区二区蜜芽 | 少妇愉情理伦片bd | 乱人伦人妻中文字幕无码久久网 | 精品国产一区二区三区av 性色 | 俺去俺来也www色官网 | 中文字幕精品av一区二区五区 | 亚洲人成网站免费播放 | 国产精品人人爽人人做我的可爱 | 久久久久人妻一区精品色欧美 | 欧美人与物videos另类 | 理论片87福利理论电影 | 婷婷五月综合缴情在线视频 | 午夜嘿嘿嘿影院 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品久久久久久亚洲毛片 | 狠狠色噜噜狠狠狠狠7777米奇 | 女人被爽到呻吟gif动态图视看 | 亚洲精品一区二区三区在线 | 亚洲一区二区三区在线观看网站 | 国产情侣作爱视频免费观看 | 曰本女人与公拘交酡免费视频 | 欧美性生交活xxxxxdddd | 亚洲成a人一区二区三区 | 日日天日日夜日日摸 | v一区无码内射国产 | 丝袜美腿亚洲一区二区 | 大乳丰满人妻中文字幕日本 | 国产欧美熟妇另类久久久 | 国产精品久久国产精品99 | 奇米影视888欧美在线观看 | 图片区 小说区 区 亚洲五月 | 天天爽夜夜爽夜夜爽 | 99久久人妻精品免费一区 | 亚洲欧美国产精品专区久久 | 日韩av无码中文无码电影 | 在线成人www免费观看视频 | 亚洲国精产品一二二线 | 国内精品一区二区三区不卡 | 亚洲色www成人永久网址 | 人妻体内射精一区二区三四 | 免费播放一区二区三区 | 牲欲强的熟妇农村老妇女 | 高清不卡一区二区三区 | 亚洲熟妇色xxxxx欧美老妇y | 狠狠色色综合网站 | 亚洲国产精品久久久天堂 | 国产在线aaa片一区二区99 | 国内少妇偷人精品视频 | 图片区 小说区 区 亚洲五月 | 水蜜桃亚洲一二三四在线 | 超碰97人人射妻 | 色老头在线一区二区三区 | 亚洲国产成人a精品不卡在线 | 搡女人真爽免费视频大全 | 思思久久99热只有频精品66 | 成人影院yy111111在线观看 | 爆乳一区二区三区无码 | 无码纯肉视频在线观看 | 少妇被黑人到高潮喷出白浆 | 国产猛烈高潮尖叫视频免费 | 少妇性荡欲午夜性开放视频剧场 | 免费视频欧美无人区码 | 国产国语老龄妇女a片 | 亚洲日韩一区二区三区 | 日韩精品无码一区二区中文字幕 | 亚洲精品中文字幕久久久久 | 人妻尝试又大又粗久久 | 丰满妇女强制高潮18xxxx | 国产精品沙发午睡系列 | 捆绑白丝粉色jk震动捧喷白浆 | 国产精品视频免费播放 | 日本一卡二卡不卡视频查询 | 欧美日韩久久久精品a片 | 97色伦图片97综合影院 | 成人欧美一区二区三区黑人免费 | 欧美乱妇无乱码大黄a片 | 老子影院午夜精品无码 | 亚洲综合精品香蕉久久网 | 日本xxxx色视频在线观看免费 | 一本色道婷婷久久欧美 | 88国产精品欧美一区二区三区 | 麻豆国产人妻欲求不满谁演的 | 国产三级久久久精品麻豆三级 | 久久久久亚洲精品男人的天堂 | 欧美精品一区二区精品久久 | 亚洲综合伊人久久大杳蕉 | 水蜜桃色314在线观看 | 日韩精品久久久肉伦网站 | 亚拍精品一区二区三区探花 | 荡女精品导航 | 粉嫩少妇内射浓精videos | 日本成熟视频免费视频 | 国产农村妇女高潮大叫 | 少妇人妻偷人精品无码视频 | 久久人人爽人人人人片 | 日韩精品无码一区二区中文字幕 | 国产精品久久国产精品99 | 波多野结衣av在线观看 | 日本一区二区三区免费高清 | 少妇太爽了在线观看 | 中文字幕无线码免费人妻 | 亚洲爆乳无码专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 综合激情五月综合激情五月激情1 | 美女扒开屁股让男人桶 | 国语自产偷拍精品视频偷 | 丝袜 中出 制服 人妻 美腿 | 99er热精品视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 无码福利日韩神码福利片 | 国内精品一区二区三区不卡 | 在线看片无码永久免费视频 | 亚洲а∨天堂久久精品2021 | 玩弄人妻少妇500系列视频 | 国内少妇偷人精品视频免费 | 午夜丰满少妇性开放视频 | 欧美日韩精品 | 国产精品毛片一区二区 | 亚洲综合精品香蕉久久网 | 精品欧美一区二区三区久久久 | 中文无码精品a∨在线观看不卡 | 国内精品人妻无码久久久影院 | 国产疯狂伦交大片 | 亚洲国产精品久久久天堂 | 亚洲男女内射在线播放 | 波多野42部无码喷潮在线 | 高潮毛片无遮挡高清免费 | 中文字幕乱码中文乱码51精品 | 免费人成网站视频在线观看 | 国产人成高清在线视频99最全资源 | 水蜜桃色314在线观看 | 中文字幕无码免费久久9一区9 | 亚洲综合伊人久久大杳蕉 | 亚洲中文字幕无码一久久区 | av在线亚洲欧洲日产一区二区 | 色爱情人网站 | 国产精品怡红院永久免费 | 好爽又高潮了毛片免费下载 | 久久99国产综合精品 | 国产婷婷色一区二区三区在线 | 人妻少妇被猛烈进入中文字幕 | 日韩欧美中文字幕在线三区 | 暴力强奷在线播放无码 | 一个人看的视频www在线 | 最新国产乱人伦偷精品免费网站 | 爽爽影院免费观看 | 国产亚洲人成在线播放 | 国产亚洲人成在线播放 | 最新国产乱人伦偷精品免费网站 | 久久国语露脸国产精品电影 | 久久99精品国产麻豆 | 乌克兰少妇xxxx做受 | 日本大乳高潮视频在线观看 | 国产香蕉尹人视频在线 | 一本无码人妻在中文字幕免费 | 久久久久久九九精品久 | 兔费看少妇性l交大片免费 | 四虎国产精品一区二区 | 人妻中文无码久热丝袜 | 久久人妻内射无码一区三区 | 高清国产亚洲精品自在久久 | 欧美精品免费观看二区 | 美女扒开屁股让男人桶 | 欧美日韩精品 | 无码毛片视频一区二区本码 | 国产黄在线观看免费观看不卡 | 人妻aⅴ无码一区二区三区 | 俺去俺来也在线www色官网 | 人妻少妇被猛烈进入中文字幕 | 九九在线中文字幕无码 | 乌克兰少妇性做爰 | 国产无遮挡吃胸膜奶免费看 | 波多野42部无码喷潮在线 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美激情内射喷水高潮 | 精品无人区无码乱码毛片国产 | 狠狠噜狠狠狠狠丁香五月 | 成熟女人特级毛片www免费 | 老头边吃奶边弄进去呻吟 | 日韩精品无码一本二本三本色 | 久久人人爽人人人人片 | 国产在线aaa片一区二区99 | 亚洲一区二区观看播放 | 人妻少妇精品视频专区 | 国产在线aaa片一区二区99 | 色欲人妻aaaaaaa无码 | 欧美性生交活xxxxxdddd | √天堂中文官网8在线 | 精品久久久无码中文字幕 | 丝袜 中出 制服 人妻 美腿 | 国精产品一品二品国精品69xx | av香港经典三级级 在线 | 欧美猛少妇色xxxxx | 少妇无码av无码专区在线观看 | 玩弄中年熟妇正在播放 | 樱花草在线播放免费中文 | 国产办公室秘书无码精品99 | 妺妺窝人体色www婷婷 | 男女猛烈xx00免费视频试看 | 无码精品人妻一区二区三区av | 久久这里只有精品视频9 | 老头边吃奶边弄进去呻吟 | 国产美女精品一区二区三区 | 日韩av无码一区二区三区 | 亚洲经典千人经典日产 | 久久99精品国产麻豆蜜芽 | 亚洲爆乳大丰满无码专区 | 好爽又高潮了毛片免费下载 | 97色伦图片97综合影院 | 亚洲精品综合一区二区三区在线 | 国产无套内射久久久国产 | 国产精品18久久久久久麻辣 | 国产精品福利视频导航 | 国产精品久久福利网站 | 日韩精品无码一本二本三本色 | 久久久久亚洲精品中文字幕 | 欧美丰满熟妇xxxx | 人人澡人人妻人人爽人人蜜桃 | 国产三级精品三级男人的天堂 | 99国产精品白浆在线观看免费 | 国产精品爱久久久久久久 | 久久精品人人做人人综合试看 | 扒开双腿吃奶呻吟做受视频 | 蜜桃av抽搐高潮一区二区 | 老熟女重囗味hdxx69 | 欧美性生交xxxxx久久久 | 免费观看的无遮挡av | 精品无码成人片一区二区98 | 亚洲 日韩 欧美 成人 在线观看 | 久久精品国产精品国产精品污 | 无码人妻精品一区二区三区不卡 | 76少妇精品导航 | a国产一区二区免费入口 | 丰满岳乱妇在线观看中字无码 | 国产成人av免费观看 | 精品亚洲成av人在线观看 | 两性色午夜视频免费播放 | 久久午夜夜伦鲁鲁片无码免费 | 人人妻人人澡人人爽人人精品浪潮 | 婷婷综合久久中文字幕蜜桃三电影 | 在线 国产 欧美 亚洲 天堂 | 国产无套内射久久久国产 | 亚洲国产一区二区三区在线观看 | 午夜嘿嘿嘿影院 | 丝袜美腿亚洲一区二区 | 久久97精品久久久久久久不卡 | 夫妻免费无码v看片 | 在线看片无码永久免费视频 | 精品偷自拍另类在线观看 | 色一情一乱一伦一区二区三欧美 | www一区二区www免费 | 色欲av亚洲一区无码少妇 | 亚洲天堂2017无码 | 粗大的内捧猛烈进出视频 | 特黄特色大片免费播放器图片 | 亚欧洲精品在线视频免费观看 | 国产色视频一区二区三区 | 亚洲色在线无码国产精品不卡 | 99视频精品全部免费免费观看 | 澳门永久av免费网站 | 国产成人精品无码播放 | 丁香花在线影院观看在线播放 | 十八禁真人啪啪免费网站 | 国产色精品久久人妻 | 国产精品自产拍在线观看 | 欧美 亚洲 国产 另类 | 精品午夜福利在线观看 | 久久综合九色综合97网 | 亚洲色无码一区二区三区 | 亚洲中文无码av永久不收费 | 日本精品人妻无码免费大全 | 日日夜夜撸啊撸 | 亚洲精品久久久久中文第一幕 | 亚洲国产欧美国产综合一区 | 麻豆成人精品国产免费 | 精品一区二区三区无码免费视频 | 日本一区二区三区免费播放 | 欧美性生交xxxxx久久久 | 亚洲性无码av中文字幕 | 乱中年女人伦av三区 | 无码福利日韩神码福利片 | 欧美日韩一区二区综合 | 青草青草久热国产精品 | 水蜜桃亚洲一二三四在线 | 国产av一区二区三区最新精品 | 妺妺窝人体色www在线小说 | 色婷婷欧美在线播放内射 | 1000部夫妻午夜免费 | 波多野结衣av在线观看 | 国产电影无码午夜在线播放 | 亚洲色欲久久久综合网东京热 | 国产在线无码精品电影网 | 无码精品人妻一区二区三区av | 国产午夜福利亚洲第一 | 97久久精品无码一区二区 | 亚洲欧洲日本无在线码 | 动漫av一区二区在线观看 | 免费男性肉肉影院 | 欧美 日韩 亚洲 在线 | 99re在线播放 | 精品无码一区二区三区的天堂 | 亚洲中文无码av永久不收费 | 牲欲强的熟妇农村老妇女视频 | 国产极品美女高潮无套在线观看 | 久热国产vs视频在线观看 | 人人妻人人澡人人爽欧美精品 | 网友自拍区视频精品 | 东京热一精品无码av | 内射老妇bbwx0c0ck | 精品人妻中文字幕有码在线 | 欧美成人高清在线播放 | 亚洲日本一区二区三区在线 | 欧美日本精品一区二区三区 | 少妇高潮喷潮久久久影院 | 亚洲自偷自偷在线制服 |