3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HugePages 大内存页

發(fā)布時(shí)間:2023/12/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HugePages 大内存页 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HugePages ?大內(nèi)存頁(yè)

Linux HugePage 特性??http://blog.csdn.net/leshami/article/details/8777639


? ? HugePage,就是指的大頁(yè)內(nèi)存管理方式。與傳統(tǒng)的4kb的普通頁(yè)管理方式相比,HugePage為管理大內(nèi)存(8GB以上)更為高效。本文描述了什么是HugePage,以及HugePage的一些特性。

?

1、Hugepage的引入
??? 操作系統(tǒng)對(duì)于數(shù)據(jù)的存取直接從物理內(nèi)存要比從磁盤(pán)讀寫(xiě)數(shù)據(jù)要快的多,但是物理內(nèi)存是有限的,這樣就引出了物理內(nèi)存與虛擬內(nèi)存的概念。虛擬內(nèi)存就是為了滿足物理內(nèi)存的不足而提出的策略,它是利用磁盤(pán)空間虛擬出的一塊邏輯內(nèi)存,這部分磁盤(pán)空間Windows下稱(chēng)之為虛擬內(nèi)存,Linux下被稱(chēng)為交換空間(Swap Space)。

?

????對(duì)于這個(gè)大內(nèi)存的管理(物理內(nèi)存+虛擬內(nèi)存),大多數(shù)操作系統(tǒng)采用了分段或分頁(yè)的方式進(jìn)行管理。分段是粗粒度的管理方式,而分頁(yè)則是細(xì)粒度管理方式,分頁(yè)方式可以避免內(nèi)存空間的浪費(fèi)。相應(yīng)地,也就存在內(nèi)存的物理地址與虛擬地址的概念。通過(guò)前面這兩種方式,CPU必須把虛擬地址轉(zhuǎn)換程物理內(nèi)存地址才能真正訪問(wèn)內(nèi)存。為了提高這個(gè)轉(zhuǎn)換效率,CPU會(huì)緩存最近的虛擬內(nèi)存地址和物理內(nèi)存地址的映射關(guān)系,并保存在一個(gè)由CPU維護(hù)的映射表中。為了盡量提高內(nèi)存的訪問(wèn)速度,需要在映射表中保存盡量多的映射關(guān)系。

?

????linux的內(nèi)存管理采取的是分頁(yè)存取機(jī)制,為了保證物理內(nèi)存能得到充分的利用,內(nèi)核會(huì)按照LRU算法在適當(dāng)?shù)臅r(shí)候?qū)⑽锢韮?nèi)存中不經(jīng)常使用的內(nèi)存頁(yè)自動(dòng)交換到虛擬內(nèi)存中,而將經(jīng)常使用的信息保留到物理內(nèi)存。通常情況下,Linux默認(rèn)情況下每頁(yè)是4K,這就意味著如果物理內(nèi)存很大,則映射表的條目將會(huì)非常多,會(huì)影響CPU的檢索效率。因?yàn)閮?nèi)存大小是固定的,為了減少映射表的條目,可采取的辦法只有增加頁(yè)的尺寸。因此Hugepage便因此而來(lái)。也就是打破傳統(tǒng)的小頁(yè)面的內(nèi)存管理方式,使用大頁(yè)面2m,4m,16m等等。如此一來(lái)映射條目則明顯減少。如果系統(tǒng)有大量的物理內(nèi)存(大于8G),則物理32位的操作系統(tǒng)還是64位的,都應(yīng)該使用Hugepage。

?

2、Hugepage的相關(guān)術(shù)語(yǔ)

Page Table:

????A page table is the data structure of a virtual memory system in an operating system to store the mapping between virtual addresses and physical addresses. This means that on a virtual memory system, the memory is accessed by first accessing a page table and then accessing the actual memory location implicitly.

????如前所述,page table也就是一種用于內(nèi)存管理的實(shí)現(xiàn)方式,用于物理地址到虛擬之間的映射。因此對(duì)于內(nèi)存的訪問(wèn),先是訪問(wèn)Page Table,然后根據(jù)Page Table 中的映射關(guān)系,隱式的轉(zhuǎn)移到物理地址來(lái)存取數(shù)據(jù)。

?

TLB:

????A Translation Lookaside Buffer (TLB) is a buffer (or cache) in a CPU that contains parts of the page table. This is a fixed size buffer being used to do virtual address translation faster.

????? CPU中的一塊固定大小的cache,包含了部分page table的映射關(guān)系,用于快速實(shí)現(xiàn)虛擬地址到物理地址的轉(zhuǎn)換。

?

hugetlb:

????This is an entry in the TLB that points to a HugePage (a large/big page larger than regular 4K and predefined in size). HugePages are implemented via hugetlb entries, i.e. we can say that a HugePage is handled by a "hugetlb page entry". The 'hugetlb" term is also (and mostly) used synonymously with a HugePage (See Note 261889.1). In this document the term "HugePage" is going to be used but keep in mind that mostly "hugetlb" refers to the same concept.

????hugetlb 是TLB中指向HugePage的一個(gè)entry(通常大于4k或預(yù)定義頁(yè)面大小)。 HugePage 通過(guò)hugetlb entries來(lái)實(shí)現(xiàn),也可以理解為HugePage 是hugetlb page entry的一個(gè)句柄。

?

hugetlbfs:

????This is a new in-memory filesystem like tmpfs and is presented by 2.6 kernel. Pages allocated on hugetlbfs type filesystem are allocated in HugePages.
????? 一個(gè)類(lèi)似于tmpfs的新的in-memory filesystem,在2.6內(nèi)核被提出。

?

3、常見(jiàn)的錯(cuò)誤概念
WRONG: HugePages is a method to be able to use large SGA on 32-bit VLM systems?
RIGHT: HugePages is a method to have larger pages where it is useful for working with very large memory. It is both useful in 32- and 64-bit configurations

?

WRONG: HugePages cannot be used without USE_INDIRECT_DATA_BUFFERS?
RIGHT: HugePages can be used without indirect buffers. 64-bit systems does not need to use indirect buffers to have a large buffer cache for the RDBMS instance and HugePages can be used there too.

?

WRONG: hugetlbfs means hugetlb?
RIGHT: hugetlbfs is a filesystem type **BUT** hugetlb is the mechanism employed in the back where hugetlb can be employed WITHOUT hugetlbfs

?

WRONG: hugetlbfs means hugepages?
RIGHT: hugetlbfs is a filesystem type **BUT** HugePages is the mechanism employed in the back (synonymously with hugetlb) where HugePages can be employed WITHOUT hugetlbfs.

?

4、Regular Pages 與 HugePages

a、Regular Pages

在下圖中有兩個(gè)不同的進(jìn)程,兩個(gè)進(jìn)程對(duì)于內(nèi)存的訪問(wèn)是首先訪問(wèn)本地的page table,而本地的page table又參照了system-wide table的page(也就是前面描述的TLB),最終system-wide table中的entry指向了實(shí)際的物理地址。圖中物理地址page size大小4kb。也可以看到進(jìn)程1和進(jìn)程2在system-wide table中都指向了page2,也就是同一個(gè)物理地址。Oracle sga中共享內(nèi)存的使用會(huì)出現(xiàn)上述情形。

?

b、Huge Pages

在下圖中,本地的page table 與system page table中都包含了huge page屬性。因此page table中的任意一個(gè)page可能使用了常規(guī)的page,
也有可能使用了huge page。同樣進(jìn)程1和進(jìn)程2都共享了其中的Hpage2。圖中的物理內(nèi)存常規(guī)的page size是4kb,huge page size 是4mb。

--Author : Robinson
--Blog?? :?http://blog.csdn.net/robinson_0612

?

5、huge page 的大小
huge page 的大小取決于所使用的操作系統(tǒng)的內(nèi)核版本以及不同的硬件平臺(tái)
可以使用$grep Hugepagesize /proc/meminfo來(lái)查看huge page 的大小
下面是不同平臺(tái)常用的huge page 的大小。
HW Platform????????????????????????Source Code Tree????????????? Kernel 2.4?????????? Kernel 2.6

-----------------??????????????????---------------------???????? ------------????????? -------------
Linux x86 (IA32)???????????????????i386????????????????????????? 4 MB????????????????? 4 MB *?
Linux x86-64 (AMD64, EM64T)??????? x86_64??????????????????????? 2 MB????????????????? 2 MB?
Linux Itanium (IA64)???????????????ia64????????????????????????? 256 MB?????? ???????? 256 MB?
IBM Power Based Linux (PPC64)??????ppc64/powerpc???????????????? N/A **??????? ??????? 16 MB?
IBM zSeries Based Linux????????????s390????????????????????????? N/A???????????????????1 MB?
IBM S/390 Based Linux??????????????s390????????????????????????? N/A????????????????? ?N/A

?

6、使用huge page的優(yōu)點(diǎn)
對(duì)于較大的系統(tǒng)內(nèi)存以及sga,使用hugepage可以極大程度的提高Oracle數(shù)據(jù)庫(kù)性能。


a、Not swappable

HugePages are not swappable. Therefore there is no page-in/page-out mechanism overhead.HugePages are universally regarded as pinned.

無(wú)需交換。也就是不存在頁(yè)面由于內(nèi)存空間不足而存在換入換出的問(wèn)題

?

b、Relief of TLB pressure
Hugepge uses fewer pages to cover the physical address space, so the size of “book keeping” (mapping from the virtual to the physical address) decreases, so it requiring fewer entries in the TLB
TLB entries will cover a larger part of the address space when use HugePages, there will be fewer TLB misses before the entire or most of the SGA is mapped in the SGA
Fewer TLB entries for the SGA also means more for other parts of the address space

減輕TLB的壓力,也就是降低了cpu cache可緩存的地址映射壓力。由于使用了huge page,相同的內(nèi)存大小情況下,管理的虛擬地址數(shù)量變少。
TLB entry可以包含更多的地址空間,cpu的尋址能力相應(yīng)的得到了增強(qiáng)。

?

c、Decreased page table overhead

Each page table entry can be as large as 64 bytes and if we are trying to handle 50GB of RAM, the pagetable will be approximately 800MB in size which is practically will not fit in 880MB size lowmem (in 2.4 kernels - the page table is not necessarily in lowmem in 2.6 kernels) considering the other uses of lowmem. When 95% of memory is accessed via 256MB hugepages, this can work with a page table of approximately 40MB in total. See also Document 361468.1.

降低page table負(fù)載,對(duì)于普通的page,每個(gè)entry需要64bytes進(jìn)行管理,對(duì)于50gb的內(nèi)存,管理這些entry,需要800mb的大小
(50*1024*1024)kb/4kb*64bytes/1024/1024=800mb。

?

d、Eliminated page table lookup overhead

Since the pages are not subject to replacement, page table lookups are not required.(?消除page table查找負(fù)載)

?

e、Faster overall memory performance?

On virtual memory systems each memory operation is actually two abstract memory operations. Since there are fewer pages to work on, the possible bottleneck on page table access is clearly avoided.(提高內(nèi)存的整體性能)??????

?

7、未正確配值huge page的風(fēng)險(xiǎn)
基于大內(nèi)存(>8GB)的管理,如果配值或正確配值huge page,可能存在下列不確定的隱性問(wèn)題
??? HugePages not used (HugePages_Total = HugePages_Free) at all wasting the amount configured for?
??? Poor database performance?
??? System running out of memory or excessive swapping?
??? Some or any database instance cannot be started?
??? Crucial system services failing (e.g.: CRS)

?

8、基于2.6內(nèi)核的配值步驟
The kernel parameter used for HugePages is vm.nr_hugepages which is based on the number of the pages. SLES9, RHEL4 and Asianux 2.0 are? examples of distributions with the 2.6 kernel. For the configuration, follow steps below:

??? a. Start instance(s)
??? b. Calculate nr_hugepages using script from Document 401749.1
??? c. Set kernel parameter:
??????? ??? # sysctl -w vm.nr_hugepages=
???????? and make sure that the parameter is persistent to reboots. e.g. On SLES9:
??????????? # chkconfig boot.sysctl on

??? d. Check available hugepages:
??????? ??? $ grep Huge /proc/meminfo

??? e. Restart instances
??? f. Check available hugepages:
??????? ??? $ grep Huge /proc/meminfo

?

9、注意事項(xiàng)
a、HugePage使用的是共享內(nèi)存,在操作系統(tǒng)啟動(dòng)期間被動(dòng)態(tài)分配并被保留,因?yàn)樗麄儾粫?huì)被置換。
b、由于不會(huì)被置換的特點(diǎn),在使用hugepage的內(nèi)存不能被其他的進(jìn)程使用。所以要合理設(shè)置該值,避免造成內(nèi)存浪費(fèi)。
c、對(duì)于只使用Oracle的服務(wù)器來(lái)說(shuō),把Hugepage設(shè)置成SGA(所有instance SGA之和)大小即可。
d、如果增加HugePage或添加物理內(nèi)存或者是當(dāng)前服務(wù)器增加了新的instance以及SGA發(fā)生變化,應(yīng)該重新設(shè)置所需的HugePage。
e、reference: HugePages on Linux: What It Is... and What It Is Not... [ID 361323.1] To Bottom
f、如何配置HugePage,請(qǐng)參考:Linux 下配置 HugePages?



Linux 下配置 HugePages? ?http://blog.csdn.net/leshami/article/details/8788825



? ?HugePages是通過(guò)使用大頁(yè)內(nèi)存來(lái)取代傳統(tǒng)的4kb內(nèi)存頁(yè)面,使得管理虛擬地址數(shù)變少,加快了從虛擬地址到物理地址的映射以及通過(guò)摒棄內(nèi)存頁(yè)面的換入換出以提高內(nèi)存的整體性能。尤其是對(duì)于8GB以上的內(nèi)存以及較大的Oracle SGA size,建議配值并使用HugePage特性。本文基于x86_64?Linux下來(lái)描述如何配值 HugePages。
??? 有關(guān)HugePages的特性請(qǐng)參考:Linux HugePage 特性

??
1、為什么需要配值HugePages ?
a、Larger Page Size and Less # of Pages:?
??? Default page size is 4K whereas the HugeTLB size is 2048K. That means the system would need to handle 512 times less pages.


b、No Page Table Lookups:?
??? Since the HugePages are not subject to replacement (despite regular pages), page table lookups are not required.


c、Better Overall Memory Performance:?
??? On virtual memory systems (any modern OS) each memory operation is actually two abstract memory operations. With HugePages, since there are less number of pages to work on, the possible bottleneck on page table access is clearly avoided.


d、No Swapping:?
??? We must avoid swapping to happen on Linux OS at all Document 1295478.1. HugePages are not swappable (whereas regular pages are). Therefore there is no page replacement mechanism overhead. HugePages are universally regarded as pinned.


e、No 'kswapd' Operations:
???? kswapd will get very busy if there is a very large area to be paged (i.e. 13 million page table entries for 50GB memory) and will use an incredible amount of CPU resource. When HugePages are used, kswapd is not involved in managing them. See also Document 361670.1

?

2、配值HugePages
??下面列出了配值HugePages的所有步驟

a、查看當(dāng)前系統(tǒng)是否配值HugePages
??下面的查詢中HugePages相關(guān)的幾個(gè)值都為0,表明當(dāng)前未配值HugePages,其次可以看到Hugepagesize為2MB。
??$ grep Huge /proc/meminfo
??HugePages_Total:?? 0
??HugePages_Free:??? 0
??HugePages_Rsvd:??? 0
??Hugepagesize:???? 2048 kB
????
b、修改用戶的memlock限制
??通過(guò)修改/etc/security/limits.conf 配值文件來(lái)實(shí)現(xiàn)
??該參數(shù)的值通常配值位略小于當(dāng)前的已安裝系統(tǒng)內(nèi)存,如當(dāng)前你的系統(tǒng)內(nèi)存為64GB,可以做如下設(shè)置
??*?? soft?? memlock??? 60397977
??*?? hard?? memlock??? 60397977

??上述的設(shè)置單位為kb,不會(huì)降低系統(tǒng)性能。至少也要配值為略大于系統(tǒng)上所有SGA的總和。
??使用ulimit -l 來(lái)校驗(yàn)該設(shè)置

?

c、禁用AMM(Oracle 11g)
??如果當(dāng)前的Oracle 版本為10g,可以跳過(guò)此步驟。
??如果當(dāng)前的Oracle 版本為11g,由于AMM(Automatic Memory Management)特性與Hugepages不兼容,需要禁用AMM。
????ALTER SYSTEM RESET memory_target SCOPE=SPFILE;

??? ALTER SYSTEM RESET memory_max_target SCOPE=SPFILE;
????ALTER SYSTEM SET sga_target=g SCOPE=SPFILE;
????ALTER SYSTEM SET pga_aggregate_target=g SCOPE=SPFILE;
????SHUTDOWN IMMEDIATE;?

??? STARTUP;
????
d、計(jì)算vm.nr_hugepages 的值????
??使用Oracle 提供的腳本hugepages_settings.sh的腳本來(lái)計(jì)算vm.nr_hugepages的值
??在執(zhí)行腳本之前確保所有的Oracle 實(shí)例已啟動(dòng)以及ASM也啟動(dòng)(存在的情形下)
??$ ./hugepages_settings.sh
??...
??Recommended setting: vm.nr_hugepages = 1496

?

e、?編輯/etc/sysctl.conf 來(lái)設(shè)置vm.nr_hugepages參數(shù)
??$ sysctl -w vm.nr_hugepages = 1496??
??$ sysctl -p
??
??-- Author : Robinson
??-- Blog?? :?http://blog.csdn.net/robinson_0612
??
f、停止所有的Instance并重啟server
??上述的所有步驟已經(jīng)實(shí)現(xiàn)了動(dòng)態(tài)修改,但對(duì)于HugePages的分配需要重新啟動(dòng)server才能生效。

?

h、驗(yàn)證配值
??HugePages相關(guān)參數(shù)的值會(huì)隨著當(dāng)前服務(wù)器上的實(shí)例的停止與啟動(dòng)而動(dòng)態(tài)發(fā)生變化
??通常情況下,HugePages_Free的值應(yīng)當(dāng)小于HugePages_Total的值,在HugePages被使用時(shí)HugePages_Rsvd值應(yīng)當(dāng)為非零值。
??$ grep Huge /proc/meminfo
??HugePages_Total:?? 131
??HugePages_Free:???? 20
??HugePages_Rsvd:???? 20
??Hugepagesize:???? 2048 kB?
??
??如下面的情形,當(dāng)服務(wù)器上僅有的一個(gè)實(shí)例被關(guān)閉后,HugePages_Rsvd的值為零。且HugePages_Free等于HugePages_Total
??$ grep Huge /proc/meminfo
??HugePages_Total:?? 131
??HugePages_Free:??? 131
??HugePages_Rsvd:????? 0
??Hugepagesize:???? 2048 kB???

?

3、使用HugePages的注意事項(xiàng)
??下面的三種情形應(yīng)當(dāng)重新配置HugePages
????a、物理內(nèi)存的增減或減少
????b、在當(dāng)前服務(wù)器上新增或移出Instance
????c、Instance的SGA大小增加或減少???
??如果未能調(diào)整HugePages,可能會(huì)引發(fā)下面的問(wèn)題
????a、數(shù)據(jù)庫(kù)性能地下
????b、出現(xiàn)內(nèi)存不足或者過(guò)度使用交換空間
????c、數(shù)據(jù)庫(kù)實(shí)例不能被啟動(dòng)
????d、關(guān)鍵性系統(tǒng)服務(wù)故障
???
4、HugePages特性的常見(jiàn)故障處理

Symptom A:
??? System is running out of memory or swapping?
Possible Cause:?
??? Not enough HugePages to cover the SGA(s) and therefore the area reserved for HugePages are wasted where SGAs are allocated through regular pages.?
Troubleshooting Action:
??? Review your HugePages configuration to make sure that all SGA(s) are covered.

?

Symptom B:
??? Databases fail to start?
Possible Cause:
??? memlock limits are not set properly?
Troubleshooting Action:
??? Make sure the settings in limits.conf apply to database owner account.

?

Symptom C:
??? One of the database fail to start while another is up?
Possible Cause:
??? The SGA of the specific database could not find available HugePages and remaining RAM is not enough.?
Troubleshooting Action:
??? Make sure that the RAM and HugePages are enough to cover all your database SGAs

?

Symptom D:
??? Cluster Ready Services (CRS) fail to start?
Possible Cause:
??? HugePages configured too large (maybe larger than installed RAM)
Troubleshooting Action:?
??? Make sure the total SGA is less than the installed RAM and re-calculate HugePages.

?

Symptom E:
??? HugePages_Total = HugePages_Free
Possible Cause:?
??? HugePages are not used at all. No database instances are up or using AMM.?
Troubleshooting Action:
?? Disable AMM and make sure that the database instances are up.

?

Symptom F:
??? Database started successfully and the performance is slow?
Possible Cause:
??? The SGA of the specific database could not find available HugePages and therefore the SGA is handled by regular pages, which leads to slow performance?
Troubleshooting Action:
??? Make sure that the HugePages are many enough to cover all your database SGAs

Reference: [ID 361468.1]

?

5、計(jì)算vm.nr_hugepages 值的腳本

[python]?view plain?copy ?print?
  • #!/bin/bash??
  • #??
  • #?hugepages_settings.sh??
  • #??
  • #?Linux?bash?script?to?compute?values?for?the??
  • #?recommended?HugePages/HugeTLB?configuration??
  • #??
  • #?Note:?This?script?does?calculation?for?all?shared?memory??
  • #?segments?available?when?the?script?is?run,?no?matter?it??
  • #?is?an?Oracle?RDBMS?shared?memory?segment?or?not.??
  • #??
  • #?This?script?is?provided?by?Doc?ID?401749.1?from?My?Oracle?Support???
  • #?http://support.oracle.com??
  • ??
  • #?Welcome?text??
  • echo?"??
  • This?script?is?provided?by?Doc?ID?401749.1?from?My?Oracle?Support???
  • (http://support.oracle.com)?where?it?is?intended?to?compute?values?for???
  • the?recommended?HugePages/HugeTLB?configuration?for?the?current?shared???
  • memory?segments.?Before?proceeding?with?the?execution?please?note?following:??
  • ?*?For?ASM?instance,?it?needs?to?configure?ASMM?instead?of?AMM.??
  • ?*?The?'pga_aggregate_target'?is?outside?the?SGA?and???
  • ???you?should?accommodate?this?while?calculating?SGA?size.??
  • ?*?In?case?you?changes?the?DB?SGA?size,???
  • ???as?the?new?SGA?will?not?fit?in?the?previous?HugePages?configuration,???
  • ???it?had?better?disable?the?whole?HugePages,???
  • ???start?the?DB?with?new?SGA?size?and?run?the?script?again.??
  • And?make?sure?that:??
  • ?*?Oracle?Database?instance(s)?are?up?and?running??
  • ?*?Oracle?Database?11g?Automatic?Memory?Management?(AMM)?is?not?setup???
  • ???(See?Doc?ID?749851.1)??
  • ?*?The?shared?memory?segments?can?be?listed?by?command:??
  • ?????#?ipcs?-m??
  • ??
  • Press?Enter?to?proceed..."??
  • ??
  • read??
  • ??
  • #?Check?for?the?kernel?version??
  • KERN=`uname?-r?|?awk?-F.?'{?printf("%d.%d\n",$1,$2);?}'`??
  • ??
  • #?Find?out?the?HugePage?size??
  • HPG_SZ=`grep?Hugepagesize?/proc/meminfo?|?awk?'{print?$2}'`??
  • if?[?-z?"$HPG_SZ"?];then??
  • ????echo?"The?hugepages?may?not?be?supported?in?the?system?where?the?script?is?being?executed."??
  • ????exit?1??
  • fi??
  • ??
  • #?Initialize?the?counter??
  • NUM_PG=0??
  • ??
  • #?Cumulative?number?of?pages?required?to?handle?the?running?shared?memory?segments??
  • for?SEG_BYTES?in?`ipcs?-m?|?cut?-c44-300?|?awk?'{print?$1}'?|?grep?"[0-9][0-9]*"`??
  • do??
  • ????MIN_PG=`echo?"$SEG_BYTES/($HPG_SZ*1024)"?|?bc?-q`??
  • ????if?[?$MIN_PG?-gt?0?];?then??
  • ????????NUM_PG=`echo?"$NUM_PG+$MIN_PG+1"?|?bc?-q`??
  • ????fi??
  • done??
  • ??
  • RES_BYTES=`echo?"$NUM_PG?*?$HPG_SZ?*?1024"?|?bc?-q`??
  • ??
  • #?An?SGA?less?than?100MB?does?not?make?sense??
  • #?Bail?out?if?that?is?the?case??
  • if?[?$RES_BYTES?-lt?100000000?];?then??
  • ????echo?"***********"??
  • ????echo?"**?ERROR?**"??
  • ????echo?"***********"??
  • ????echo?"Sorry!?There?are?not?enough?total?of?shared?memory?segments?allocated?for???
  • HugePages?configuration.?HugePages?can?only?be?used?for?shared?memory?segments???
  • that?you?can?list?by?command:??
  • ??
  • ????#?ipcs?-m??
  • ??
  • of?a?size?that?can?match?an?Oracle?Database?SGA.?Please?make?sure?that:??
  • ?*?Oracle?Database?instance?is?up?and?running???
  • ?*?Oracle?Database?11g?Automatic?Memory?Management?(AMM)?is?not?configured"??
  • ????exit?1??
  • fi??
  • ??
  • #?Finish?with?results??
  • case?$KERN?in??
  • ????'2.4')?HUGETLB_POOL=`echo?"$NUM_PG*$HPG_SZ/1024"?|?bc?-q`;??
  • ???????????echo?"Recommended?setting:?vm.hugetlb_pool?=?$HUGETLB_POOL"?;;??
  • ????'2.6')?echo?"Recommended?setting:?vm.nr_hugepages?=?$NUM_PG"?;;??
  • ?????*)?echo?"Unrecognized?kernel?version?$KERN.?Exiting."?;;??
  • esac??
  • ??
  • #?End??




  • HugePages on Linux: What It Is... and What It Is Not... (文檔 ID 361323.1)

    In this Document

    Purpose
    Scope
    Details
    ? Introduction
    ? Common Misconceptions
    ? Regular Pages and HugePages
    ? HugePages in 2.4 Kernels
    ? Some HugePages Facts/Features
    ? Advantages of HugePages Over Normal Sharing Or AMM (see below)
    ? The Size of a HugePage
    ? HugePages Reservation
    ? HugePages and Oracle 11g Automatic Memory Management (AMM)
    ? What if Not Enough HugePages Configured?
    ? What if Too Much HugePages Configured?
    ? Parameters/Setup
    ? Notes on HugePages in General
    References


    APPLIES TO:

    Oracle Database - Enterprise Edition
    Linux OS - Version Enterprise Linux 3.0 to Oracle Linux 6.5 with Unbreakable Enterprise Kernel [3.8.13] [Release RHEL3 to OL6U5]
    IBM S/390 Based Linux (31-bit)
    IBM: Linux on POWER Big Endian Systems
    Linux x86-64
    Linux Itanium
    Linux x86
    IBM: Linux on System z
    ***Checked for relevance on 20-May-2013***?

    PURPOSE

    This document describes the HugePages feature in the Linux kernel available for 32-bit and 64-bit architectures. There has been some confusion among the terms and uses related to HugePages. This document should clarify the misconceptions about the feature.

    SCOPE

    Information in this document is useful for Linux system administrators and Oracle database administrators working with system administrators.

    This document covers information about HugePages concept that applies to very large memory (VLM)? (>= 4GB) systems for 32-bit and 64-bit architectures including some configuration information and references.

    DETAILS

    Introduction

    HugePages is a feature integrated into the Linux kernel with release 2.6. This feature basically provides the alternative to the 4K page size (16K for IA64) providing bigger pages.


    Regarding the HugePages, there are some other similar terms that are being used like, hugetlb, hugetlbfs. Before proceeding into the details of HugePages, see the definitions below:

    • Page Table: A page table is the data structure of a virtual memory system in an operating system to store the mapping between virtual addresses and physical addresses. This means that on a virtual memory system, the memory is accessed by first accessing a page table and then accessing the actual memory location implicitly.
    • TLB:?A Translation Lookaside Buffer (TLB) is a buffer (or cache) in a CPU that contains parts of the page table. This is a fixed size buffer being used to do virtual address translation faster.
    • hugetlb:?This is an entry in the TLB that points to a HugePage (a large/big page larger than regular 4K and predefined in size). HugePages are implemented via hugetlb entries, i.e. we can say that a HugePage is handled by a "hugetlb page entry". The 'hugetlb" term is also (and mostly) used synonymously with a HugePage (See?Note 261889.1). In this document the term "HugePage" is going to be used but keep in mind that mostly "hugetlb" refers to the same concept.
    • hugetlbfs:?This is a new in-memory filesystem like tmpfs and is presented by 2.6 kernel. Pages allocated on hugetlbfs type filesystem are allocated in HugePages.

    Common Misconceptions

    WRONG:?HugePages is a method to be able to use large SGA on 32-bit VLM systems RIGHT:?HugePages is a method to have larger pages where it is useful for working with very large memory. It is both useful in 32- and 64-bit configurations
    WRONG:?HugePages cannot be used without USE_INDIRECT_DATA_BUFFERS RIGHT:?HugePages can be used without indirect buffers. 64-bit systems does not need to use indirect buffers to have a large buffer cache for the RDBMS instance and HugePages can be used there too.
    WRONG:?hugetlbfs means hugetlb RIGHT:?hugetlbfs is a filesystem type **BUT** hugetlb is the mechanism employed in the back where hugetlb can be employed WITHOUT hugetlbfs
    WRONG:?hugetlbfs means hugepages RIGHT:?hugetlbfs is a filesystem type **BUT** HugePages is the mechanism employed in the back (synonymously with hugetlb) where HugePages can be employed WITHOUT hugetlbfs.

    ?

    Regular Pages and HugePages

    This section aims to give a general picture about memory access in virtual memory systems and how pages are referenced.

    When a single process works with a piece of memory, the pages that the process uses are reference in a local page table for the specific process. The entries in this table also contain references to the System-Wide Page Table which actually has references to actual physical memory addresses. So theoretically a user mode process (i.e. Oracle processes), follows its local page table to access to the system page table and then can reference the actual physical table virtually. As you can see below, it is also possible (and very common to Oracle RDBMS due to SGA use) that two different O/S processes can point to the same entry in the system-wide page table.

    When HugePages are in the play, the usual page tables are employed. The very basic difference is that the entries in both process page table and the system? page table has attributes about huge pages. So any page in a page table can be a huge page or a regular page.

    HugePages in 2.4 Kernels

    The HugePages feature is backported to some 2.4 kernels. Kernel versions 2.4.21-* has this feature (See?Note 311504.1?for the distributions with 2.4.21 kernels) but it is implemented in a different way. The feature is completely available. The difference from 2.6 implementation is the organization within the source code and the kernel parameters that are used for configuring HugePages. See Parameters/Setup section below.

    Some HugePages Facts/Features

    • HugePages can be allocated on-the-fly but they must be reserved during system startup. Otherwise the allocation might fail as the memory is already paged in 4K mostly.
    • HugePage sizes vary from 2MB to 256MB based on kernel version and HW architecture (See related section below.)
    • HugePages are not subject to reservation /? release after the system startup unless there is system administrator intervention, basically changing the hugepages configuration (i.e. number of pages available or pool size)

    Advantages of HugePages Over Normal Sharing Or AMM (see below)

    • Not swappable:?HugePages are not swappable. Therefore there is no page-in/page-out mechanism overhead.HugePages are universally regarded as pinned.
    • Relief of TLB pressure:
      • Hugepge uses fewer pages to cover the physical address space, so the size of “book keeping” (mapping from the virtual to the physical address) decreases, so it requiring fewer entries in the TLB
      • TLB entries will cover a larger part of the address space when use HugePages, there will be fewer TLB misses before the entire or most of the SGA is mapped in the SGA
      • Fewer TLB entries for the SGA also means more for other parts of the address space
    • Decreased page table overhead:?Each page table entry can be as large as 64 bytes and if we are trying to handle 50GB of RAM, the pagetable will be approximately 800MB in size which is practically will not fit in 880MB size lowmem (in 2.4 kernels - the page table is not necessarily in lowmem in 2.6 kernels) considering the other uses of lowmem. When 95% of memory is accessed via 256MB hugepages, this can work with a page table of approximately 40MB in total. See also?Document 361468.1.
    • Eliminated page table lookup overhead:?Since the pages are not subject to replacement, page table lookups are not required.
    • Faster overall memory performance:?On virtual memory systems each memory operation is actually two abstract memory operations. Since there are fewer pages to work on, the possible bottleneck on page table access is clearly avoided.???????

    The Size of a HugePage

    The size of a single HugePage varies according to:

    • Kernel version/linux distribution
    • HW Platform

    The actual size of the HugePage on a specific system can be checked by:

    ??? ??? $ grep Hugepagesize /proc/meminfo

    The table below shows the sizes of HugePages on different configurations. Note that these are general numbers taken from the most recent versions of the kernels. For a specific kernel source package, you can check for the HPAGE_SIZE macro value (based on HPAGE_SHIFT) for a different (more recent) kernel source tree.

    HW Platform Source Code Tree Kernel 2.4

    Kernel 2.6

    and later

    Linux x86 (IA32) i386 4 MB 2 MB
    Linux x86-64 (AMD64, EM64T) x86_64 2 MB 2 MB
    Linux Itanium (IA64) ia64 256 MB 256 MB
    IBM Power Based Linux (PPC64) ppc64/powerpc N/A ** 16 MB
    IBM zSeries Based Linux s390 N/A 1 MB
    IBM S/390 Based Linux s390 N/A N/A


    * Some older packaging for the 2.6.5 kernel on SLES8 (like 2.6.5-7.97) can have 2 MB Hugepagesize.
    ** Oracle RDBMS is also not certified in this configuration. See?Document 341507.1

    HugePages Reservation

    The HugePages reservation feature is fully implemented in 2.6.17 kernel, and thus EL5 (based on 2.6.18) has this feature. The alloc_huge_page() is improved for this. (See kernel source mm/hugetlb.c)

    From /usr/share/doc/kernel-doc-2.6.18/Documentation/vm/hugetlbpage.txt:

    HugePages_Rsvd is short for "reserved," and is the number of hugepages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. It's vaguely analogous to overcommit.

    This feature in the Linux kernel enables the Oracle Database to be able to allocate hugepages for the sublevels of the SGA on-demand. The same behaviour is expected for various Oracle Database versions that are certified on EL5.

    HugePages and Oracle 11g Automatic Memory Management (AMM)

    The AMM and HugePages are not compatible. One needs to disable AMM on 11g to be able to use HugePages. See?Document 749851.1?for further information.

    What if Not Enough HugePages Configured?

    Configuring your Linux OS for HugePages is a delicate process where if you do not configure properly, the system may experience serious problems. If you do not have enough HugePages configured you may encounter:

    • HugePages not used (HugePages_Total = HugePages_Free) at all wasting the amount configured for
    • Poor database performance
    • System running out of memory or excessive swapping
    • Some or any database instance cannot be started
    • Crucial system services failing (e.g.: CRS)

    To avoid / help with such situations?Bug 10153816?was filed to introduce a database initialization parameter in 11.2.0.2 (use_large_pages) to help manage which SGAs will use huge pages and potentially give warnings or not start up at all if they cannot get those pages.

    What if Too Much HugePages Configured?

    It is of course technically possible to configure more than needed. When that is done, the unused part of HugePages allocation will not be available for other purposes on the system and memory shortage can be encountered. Please make sure to configure only for needed amount of hugepages.

    Parameters/Setup

    The following configurations are a minimal list of documents providing general guidelines to configure HugePages for more than one Oracle RDBMS instance:

    • Document 317055.1?How to Configure RHEL 3.0 32-bit for Very Large Memory with ramfs and hugepages
    • Document 317067.1?How to Configure Asianux 1.0 32-bit for Very Large Memory with ramfs and hugepages
    • Document 317141.1?How to Configure RHEL 4 32-bit for Very Large Memory with ramfs and hugepages
    • Document 317139.1?How to Configure SuSE SLES 9 32-bit for Very Large Memory with ramfs and hugepages
    • Document 361468.1?HugePages on 64-bit Linux

    ?

    For all configurations be sure to have environment variable DISABLE_HUGETLBFS is unset. If it is set (specifically to 1) it will disable the use of HugePages by Oracle database.


    The performed configuration is basically based on the RAM installed and combined size of SGA of database instances you are running. Based on that when:
    • Amount of RAM installed for the Linux OS changed
    • New database instance(s) introduced
    • SGA size / configuration changed for one or more database instances
    you should revise your HugePages configuration to make it suitable to the new memory framework. If not you may experience one or more problems below on the system:
    • Poor database performance
    • System running out of memory or excessive swapping
    • Database instances cannot be started
    • Crucial system services failing



    Kernel Version 2.4

    The kernel parameter used for HugePages is vm.hugetlb_pool which is based on MB of memory. RHEL3, Asianux 1.0, SLES8 (Service Pack 3 and over) are examples of distributions with the 2.4 kernels with HugePages support. For the configuration, follow steps below:

    1. Start database instance(s)
    2. Calculate hugetlb_pool using script from?Note 401749.1
    3. Shutdown database instances??
    4. Set kernel parameter:
    ???? ??? # sysctl -w vm.hugetlb_pool=
    ??? and make sure that the parameter is persistent to reboots. e.g. On Asianux 1.0 by editing /etc/sysctl.conf adding/modifying as below:
    ??? ??? vm.hugetlb_pool=

    5. Check available hugepages:
    ??? ??? $ grep Huge /proc/meminfo

    6. Restart database instances
    7. Check available hugepages:
    ??? ??? $ grep Huge /proc/meminfo

    Notes:

    • If the setting of hugetlb_pool is not effective, you will need to reboot the server to make HugePages allocation during system startup.
    • The HugePages are allocated in a lazy fashion, so the "Hugepages_Free" count drops as the pages get touched and are backed by physical memory. The idea is that it's more efficient in the sense that you don't use memory you don't touch.
    • If you had set the instance initialization parameter PRE_PAGE_SGA=TRUE (for suitable settings see?Document 30793.1), all of the pages would be allocated from HugePages up front.


    Kernel Version 2.6

    The kernel parameter used for HugePages is vm.nr_hugepages which is based on the number of the pages. SLES9, RHEL4 and Asianux 2.0 are? examples of distributions with the 2.6 kernel. For the configuration, follow steps below:

    1. Start database instance(s)
    2. Calculate nr_hugepages using script from?Document 401749.1
    3. Shutdown database instances??
    4. Set kernel parameter:
    ??????? # sysctl -w vm.nr_hugepages=
    and make sure that the parameter is persistent to reboots. e.g. On SLES9:
    ??? ??? # chkconfig boot.sysctl on

    5. Check available hugepages:
    ??????? $ grep Huge /proc/meminfo

    6. Restart database instances
    7. Check available hugepages:
    ??????? $ grep Huge /proc/meminfo

    Notes:

    • If the setting of nr_hugepages is not effective, you will need to reboot the server to make HugePages allocation during system startup.
    • The HugePages are allocated in a lazy fashion, so the "Hugepages_Free" count drops as the pages get touched and are backed by physical memory. The idea is that it's more efficient in the sense that you don't use memory you don't touch.
    • If you had set the instance initialization parameter PRE_PAGE_SGA=TRUE (for suitable settings see?Document? 30793.1), all of the pages would be allocated from HugePages up front.

    Notes on HugePages in General

    • The userspace application that employs HugePages should be aware of permission implications. Permissions HugePages segments in memory can strictly impose certain requirements. e.g. Per?Bug 6620371?on Linux x86-64 port of Oracle RDBMS until 11g was setting the shared memory flags to hugetlb, read and write by default. But that shall depend on the configuration environment and with?Patch 6620371?on 10.2 and with 11g, the read and write permissions are set based on the internal context.

    For RedHat 6, Oracle Linux 6, SLES 11 and UEK2 kernels please have at "ALERT: Disable Transparent HugePages on SLES11, RHEL6, Oracle Linux 6 and UEK2 Kernels (Doc ID?1557478.1)"

    ?

    REFERENCES

    NOTE:261889.1- Bigpages vs. Hugetlb on RedHat Linux
    NOTE:317141.1- How to Configure RHEL/OL 4 32-bit for Very Large Memory with ramfs and HugePages

    BUG:10153816- WHEN USE_LARGE_PAGES=ONLY AND NO HUGEPAGES EXIST STARTUP FAILS NO DIAGNOSTIC
    NOTE:1392497.1- USE_LARGE_PAGES To Enable HugePages
    NOTE:311504.1- QREF: Linux Kernel Version Nomenclature
    NOTE:317055.1- How to Configure RHEL 3.0 32-bit for Very Large Memory and HugePages
    NOTE:317067.1- How to Configure Asianux 1.0 32-bit for Very Large Memory with ramfs and hugepages
    NOTE:452326.1- Linux Kernel Lowmem Pressure Issues and Related Kernel Structures
    NOTE:317139.1- How to Configure SuSE SLES 9 / 10 32-bit for Very Large Memory with ramfs and HugePages
    NOTE:341507.1- Oracle Database Server on Linux on IBM POWER
    NOTE:1557478.1- ALERT: Disable Transparent HugePages on SLES11, RHEL6, OL6 and UEK2 Kernels
    NOTE:401749.1- Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration






    11gR2

    G?Very Large Memory and HugePages

    This chapter guides Linux system administrators to configure very large memory configurations and HugePages on Linux systems.

    This chapter contains the following sections:

    • Very Large Memory on Linux x86

    • Overview of HugePages

    G.1?Very Large Memory on Linux x86

    Very Large Memory (VLM) configurations allow a 32-bit Oracle Database to access more than 4GB RAM that is traditionally available to Linux applications. The Oracle VLM option for 32-bit creates a large database buffer cache using an in-memory file system (/dev/shm). Other parts of the SGA are allocated from regular memory. VLM configurations improve database performance by caching more database buffers in memory, which significantly reduces the disk I/O compared to configurations without VLM. This chapter shows how to increase the SGA memory using VLM on a 32-bit computer.

    Note:

    The contents documented in this section apply only to 32-bit Linux operating system. With a 64-bit architecture, VLM support is available natively. All 64-bit Linux operating systems use the physical memory directly, as the maximum available virtual address space is 16 EB (exabyte = 2^60 bytes.)

    This section includes the following topics:

    • Implementing VLM on 32-bit Linux

    • Prerequisites for Implementing VLM

    • Methods To Increase SGA Limits

    • Configuring Very Large Memory for Oracle Database

    • Restrictions Involved in Implementing Very Large Memory

    G.1.1?Implementing VLM on 32-bit Linux

    With 32-bit architectures, VLM is accessed through a VLM window of a specific size. The VLM window is a data structure in the process address space that provides access to the whole virtual address space from a window of a specific size. On 32-bit Linux, you must set the parameter?USE_INDIRECT_DATA_BUFFERS=TRUE, and mount a?shmfs?or?tmpfs?or?ramfs?type of in-memory filesystem over?/dev/shm?to increase the usable address space.

    G.1.2?Prerequisites for Implementing VLM

    The following are some of the prerequisites for implementing VLM on a 32-bit operating system:

    • The computer on which Oracle Database is installed must have more than 4GB of memory.

    • The computer must be configured to use a kernel with PAE support upon startup.

    • The?USE_INDIRECT_DATA_BUFFERS=TRUE?must be present in the initialization parameter file for the database instance that uses VLM support.

    • Initialization parameters?DB_BLOCK_BUFFERS?and?DB_BLOCK_SIZE?must be set to values you have chosen for the Oracle Database.

    G.1.3?Methods To Increase SGA Limits

    In a typical 32-bit Linux kernel, one can create an SGA of up to 2.4GB size. Using a Linux Hugemem kernel enables the creation of an SGA of upto 3.2GB size. To go beyond 3.2GB on a 32-bit kernel, you must use the VLM feature.

    The following are the methods to increase SGA limits on a 32-bit computer:

    • Hugemem Kernel

    • Hugemem Kernel with Very Large Memory

    G.1.3.1?Hugemem Kernel

    Red Hat Enterprise Linux 4 and Oracle Linux 4 include a new kernel known as the Hugemem kernel. The Hugemem kernel feature is also called a 4GB-4GB Split Kernel as it supports a 4GB per process user space (versus 3GB for the other kernels), and a 4GB direct kernel space. Using this kernel enables RHEL 4/Oracle Linux 4 to run on systems with up to 64GB of main memory. The Hugemem kernel is required to use all the memory in system configurations containing more than 16GB of memory. The Hugemem kernel can run configurations with less memory.

    A classic 32-bit 4GB virtual address space is split 3GB for user processes and 1GB for the kernel. The new scheme (4GB/4GB) permits 4GB of virtual address space for the kernel and almost 4GB for each user process. Due to this scheme with hugemem kernel, 3.2GB of SGA can be created without using the indirect data buffer method.

    Note:

    Red Hat Enterprise Linux 5/ Oracle Linux 5 and Red Hat Enterprise Linux 6/ Oracle Linux 6 on 32-bit does not have the hugemem kernel. It supports only the 3GB user process/ 1GB kernel split. It has a PAE kernel that supports systems with more than 4GB of RAM and reliably upto 16GB. Since this has a 3GB/1GB kernel split, the system may run out of lowmem if the system's load consumes lots of lowmem. There is no equivalent kernel for hugemem in Enterprise Linux 5 and one is recommended to either use Enterprise Linux 4 with hugemem or go for 64-bit.

    The Hugemem kernel on large computers ensures better stability as compared to the performance overhead of address space switching.

    Run the following command to determine if you are using the?Hugemem?kernel:

    $ uname -r 2.6.9-5.0.3.ELhugemem

    G.1.3.2?Hugemem Kernel with Very Large Memory

    If you use only Hugemem kernels on 32-bit systems, then the SGA size can be increased but not significantly. Refer to section?"Hugemem Kernel", for more information.

    Note:

    Red Hat Enterprise Linux 5/ Oracle Linux 5 and Red Hat Enterprise Linux 6/ Oracle Linux 6 does not support the hugemem kernel. It supports a PAE kernel that can be used to implement Very Large Memory (VLM) as long as the physical memory does not exceed 16GB.

    This section shows how the SGA can be significantly increased by using Hugemem kernel with VLM on 32-bit systems.

    The SGA can be increased to about 62GB (depending on block size) on a 32-bit system with 64GB RAM. A processor feature called Page Address Extension (PAE) permits you to physically address 64GB of RAM. Since PAE does not enable a process or program to either address more than 4GB directly, or have a virtual address space larger than 4GB, a process cannot attach to shared memory directly. To address this issue, a shared memory filesystem (memory-based filesystem) must be created which can be as large as the maximum allowable virtual memory supported by the kernel. With a shared memory filesystem processes can dynamically attach to regions of the filesystem allowing applications like Oracle to have virtually a much larger shared memory on 32-bit operating systems. This is not an issue on 64-bit operating systems.

    VLM moves the database buffer cache part of the SGA from the System V shared memory to the shared memory filesystem. It is still considered one large SGA but it consists now of two different operating system shared memory entities. VLM uses 512MB of the non-buffer cache SGA to manage VLM. This memory area is needed for mapping the indirect data buffers (shared memory filesystem buffers) into the process address space since a process cannot attach to more than 4GB directly on a 32-bit system.

    Note:

    USE_INDIRECT_DATA_BUFFERS=TRUE?must be present in the initialization parameter file for the database instance that use Very Large Memory support. If this parameter is not set, then Oracle Database 11g?Release 2 (11.2) or later behaves in the same way as previous releases.

    You must also manually set the initialization parameters?DB_BLOCK_BUFFERS?and?SHARED_POOL_SIZE?to values you have chosen for an Oracle Database. Automatic Memory Management (AMM) cannot be used. The initialization parameter?DB_BLOCK_SIZE?sets the block size and in combination with?DB_BLOCK_BUFFERS?determines the buffer cache size for an instance

    For example, if the non-buffer cache SGA is 2.5GB, then you will only have 2GB of non-buffer cache SGA for shared pool, large pool, and redo log buffer since 512MB is used for managing VLM. It is not recommended to use VLM if buffer cache size is less than 512MB.

    In RHEL 4/ Oracle Linux 4 there are two different memory file systems that can be used for VLM:

    • tmpfs or shmfs: mount a?shmfs?with a certain size to?/dev/shm, and set the correct permissions. For?tmpfs?you do not need to specify a size.?Tmpfs or?shmfs?allocated memory is pageable.

      For example:

      Example Mount shmfs: # mount -t shm shmfs -o size=20g /dev/shmEdit /etc/fstab: shmfs /dev/shm shm size=20g 0 0ORExample Mount tmpfs: # mount –t tmpfs tmpfs /dev/shmEdit /etc/fstab: none /dev/shm tmpfs defaults 0 0
    • ramfs:?ramfs?is similar to?shmfs, except that pages are not pageable or swappable. This approach provides the commonly desired effect.?ramfs?is created by:

      umount /dev/shm mount -t ramfs ramfs /dev/shm

    G.1.4?Configuring Very Large Memory for Oracle Database

    Complete the following procedure to configure Very Large Memory on Red Hat Enterprise Linux 4/ Oracle Linux 4 using?ramfs:

  • Log in as a?root?user:

    sudo -sh Password:
  • Edit the?/etc/rc.local?file and add the following entries to it to configure the computer to mount?ramfs?over the?/dev/shm?directory, whenever you start the computer:

    umount /dev/shm mount -t ramfs ramfs /dev/shm chown oracle:oinstall /dev/shm

    In the preceding commands,?oracle?is the owner of Oracle software files and?oinstall?is the group for Oracle owner account. If the new configuration disables?/etc/rc.local?file or you start an instance of Oracle database using a Linux service script present under the?/etc/init.d?file, then you can add those entries in the service script too.

    Note, this configuration will make?ramfs?ready even before your system autostarts crucial Oracle Database instances. The commands can also be included in your startup scripts. It is important that you test the commands extensively by repeated restart action, after you complete configuring the computer using the following steps:

  • Restart the server.

  • Log in as a?root?user.

  • Run the following command to check if the?/dev/shm?directory is mounted with the ramfs type:

    /dev/shm directory is mounted with the ramfs type:# mount | grep shm ramfs on /dev/shm type ramfs (rw)
  • Run the following command to check the permissions on the?/dev/shm?directory:

    # ls -ld /dev/shm drwxr-xr-x 3 oracle oinstall 0 Jan 13 12:12 /dev/shm
  • Edit the?/etc/security/limits.conf?file and add the following entries to it to increase the max locked memory limit:

    soft memlock 3145728 hard memlock 3145728
  • Switch to the?oracle?user:

    # sudo - oracle Password:
  • Run the following command to check the max locked memory limit:

    $ ulimit -l 3145728
  • Complete the following procedure to configure instance parameters for Very Large Memory:

  • Replace the?DB_CACHE_SIZE,?DB_xK_CACHE_SIZE,?sga_target, and?memory_target?parameters with?DB_BLOCK_BUFFERS?parameter.

  • Add the?USE_INDIRECT_DATA_BUFFERS=TRUE?parameter.

  • Configure SGA size according to the SGA requirements.

  • Remove?SGA_TARGET,?MEMORY_TARGET, or?MEMORY_MAX_TARGET?parameters, if set.

  • Start the database instance.

  • Run the following commands to check the memory allocation:

    $ ls -l /dev/shm $ ipcs -m
  • See Also:

    "Configuring HugePages on Linux"?section for more information about HugePages.

    G.1.5?Restrictions Involved in Implementing Very Large Memory

    Following are the limitations of running a computer in the Very Large Memory mode:

    • You cannot use Automatic Memory Management (AMM) while implementing VLM using?ramfs, because AMM works on dynamic SGA tuning. With AMM swapping is possible. For example, you can unmap the unused SGA space and map it to PGA. Dynamic SGA and multiple block size are not supported with Very Large Memory because?ramfs?is not swappable. To enable Very Large Memory, you must ensure that you set the value of?MEMORY_TARGET?to zero.

    • VLM can be implemented only if Database Buffer Cache size is greater than 512MB.

    G.2?Overview of HugePages

    HugePages is a feature integrated into the Linux kernel 2.6. Enabling HugePages makes it possible for the operating system to support memory pages greater than the default (usually 4KB). Using very large page sizes can improve system performance by reducing the amount of system resources required to access page table entries. HugePages is useful for both 32-bit and 64-bit configurations. HugePage sizes vary from 2MB to 256MB, depending on the kernel version and the hardware architecture. For Oracle Databases, using HugePages reduces the operating system maintenance of page states, and increases Translation Lookaside Buffer (TLB) hit ratio.

    This section includes the following topics:

    • Tuning SGA With HugePages

    • Configuring HugePages on Linux

    • Restrictions for HugePages Configurations

    G.2.1?Tuning SGA With HugePages

    Without HugePages, the operating system keeps each 4KB of memory as a page, and when it is allocated to the SGA, then the lifecycle of that page (dirty, free, mapped to a process, and so on) is kept up to date by the operating system kernel.

    With HugePages, the operating system page table (virtual memory to physical memory mapping) is smaller, since each page table entry is pointing to pages from 2MB to 256MB. Also, the kernel has fewer pages whose lifecyle must be monitored.

    Note:

    2MB size of HugePages is available with Linux x86-64, Linux x86, and IBM: Linux on System z.

    The following are the advantages of using HugePages:

    • Increased performance through increased TLB hits.

    • Pages are locked in memory and are never swapped out which guarantees that shared memory like SGA remains in RAM.

    • Contiguous pages are preallocated and cannot be used for anything else but for System V shared memory (for example, SGA)

    • Less bookkeeping work for the kernel for that part of virtual memory due to larger page sizes

    G.2.2?Configuring HugePages on Linux

    Complete the following steps to configure HugePages on the computer:

  • Edit the?memlock?setting in the?/etc/security/limits.conf?file. The?memlock?setting is specified in KB and set slightly lesser than the installed RAM. For example, if you have 64GB RAM installed, add the following entries to increase the max locked memory limit:

    * soft memlock 60397977 * hard memlock 60397977

    You can also set the?memlock?value higher than your SGA requirements.

  • Login as the?oracle?user again and run the?ulimit -l?command to verify the new?memlock?setting:

    $ ulimit -l 60397977
  • Run the following command to display the value of?Hugepagesize?variable:

    $ grep Hugepagesize /proc/meminfo
  • Complete the following procedure to create a script that computes recommended values for?hugepages?configuration for the current shared memory segments:

    Note:

    Following is an example that may require modifications.
  • Create a text file named?hugepages_settings.sh.

  • Add the following content in the file:

    #!/bin/bash # # hugepages_settings.sh # # Linux bash script to compute values for the # recommended HugePages/HugeTLB configuration # # Note: This script does calculation for all shared memory # segments available when the script is run, no matter it # is an Oracle RDBMS shared memory segment or not. # Check for the kernel version KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'` # Find out the HugePage size HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}` # Start from 1 pages to be on the safe side and guarantee 1 free HugePage NUM_PG=1 # Cumulative number of pages required to handle the running shared memory segments for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"` doMIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`if [ $MIN_PG -gt 0 ]; thenNUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`fi done # Finish with results case $KERN in'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;'2.6') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;*) echo "Unrecognized kernel version $KERN. Exiting." ;; esac # End
  • Run the following command to change the permission of the file:

    $ chmod +x hugepages_settings.sh
  • Run the?hugepages_settings.sh?script to compute the values for?hugepages?configuration:

    $ ./hugepages_settings.sh
  • Set the following kernel parameter:

    # sysctl -w vm.nr_hugepages=value_displayed_in_step_5
  • To make the value of the parameter available for every time you restart the computer, edit the?/etc/sysctl.conf?file and add the following entry:

    vm.nr_hugepages=value_displayed_in_step_5
  • Restart the server.

    Note:

    To check the available?hugepages, run the following command: $ grep Huge /proc/meminfo
  • G.2.3?Restrictions for HugePages Configurations

    Following are the limitations of using HugePages:

    • Automatic Memory Management (AMM) and HugePages are not compatible. When you use AMM, the entire SGA memory is allocated by creating files under?/dev/shm. When Oracle Database allocates SGA with AMM, HugePages are not reserved. To use HugePages on Oracle Database 12c, You must disable AMM.

    • If you are using VLM in a 32-bit environment, then you cannot use HugePages for the Database Buffer cache. You can use HugePages for other parts of the SGA, such as?shared_pool,?large_pool, and so on. Memory allocation for VLM (buffer cache) is done using shared memory file systems (ramfs/tmpfs/shmfs). Memory file systems do not reserve or use HugePages.

    • HugePages are not subject to allocation or release after system startup, unless a system administrator changes the HugePages configuration, either by modifying the number of pages available, or by modifying the pool size. If the space required is not reserved in memory during system startup, then HugePages allocation fails.


    12cR1

    G?HugePages

    This chapter provides an overview of Hugepages and guides Linux system administrators to configure HugePages on Linux.

    G.1?Overview of HugePages

    HugePages is a feature integrated into the Linux kernel 2.6. Enabling HugePages makes it possible for the operating system to support memory pages greater than the default (usually 4 KB). Using very large page sizes can improve system performance by reducing the amount of system resources required to access page table entries. HugePages is useful for both 32-bit and 64-bit configurations. HugePage sizes vary from 2 MB to 256 MB, depending on the kernel version and the hardware architecture. For Oracle Databases, using HugePages reduces the operating system maintenance of page states, and increases Translation Lookaside Buffer (TLB) hit ratio.

    Note:

    Transparent Hugepages is currently not an alternative to manually configure HugePages.

    This section includes the following topics:

    • Tuning SGA With HugePages

    • Configuring HugePages on Linux

    • Restrictions for HugePages Configurations

    • Disabling Transparent HugePages

    G.1.1?Tuning SGA With HugePages

    Without HugePages, the operating system keeps each 4 KB of memory as a page. When it allocates pages to the database System Global Area (SGA), the operating system kernel must continually update its page table with the page lifecycle (dirty, free, mapped to a process, and so on) for each 4 KB page allocated to the SGA.

    With HugePages, the operating system page table (virtual memory to physical memory mapping) is smaller, because each page table entry is pointing to pages from 2 MB to 256 MB.

    Also, the kernel has fewer pages whose lifecycle must be monitored. For example, if you use HugePages with 64-bit hardware, and you want to map 256 MB of memory, you may need one page table entry (PTE). If you do not use HugePages, and you want to map 256 MB of memory, then you must have 256 MB * 1024 KB/4 KB = 65536 PTEs.

    HugePages provides the following advantages:

    • Increased performance through increased TLB hits

    • Pages are locked in memory and never swapped out, which provides RAM for shared memory structures such as SGA

    • Contiguous pages are preallocated and cannot be used for anything else but for System V shared memory (for example, SGA)

    • Less bookkeeping work for the kernel for that part of virtual memory because of larger page sizes

    G.1.2?Configuring HugePages on Linux

    Complete the following steps to configure HugePages on the computer:

  • Run the following command to determine if the kernel supports HugePages:

    $ grep Huge /proc/meminfo
  • Some Linux systems do not support HugePages by default. For such systems, build the Linux kernel using the?CONFIG_HUGETLBFS?and?CONFIG_HUGETLB_PAGE?configuration options.CONFIG_HUGETLBFS?is located under File Systems and?CONFIG_HUGETLB_PAGE?is selected when you select?CONFIG_HUGETLBFS.

  • Edit the?memlock?setting in the?/etc/security/limits.conf?file. The?memlock?setting is specified in KB, and the maximum locked memory limit should be set to at least 90 percent of the current RAM when HugePages memory is enabled and at least 3145728 KB (3 GB) when HugePages memory is disabled. For example, if you have 64 GB RAM installed, then add the following entries to increase the maximum locked-in-memory address space:

    * soft memlock 60397977 * hard memlock 60397977

    You can also set the?memlock?value higher than your SGA requirements.

  • Log in as?oracle?user again and run the?ulimit -l?command to verify the new?memlock?setting:

    $ ulimit -l 60397977
  • Run the following command to display the value of?Hugepagesize?variable:

    $ grep Hugepagesize /proc/meminfo
  • Complete the following procedure to create a script that computes recommended values for?hugepages?configuration for the current shared memory segments:

  • Create a text file named?hugepages_settings.sh.

  • Add the following content in the file:

    #!/bin/bash # # hugepages_settings.sh # # Linux bash script to compute values for the # recommended HugePages/HugeTLB configuration # # Note: This script does calculation for all shared memory # segments available when the script is run, no matter it # is an Oracle RDBMS shared memory segment or not. # Check for the kernel version KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'` # Find out the HugePage size HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}` # Start from 1 pages to be on the safe side and guarantee 1 free HugePage NUM_PG=1 # Cumulative number of pages required to handle the running shared memory segments for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"` doMIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`if [ $MIN_PG -gt 0 ]; thenNUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`fi done # Finish with results case $KERN in'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;'2.6'|'3.8') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;*) echo "Unrecognized kernel version $KERN. Exiting." ;; esac # End
  • Run the following command to change the permission of the file:

    $ chmod +x hugepages_settings.sh
  • Run the?hugepages_settings.sh?script to compute the values for?hugepages?configuration:

    $ ./hugepages_settings.sh

    Note:

    Before running this script, ensure that all the applications that use?hugepages?run.
  • Set the following kernel parameter, where?value?is the HugePages value that you determined in step?7:

    # sysctl -w vm.nr_hugepages=value
  • To ensure that HugePages is allocated after system restarts, add the following entry to the?/etc/sysctl.conf?file, where?value?is the HugePages value that you determined in step?7:

    vm.nr_hugepages=value
  • Run the following command to check the available?hugepages:

    $ grep Huge /proc/meminfo
  • Restart the instance.

  • Run the following command to check the available?hugepages?(1 or 2 pages free):

    $ grep Huge /proc/meminfo

    Note:

    If you cannot set your HugePages allocation using?nr_hugepages, then your available memory may be fragmented. Restart your server for the Hugepages allocation to take effect.
  • G.1.3?Restrictions for HugePages Configurations

    HugePages has the following limitations:

    • You must unset both the?MEMORY_TARGET?and?MEMORY_MAX_TARGET?initialization parameters. For example, to unset the parameters for the database instance, use the command?ALTER SYSTEM RESET.

    • Automatic Memory Management (AMM) and HugePages are not compatible. When you use AMM, the entire SGA memory is allocated by creating files under?/dev/shm. When Oracle Database allocates SGA with AMM, HugePages are not reserved. To use HugePages on Oracle Database 12c, You must disable AMM.

    • If you are using VLM in a 32-bit environment, then you cannot use HugePages for the Database Buffer cache. You can use HugePages for other parts of the SGA, such as?shared_pool,?large_pool, and so on. Memory allocation for VLM (buffer cache) is done using shared memory file systems (ramfs/tmpfs/shmfs). Memory file systems do not reserve or use HugePages.

    • HugePages are not subject to allocation or release after system startup, unless a system administrator changes the HugePages configuration, either by modifying the number of pages available, or by modifying the pool size. If the space required is not reserved in memory during system startup, then HugePages allocation fails.

    • Ensure that HugePages is configured properly as the system may run out of memory if excess HugePages is not used by the application.

    • If there is insufficient HugePages when an instance starts and the initialization parameter?use_large_pages?is set to?only, then the database fails to start and an alert log message provides the necessary information on Hugepages.

    G.1.4?Disabling Transparent HugePages

    Transparent HugePages memory is enabled by default with Red Hat Enterprise Linux 6, SUSE 11, and Oracle Linux 6 with earlier releases of Oracle Linux Unbreakable Enterprise Kernel 2 (UEK2) kernels. Transparent HugePages memory is disabled by default in later releases of UEK2 kernels.

    Transparent HugePages can cause memory allocation delays at runtime. To avoid performance issues, Oracle recommends that you disable Transparent HugePages on all Oracle Database servers. Oracle recommends that you instead use standard HugePages for enhanced performance.

    Transparent HugePages memory differs from standard HugePages memory because the kernel?khugepaged?thread allocates memory dynamically during runtime. Standard HugePages memory is pre-allocated at startup, and does not change during runtime.

    To check if Transparent HugePages is enabled run one of the following commands as the?root?user:

    Red Hat Enterprise Linux kernels:

    # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

    Other kernels:

    # cat /sys/kernel/mm/transparent_hugepage/enabled

    The following is a sample output that shows Transparent HugePages is being used as the?[always]?flag is enabled.

    [always] never

    Note:

    If Transparent HugePages is removed from the kernel then the?/sys/kernel/mm/transparent_hugepage?or?/sys/kernel/mm/redhat_transparent_hugepage?files do not exist.

    To disable Transparent HugePages perform the following steps:

  • Add the following entry to the kernel boot line in the?/etc/grub.conf?file:

    transparent_hugepage=never

    For example:

    title Oracle Linux Server (2.6.32-300.25.1.el6uek.x86_64)root (hd0,0)kernel /vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/ transparent_hugepage=neverinitrd /initramfs-2.6.32-300.25.1.el6uek.x86_64.img








  • About Me

    ...............................................................................................................................

    ●?本文整理自網(wǎng)絡(luò)

    ●?小麥苗云盤(pán)地址:http://blog.itpub.net/26736162/viewspace-1624453/

    ● QQ群:230161599???? 微信群:私聊

    ●?聯(lián)系我請(qǐng)加QQ好友(642808185),注明添加緣由

    ●?版權(quán)所有,歡迎分享本文,轉(zhuǎn)載請(qǐng)保留出處

    ...............................................................................................................................

    拿起手機(jī)使用微信客戶端掃描下邊的左邊圖片來(lái)關(guān)注小麥苗的微信公眾號(hào):xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學(xué)習(xí)最實(shí)用的數(shù)據(jù)庫(kù)技術(shù)。



    ??


    來(lái)自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/26736162/viewspace-2134314/,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。

    總結(jié)

    以上是生活随笔為你收集整理的HugePages 大内存页的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    久热国产vs视频在线观看 | 搡女人真爽免费视频大全 | 久久国产自偷自偷免费一区调 | 午夜精品久久久内射近拍高清 | 国产人妻精品午夜福利免费 | 国产色视频一区二区三区 | 欧美性猛交内射兽交老熟妇 | 国产精品va在线观看无码 | 国产精品久久久久久亚洲毛片 | 亚洲乱码日产精品bd | 欧美人与善在线com | 亚洲熟妇自偷自拍另类 | 国产suv精品一区二区五 | 色综合视频一区二区三区 | 成熟人妻av无码专区 | 欧美肥老太牲交大战 | 亚洲欧美日韩成人高清在线一区 | 日产国产精品亚洲系列 | 日产精品99久久久久久 | 亚洲性无码av中文字幕 | 99精品视频在线观看免费 | 国产办公室秘书无码精品99 | 麻豆人妻少妇精品无码专区 | 久久久久99精品国产片 | 色综合久久久无码中文字幕 | 久久国语露脸国产精品电影 | 中文字幕av伊人av无码av | 亚洲成色www久久网站 | 日本熟妇乱子伦xxxx | 午夜精品久久久久久久久 | 老司机亚洲精品影院 | 自拍偷自拍亚洲精品10p | 精品 日韩 国产 欧美 视频 | 女高中生第一次破苞av | 国产极品美女高潮无套在线观看 | 亚洲码国产精品高潮在线 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 高清不卡一区二区三区 | 国产日产欧产精品精品app | 18无码粉嫩小泬无套在线观看 | 国产热a欧美热a在线视频 | 中文字幕无线码免费人妻 | 麻豆国产人妻欲求不满谁演的 | 精品国产成人一区二区三区 | 国产乱人伦偷精品视频 | 亚洲熟妇色xxxxx欧美老妇y | 久久久精品欧美一区二区免费 | 午夜熟女插插xx免费视频 | 荡女精品导航 | 亚洲日韩av一区二区三区中文 | 午夜嘿嘿嘿影院 | 亚洲精品国产第一综合99久久 | 久久 国产 尿 小便 嘘嘘 | 中文字幕色婷婷在线视频 | 7777奇米四色成人眼影 | 人人妻人人澡人人爽人人精品 | 国精产品一品二品国精品69xx | 伊在人天堂亚洲香蕉精品区 | 亚洲成a人片在线观看无码3d | 亚洲综合精品香蕉久久网 | www成人国产高清内射 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲色欲色欲天天天www | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 色欲人妻aaaaaaa无码 | 人人爽人人澡人人人妻 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 无码吃奶揉捏奶头高潮视频 | 亚洲无人区午夜福利码高清完整版 | 欧美三级a做爰在线观看 | a国产一区二区免费入口 | 国产成人一区二区三区在线观看 | 中文无码伦av中文字幕 | 图片区 小说区 区 亚洲五月 | 久久久精品人妻久久影视 | 88国产精品欧美一区二区三区 | 成年美女黄网站色大免费全看 | 欧洲欧美人成视频在线 | 伊人久久大香线焦av综合影院 | 欧美野外疯狂做受xxxx高潮 | 少妇无码一区二区二三区 | 国产午夜无码视频在线观看 | 性生交片免费无码看人 | 精品水蜜桃久久久久久久 | 中文毛片无遮挡高清免费 | 欧美日本免费一区二区三区 | 国产97色在线 | 免 | 福利一区二区三区视频在线观看 | 亚洲中文字幕久久无码 | 国产国产精品人在线视 | 国产人妻精品一区二区三区不卡 | 亚洲人成网站色7799 | 欧美人与动性行为视频 | 99久久精品午夜一区二区 | 无码免费一区二区三区 | 色爱情人网站 | 国内精品一区二区三区不卡 | 亚洲国产精品无码一区二区三区 | 亚洲综合伊人久久大杳蕉 | 成人欧美一区二区三区黑人 | 动漫av一区二区在线观看 | 天天摸天天碰天天添 | 四十如虎的丰满熟妇啪啪 | 最新版天堂资源中文官网 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲成av人片天堂网无码】 | 粉嫩少妇内射浓精videos | 中文字幕精品av一区二区五区 | 亚洲va欧美va天堂v国产综合 | 中文字幕乱码亚洲无线三区 | 国产成人无码一二三区视频 | 俺去俺来也www色官网 | 欧美喷潮久久久xxxxx | 国产精品无码永久免费888 | 在线播放亚洲第一字幕 | 国产激情艳情在线看视频 | 十八禁真人啪啪免费网站 | 亚欧洲精品在线视频免费观看 | 国产精品亚洲一区二区三区喷水 | 久久久久久久久蜜桃 | 又紧又大又爽精品一区二区 | 亚洲精品中文字幕久久久久 | 国产精品无套呻吟在线 | 夜精品a片一区二区三区无码白浆 | 亚洲自偷精品视频自拍 | 无码国模国产在线观看 | 国产精品成人av在线观看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 黑人巨大精品欧美一区二区 | 婷婷五月综合缴情在线视频 | 麻豆国产人妻欲求不满 | 人妻少妇精品无码专区动漫 | 97精品人妻一区二区三区香蕉 | 国产人成高清在线视频99最全资源 | 亚洲精品综合一区二区三区在线 | 久久综合九色综合97网 | 香蕉久久久久久av成人 | 水蜜桃亚洲一二三四在线 | 欧美人妻一区二区三区 | 久久国产36精品色熟妇 | 久久国产精品_国产精品 | 精品乱码久久久久久久 | 两性色午夜免费视频 | a片免费视频在线观看 | 中文字幕无码日韩专区 | 在线视频网站www色 | 麻豆md0077饥渴少妇 | 鲁鲁鲁爽爽爽在线视频观看 | 狠狠cao日日穞夜夜穞av | 天堂无码人妻精品一区二区三区 | 国产精品第一区揄拍无码 | 国产无遮挡吃胸膜奶免费看 | 特大黑人娇小亚洲女 | 亚洲另类伦春色综合小说 | 永久免费观看美女裸体的网站 | 国产美女精品一区二区三区 | 少妇高潮喷潮久久久影院 | 少妇被黑人到高潮喷出白浆 | 精品国产麻豆免费人成网站 | 色婷婷久久一区二区三区麻豆 | 97精品人妻一区二区三区香蕉 | 无码精品人妻一区二区三区av | 国产精品鲁鲁鲁 | 亚洲精品中文字幕久久久久 | 在线成人www免费观看视频 | 精品久久久中文字幕人妻 | 国产成人综合色在线观看网站 | 麻豆精品国产精华精华液好用吗 | 日韩 欧美 动漫 国产 制服 | 久久午夜无码鲁丝片秋霞 | 亚洲精品国偷拍自产在线观看蜜桃 | 色婷婷香蕉在线一区二区 | 乱人伦中文视频在线观看 | 亚洲日韩一区二区 | 精品国产麻豆免费人成网站 | 小泽玛莉亚一区二区视频在线 | 精品无码国产一区二区三区av | 久久国内精品自在自线 | 西西人体www44rt大胆高清 | 亚洲一区二区三区无码久久 | 四十如虎的丰满熟妇啪啪 | 色诱久久久久综合网ywww | 国产人妻大战黑人第1集 | 中文字幕久久久久人妻 | 久久久久久av无码免费看大片 | 久久久久亚洲精品中文字幕 | 国产精品久久久久久无码 | 亚洲人成网站色7799 | 全黄性性激高免费视频 | 日韩人妻少妇一区二区三区 | 日日摸天天摸爽爽狠狠97 | 色欲人妻aaaaaaa无码 | 国产成人一区二区三区在线观看 | 国产成人无码区免费内射一片色欲 | 熟妇人妻激情偷爽文 | 国产另类ts人妖一区二区 | 久青草影院在线观看国产 | 国产精品亚洲综合色区韩国 | 国产精品无码一区二区三区不卡 | 亚洲日韩一区二区 | 久久国产精品二国产精品 | 国产美女精品一区二区三区 | 高清无码午夜福利视频 | 精品熟女少妇av免费观看 | 99久久精品午夜一区二区 | 国产网红无码精品视频 | 国色天香社区在线视频 | 日本熟妇乱子伦xxxx | 久久精品国产99久久6动漫 | 人妻互换免费中文字幕 | 久久97精品久久久久久久不卡 | 99久久精品无码一区二区毛片 | 最近免费中文字幕中文高清百度 | 任你躁在线精品免费 | 久久亚洲中文字幕无码 | 久久精品国产99精品亚洲 | 亚洲欧美日韩综合久久久 | 国产午夜无码精品免费看 | 亚洲乱码国产乱码精品精 | 永久黄网站色视频免费直播 | 国产精品va在线播放 | 国产亚洲视频中文字幕97精品 | 国产疯狂伦交大片 | 正在播放老肥熟妇露脸 | 国产成人精品久久亚洲高清不卡 | 国产午夜亚洲精品不卡 | 中文字幕无码免费久久9一区9 | 日日天日日夜日日摸 | 一二三四社区在线中文视频 | 激情国产av做激情国产爱 | 午夜无码人妻av大片色欲 | 亚洲精品国产第一综合99久久 | 免费网站看v片在线18禁无码 | 亚洲啪av永久无码精品放毛片 | 少妇一晚三次一区二区三区 | 亚洲午夜无码久久 | 国产av人人夜夜澡人人爽麻豆 | 亚洲毛片av日韩av无码 | 99精品视频在线观看免费 | 欧美性黑人极品hd | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲综合无码久久精品综合 | 少妇性荡欲午夜性开放视频剧场 | 日韩人妻无码一区二区三区久久99 | 国产成人一区二区三区在线观看 | 一个人看的视频www在线 | 强伦人妻一区二区三区视频18 | 亚洲日韩中文字幕在线播放 | 妺妺窝人体色www婷婷 | 国产真实夫妇视频 | 国产亚洲人成在线播放 | 国产精品香蕉在线观看 | 乱人伦人妻中文字幕无码 | 麻豆av传媒蜜桃天美传媒 | 人人妻人人澡人人爽欧美精品 | 欧美熟妇另类久久久久久多毛 | 99久久人妻精品免费二区 | www一区二区www免费 | 久久久久成人精品免费播放动漫 | 久久精品一区二区三区四区 | 国产极品美女高潮无套在线观看 | 日韩精品无码一区二区中文字幕 | 国产欧美精品一区二区三区 | 久久国产精品萌白酱免费 | 国产午夜无码精品免费看 | 国产精品丝袜黑色高跟鞋 | 亚洲综合久久一区二区 | 波多野结衣av在线观看 | 丰满少妇熟乱xxxxx视频 | 人妻体内射精一区二区三四 | 久久久久亚洲精品中文字幕 | 国产av剧情md精品麻豆 | 人妻aⅴ无码一区二区三区 | 青草视频在线播放 | 久久国产自偷自偷免费一区调 | 99精品无人区乱码1区2区3区 | 国产黄在线观看免费观看不卡 | 久久国内精品自在自线 | 亚洲成av人片在线观看无码不卡 | 在线欧美精品一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 美女黄网站人色视频免费国产 | 午夜精品一区二区三区在线观看 | 国产成人久久精品流白浆 | 免费无码的av片在线观看 | 女人被爽到呻吟gif动态图视看 | 国产精品毛多多水多 | 国产片av国语在线观看 | 亚洲国产午夜精品理论片 | 性史性农村dvd毛片 | 成人无码精品一区二区三区 | 永久免费观看国产裸体美女 | 欧洲极品少妇 | 高清无码午夜福利视频 | 真人与拘做受免费视频 | 午夜性刺激在线视频免费 | 日韩精品一区二区av在线 | 夜精品a片一区二区三区无码白浆 | 色五月五月丁香亚洲综合网 | 久久人人爽人人人人片 | 色婷婷综合激情综在线播放 | 夫妻免费无码v看片 | 国产av一区二区三区最新精品 | 欧美性猛交内射兽交老熟妇 | 亚洲成熟女人毛毛耸耸多 | 久久国语露脸国产精品电影 | 久9re热视频这里只有精品 | 乱中年女人伦av三区 | 欧美日本日韩 | 久久国产精品_国产精品 | 人人妻人人澡人人爽欧美精品 | 欧美性色19p | 99久久婷婷国产综合精品青草免费 | 久久久久成人精品免费播放动漫 | 国产午夜手机精彩视频 | 国产免费无码一区二区视频 | 欧美人与善在线com | 亚洲aⅴ无码成人网站国产app | 露脸叫床粗话东北少妇 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产欧美精品一区二区三区 | 国产超碰人人爽人人做人人添 | 国产偷自视频区视频 | 亚洲无人区一区二区三区 | 久在线观看福利视频 | 2020久久香蕉国产线看观看 | 亚洲综合伊人久久大杳蕉 | 丰满人妻一区二区三区免费视频 | 大胆欧美熟妇xx | 成人无码精品一区二区三区 | 正在播放老肥熟妇露脸 | av小次郎收藏 | 人人妻人人澡人人爽欧美精品 | 人妻aⅴ无码一区二区三区 | 日韩欧美中文字幕在线三区 | 波多野结衣 黑人 | 欧美肥老太牲交大战 | 亚洲七七久久桃花影院 | 亚洲色无码一区二区三区 | 18精品久久久无码午夜福利 | 成人无码视频在线观看网站 | 精品日本一区二区三区在线观看 | 国产免费无码一区二区视频 | а天堂中文在线官网 | 伊人久久大香线蕉av一区二区 | 国产卡一卡二卡三 | 欧美野外疯狂做受xxxx高潮 | 伊在人天堂亚洲香蕉精品区 | 无码人妻少妇伦在线电影 | 99国产精品白浆在线观看免费 | 亚洲精品成人av在线 | 国产偷自视频区视频 | 国内精品久久久久久中文字幕 | 我要看www免费看插插视频 | 国产美女极度色诱视频www | 国产精品国产自线拍免费软件 | 国产精品丝袜黑色高跟鞋 | 日韩无套无码精品 | 亚洲中文字幕在线无码一区二区 | 国产精品亚洲lv粉色 | аⅴ资源天堂资源库在线 | 国产精品久久久久久久影院 | 亚洲国产精品毛片av不卡在线 | 久久综合香蕉国产蜜臀av | 久久亚洲a片com人成 | 女人和拘做爰正片视频 | 久久久久成人精品免费播放动漫 | 国产精品无码mv在线观看 | 欧美freesex黑人又粗又大 | 俺去俺来也www色官网 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产亚洲视频中文字幕97精品 | 日日摸日日碰夜夜爽av | 中文字幕无码免费久久99 | 蜜桃视频插满18在线观看 | 婷婷六月久久综合丁香 | 又紧又大又爽精品一区二区 | 男人的天堂av网站 | 男人的天堂2018无码 | 六月丁香婷婷色狠狠久久 | 亚洲の无码国产の无码步美 | 精品久久久中文字幕人妻 | 亚洲成a人片在线观看无码3d | 久久综合九色综合欧美狠狠 | 精品国产一区二区三区四区在线看 | 国产av久久久久精东av | 5858s亚洲色大成网站www | 久久亚洲精品成人无码 | 性做久久久久久久久 | 强伦人妻一区二区三区视频18 | 女人色极品影院 | 国产亚洲精品久久久久久久 | 国产区女主播在线观看 | 国产两女互慰高潮视频在线观看 | 国产成人精品必看 | 乌克兰少妇xxxx做受 | 国产乱人无码伦av在线a | 97精品国产97久久久久久免费 | 国产97色在线 | 免 | 狠狠躁日日躁夜夜躁2020 | 亚洲成在人网站无码天堂 | 131美女爱做视频 | 欧美人妻一区二区三区 | 男女爱爱好爽视频免费看 | 亚洲人成人无码网www国产 | 免费男性肉肉影院 | 亚洲国精产品一二二线 | 国产乡下妇女做爰 | 欧美 亚洲 国产 另类 | 午夜免费福利小电影 | 中文字幕中文有码在线 | 国产舌乚八伦偷品w中 | 精品无人区无码乱码毛片国产 | 国产欧美亚洲精品a | 亚洲乱码国产乱码精品精 | 高中生自慰www网站 | 成年美女黄网站色大免费视频 | 国产精品毛多多水多 | 爆乳一区二区三区无码 | 18禁止看的免费污网站 | 粗大的内捧猛烈进出视频 | 国产精品久久久一区二区三区 | 欧美性猛交xxxx富婆 | 性色av无码免费一区二区三区 | 人妻体内射精一区二区三四 | 日韩少妇内射免费播放 | 精品欧洲av无码一区二区三区 | 国产三级精品三级男人的天堂 | 久9re热视频这里只有精品 | 国产精品国产三级国产专播 | 大地资源中文第3页 | 成人欧美一区二区三区黑人免费 | 国产69精品久久久久app下载 | 国产人妻大战黑人第1集 | 性生交片免费无码看人 | 午夜精品久久久内射近拍高清 | 男女性色大片免费网站 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲国精产品一二二线 | 色诱久久久久综合网ywww | 午夜理论片yy44880影院 | 日韩亚洲欧美中文高清在线 | 大胆欧美熟妇xx | 熟妇人妻无乱码中文字幕 | 成人片黄网站色大片免费观看 | 亚洲国产综合无码一区 | 又紧又大又爽精品一区二区 | 红桃av一区二区三区在线无码av | 99er热精品视频 | 国产成人精品久久亚洲高清不卡 | 欧美丰满老熟妇xxxxx性 | 麻豆国产97在线 | 欧洲 | 久久久婷婷五月亚洲97号色 | 成人一在线视频日韩国产 | 黑人粗大猛烈进出高潮视频 | 国产 浪潮av性色四虎 | 国模大胆一区二区三区 | 国产人妻大战黑人第1集 | 亚洲成a人一区二区三区 | 欧美乱妇无乱码大黄a片 | 色诱久久久久综合网ywww | 少妇的肉体aa片免费 | 东京热男人av天堂 | 成人免费视频在线观看 | 国产色xx群视频射精 | 久久亚洲a片com人成 | 亚洲 高清 成人 动漫 | 国产极品美女高潮无套在线观看 | 日本一卡2卡3卡四卡精品网站 | 免费看男女做好爽好硬视频 | 熟女体下毛毛黑森林 | 99久久精品无码一区二区毛片 | 日本一卡二卡不卡视频查询 | 对白脏话肉麻粗话av | 国产精品亚洲lv粉色 | 日韩av无码一区二区三区 | 精品久久8x国产免费观看 | 久久久久亚洲精品男人的天堂 | 丰满少妇人妻久久久久久 | 粉嫩少妇内射浓精videos | 亚洲欧美日韩综合久久久 | 水蜜桃色314在线观看 | 99久久人妻精品免费一区 | 高潮毛片无遮挡高清免费视频 | 中国女人内谢69xxxx | 扒开双腿吃奶呻吟做受视频 | 性生交片免费无码看人 | 无码播放一区二区三区 | 窝窝午夜理论片影院 | 水蜜桃亚洲一二三四在线 | 少妇一晚三次一区二区三区 | 国产成人一区二区三区别 | 久久久www成人免费毛片 | 欧美熟妇另类久久久久久多毛 | 日韩av无码一区二区三区 | 无码人妻出轨黑人中文字幕 | 亚洲天堂2017无码 | 亚洲中文字幕在线无码一区二区 | 99视频精品全部免费免费观看 | 九九热爱视频精品 | 88国产精品欧美一区二区三区 | 精品无人国产偷自产在线 | 网友自拍区视频精品 | 亚洲a无码综合a国产av中文 | 久久无码中文字幕免费影院蜜桃 | 又湿又紧又大又爽a视频国产 | 亚洲经典千人经典日产 | 影音先锋中文字幕无码 | 十八禁真人啪啪免费网站 | 九一九色国产 | 免费观看激色视频网站 | 色欲人妻aaaaaaa无码 | 国产欧美精品一区二区三区 | 伊人久久大香线蕉午夜 | 久久伊人色av天堂九九小黄鸭 | 亚洲色无码一区二区三区 | aⅴ亚洲 日韩 色 图网站 播放 | 无码国产色欲xxxxx视频 | 日产精品99久久久久久 | 人妻体内射精一区二区三四 | 久久综合九色综合欧美狠狠 | 欧美三级不卡在线观看 | 色 综合 欧美 亚洲 国产 | 国产成人亚洲综合无码 | 激情亚洲一区国产精品 | 亚洲中文字幕无码一久久区 | 樱花草在线社区www | 中文字幕无码av波多野吉衣 | 亚洲一区二区三区在线观看网站 | 熟妇女人妻丰满少妇中文字幕 | 国产精品永久免费视频 | 亚洲毛片av日韩av无码 | 国产精品久久久久久久影院 | 亚洲欧美综合区丁香五月小说 | 日韩精品无码免费一区二区三区 | 亚欧洲精品在线视频免费观看 | 国产精品沙发午睡系列 | 亚洲毛片av日韩av无码 | 国产综合久久久久鬼色 | ass日本丰满熟妇pics | 欧美熟妇另类久久久久久不卡 | 国产精品久久精品三级 | 成年美女黄网站色大免费全看 | 天堂一区人妻无码 | 国产一区二区三区四区五区加勒比 | 日本爽爽爽爽爽爽在线观看免 | 日日干夜夜干 | 国产精品高潮呻吟av久久 | 日本爽爽爽爽爽爽在线观看免 | 自拍偷自拍亚洲精品10p | 欧美 丝袜 自拍 制服 另类 | 日本在线高清不卡免费播放 | 亚洲一区二区三区含羞草 | 国产精品久久久久久亚洲毛片 | 亚洲一区二区三区国产精华液 | 2020久久超碰国产精品最新 | 中文字幕色婷婷在线视频 | 色综合久久久无码网中文 | 狠狠亚洲超碰狼人久久 | 中文字幕人成乱码熟女app | ass日本丰满熟妇pics | 亚洲色偷偷偷综合网 | 国产又爽又猛又粗的视频a片 | 国产无套内射久久久国产 | 黑人玩弄人妻中文在线 | аⅴ资源天堂资源库在线 | 午夜理论片yy44880影院 | 亚洲人成影院在线无码按摩店 | 未满成年国产在线观看 | 真人与拘做受免费视频 | 久久久久久a亚洲欧洲av冫 | 亚洲毛片av日韩av无码 | 国产激情综合五月久久 | 人人妻人人澡人人爽欧美精品 | 国产亚洲精品精品国产亚洲综合 | 成人精品视频一区二区三区尤物 | 日韩精品一区二区av在线 | 亚洲男女内射在线播放 | 强辱丰满人妻hd中文字幕 | 中文亚洲成a人片在线观看 | 东北女人啪啪对白 | 亚洲中文字幕无码一久久区 | 久久国产精品偷任你爽任你 | 亚洲国产午夜精品理论片 | 久久婷婷五月综合色国产香蕉 | 久久人人爽人人爽人人片av高清 | 国产婷婷色一区二区三区在线 | 国产熟女一区二区三区四区五区 | 午夜免费福利小电影 | 国产精品无码mv在线观看 | 国产成人午夜福利在线播放 | 激情人妻另类人妻伦 | 婷婷六月久久综合丁香 | 网友自拍区视频精品 | 女人被爽到呻吟gif动态图视看 | 国产两女互慰高潮视频在线观看 | 精品国偷自产在线 | 亚洲精品www久久久 | 熟妇女人妻丰满少妇中文字幕 | 影音先锋中文字幕无码 | 亚洲成a人片在线观看日本 | 婷婷六月久久综合丁香 | 国产亚洲人成a在线v网站 | 国产凸凹视频一区二区 | 中文毛片无遮挡高清免费 | 精品国偷自产在线视频 | 国产熟妇另类久久久久 | 青青青爽视频在线观看 | 奇米影视888欧美在线观看 | 亚洲人成无码网www | 婷婷六月久久综合丁香 | 好爽又高潮了毛片免费下载 | 国内精品人妻无码久久久影院 | 99久久精品国产一区二区蜜芽 | 国产超碰人人爽人人做人人添 | 天堂亚洲免费视频 | 99久久人妻精品免费二区 | 少妇性荡欲午夜性开放视频剧场 | 天天燥日日燥 | 一本久久a久久精品vr综合 | 色一情一乱一伦一区二区三欧美 | 婷婷色婷婷开心五月四房播播 | 玩弄人妻少妇500系列视频 | 亚洲热妇无码av在线播放 | 亚洲第一网站男人都懂 | 丝袜人妻一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 国产热a欧美热a在线视频 | 日韩视频 中文字幕 视频一区 | 国产麻豆精品一区二区三区v视界 | 日欧一片内射va在线影院 | 久久99精品国产.久久久久 | 无码播放一区二区三区 | 亚洲日本va中文字幕 | 久久国产精品偷任你爽任你 | 国产成人无码一二三区视频 | 精品久久久久久亚洲精品 | 内射爽无广熟女亚洲 | 无码福利日韩神码福利片 | 国产超级va在线观看视频 | 国产成人一区二区三区在线观看 | 天天综合网天天综合色 | 乌克兰少妇性做爰 | 亚洲熟悉妇女xxx妇女av | 无码人妻出轨黑人中文字幕 | 丰满少妇人妻久久久久久 | 东京热一精品无码av | 亚洲成色www久久网站 | 图片小说视频一区二区 | 国产两女互慰高潮视频在线观看 | 亚洲一区二区三区无码久久 | 蜜桃无码一区二区三区 | 久久99精品久久久久婷婷 | 国产超级va在线观看视频 | 内射老妇bbwx0c0ck | 青草青草久热国产精品 | 小鲜肉自慰网站xnxx | 中文字幕久久久久人妻 | aⅴ在线视频男人的天堂 | 少妇无码吹潮 | 亚洲第一网站男人都懂 | 鲁大师影院在线观看 | 国产三级精品三级男人的天堂 | 欧美大屁股xxxxhd黑色 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲人成网站免费播放 | 纯爱无遮挡h肉动漫在线播放 | 桃花色综合影院 | 日本xxxx色视频在线观看免费 | 久热国产vs视频在线观看 | 亚洲 激情 小说 另类 欧美 | 欧美变态另类xxxx | 亚洲另类伦春色综合小说 | 日韩av无码一区二区三区 | 亚洲国产av美女网站 | 综合人妻久久一区二区精品 | 性做久久久久久久久 | 亚洲精品欧美二区三区中文字幕 | 久久综合色之久久综合 | 色婷婷综合激情综在线播放 | 十八禁真人啪啪免费网站 | 999久久久国产精品消防器材 | 少妇久久久久久人妻无码 | 精品一区二区三区波多野结衣 | 欧美性生交活xxxxxdddd | 久久天天躁夜夜躁狠狠 | 无码人妻少妇伦在线电影 | 久久午夜无码鲁丝片午夜精品 | 亚洲天堂2017无码中文 | 中文字幕+乱码+中文字幕一区 | 久久久久99精品国产片 | 亚洲无人区午夜福利码高清完整版 | 亚洲成av人在线观看网址 | 亚洲综合久久一区二区 | 大肉大捧一进一出视频出来呀 | 国产性生交xxxxx无码 | 色婷婷av一区二区三区之红樱桃 | 激情内射日本一区二区三区 | 欧美亚洲国产一区二区三区 | 最新版天堂资源中文官网 | 亚洲人成影院在线无码按摩店 | 亚洲最大成人网站 | 亚洲一区二区三区含羞草 | 日韩精品乱码av一区二区 | 99国产精品白浆在线观看免费 | 亚洲国产精品一区二区美利坚 | 国内精品九九久久久精品 | 欧美高清在线精品一区 | 亚洲aⅴ无码成人网站国产app | 午夜不卡av免费 一本久久a久久精品vr综合 | av小次郎收藏 | 久久精品国产精品国产精品污 | 久久国产精品精品国产色婷婷 | 人人澡人人透人人爽 | 日韩欧美成人免费观看 | 久久精品国产大片免费观看 | 亚洲の无码国产の无码影院 | 强奷人妻日本中文字幕 | 乱码午夜-极国产极内射 | 中文字幕中文有码在线 | 精品国产一区二区三区四区 | 免费无码午夜福利片69 | 99er热精品视频 | 国产成人精品优优av | 亚洲国产成人av在线观看 | 麻豆精品国产精华精华液好用吗 | 波多野结衣av一区二区全免费观看 | 久久国产精品_国产精品 | 性开放的女人aaa片 | 中文字幕av无码一区二区三区电影 | 国产亚洲人成a在线v网站 | 一本色道久久综合亚洲精品不卡 | 国产无套粉嫩白浆在线 | 欧美性猛交内射兽交老熟妇 | 伊人久久婷婷五月综合97色 | 精品少妇爆乳无码av无码专区 | 亚洲成a人片在线观看无码3d | 少妇性l交大片欧洲热妇乱xxx | 国产手机在线αⅴ片无码观看 | 亚洲a无码综合a国产av中文 | 亚洲精品午夜无码电影网 | 99久久人妻精品免费二区 | 国产av一区二区三区最新精品 | 天海翼激烈高潮到腰振不止 | 国产无遮挡吃胸膜奶免费看 | 老太婆性杂交欧美肥老太 | 人人妻人人澡人人爽欧美一区 | 欧美肥老太牲交大战 | 亚洲性无码av中文字幕 | 亚洲午夜福利在线观看 | 秋霞特色aa大片 | 国产精品资源一区二区 | 中文字幕日产无线码一区 | 永久免费精品精品永久-夜色 | 男女性色大片免费网站 | 久久久久成人片免费观看蜜芽 | 国产卡一卡二卡三 | 又大又黄又粗又爽的免费视频 | 男人的天堂2018无码 | 国产偷抇久久精品a片69 | 性欧美牲交在线视频 | 国产人妻久久精品二区三区老狼 | 偷窥日本少妇撒尿chinese | 精品一区二区三区波多野结衣 | 国产精品无码一区二区桃花视频 | 四虎永久在线精品免费网址 | 国产人妻精品午夜福利免费 | 色五月丁香五月综合五月 | 日本爽爽爽爽爽爽在线观看免 | 纯爱无遮挡h肉动漫在线播放 | 一本色道婷婷久久欧美 | 国产综合久久久久鬼色 | 日韩精品无码一区二区中文字幕 | 亚洲人交乣女bbw | 国产无套内射久久久国产 | 国产精品久久久久久亚洲毛片 | 亚洲国产高清在线观看视频 | aa片在线观看视频在线播放 | 又大又紧又粉嫩18p少妇 | 国产尤物精品视频 | 99久久99久久免费精品蜜桃 | 国产极品视觉盛宴 | 国产亚洲精品久久久久久久久动漫 | 偷窥日本少妇撒尿chinese | 日韩精品乱码av一区二区 | 麻豆精品国产精华精华液好用吗 | 日本精品高清一区二区 | 日日麻批免费40分钟无码 | 国产精品久久久久久无码 | 5858s亚洲色大成网站www | 欧美激情一区二区三区成人 | 国产乱人无码伦av在线a | а√天堂www在线天堂小说 | 性开放的女人aaa片 | 国产在线精品一区二区高清不卡 | 国产成人精品无码播放 | 自拍偷自拍亚洲精品10p | 亚洲无人区午夜福利码高清完整版 | 免费网站看v片在线18禁无码 | 国产亚洲精品久久久ai换 | 亚洲狠狠色丁香婷婷综合 | 夜夜影院未满十八勿进 | 亲嘴扒胸摸屁股激烈网站 | 久久精品女人的天堂av | 在线看片无码永久免费视频 | 久久久精品欧美一区二区免费 | 亚洲精品一区三区三区在线观看 | 亚洲成色在线综合网站 | 九九久久精品国产免费看小说 | 国产日产欧产精品精品app | 亚洲欧美中文字幕5发布 | 一二三四社区在线中文视频 | 色五月五月丁香亚洲综合网 | 亚洲色无码一区二区三区 | 精品亚洲韩国一区二区三区 | 欧美一区二区三区 | 在线播放免费人成毛片乱码 | 内射白嫩少妇超碰 | 熟女俱乐部五十路六十路av | 欧美人与禽zoz0性伦交 | 国产情侣作爱视频免费观看 | 少妇无码av无码专区在线观看 | 成人无码精品一区二区三区 | 性色欲情网站iwww九文堂 | 国产乡下妇女做爰 | 色窝窝无码一区二区三区色欲 | 色爱情人网站 | 亚洲精品午夜国产va久久成人 | 国产精品美女久久久久av爽李琼 | 国产区女主播在线观看 | 1000部啪啪未满十八勿入下载 | 成人三级无码视频在线观看 | 青草青草久热国产精品 | 亚洲精品国产精品乱码视色 | 黑人巨大精品欧美一区二区 | 国产区女主播在线观看 | 国产av一区二区精品久久凹凸 | 无码任你躁久久久久久久 | 国产av人人夜夜澡人人爽麻豆 | 蜜桃无码一区二区三区 | 人人爽人人爽人人片av亚洲 | 麻豆国产人妻欲求不满 | 日日摸日日碰夜夜爽av | 男人扒开女人内裤强吻桶进去 | 日本精品久久久久中文字幕 | 亚洲人亚洲人成电影网站色 | 婷婷综合久久中文字幕蜜桃三电影 | 四虎永久在线精品免费网址 | 2019nv天堂香蕉在线观看 | 内射爽无广熟女亚洲 | 国产精华av午夜在线观看 | 人人超人人超碰超国产 | 久久综合色之久久综合 | 丰满人妻精品国产99aⅴ | 国产激情无码一区二区app | 狠狠cao日日穞夜夜穞av | 性色欲网站人妻丰满中文久久不卡 | 色老头在线一区二区三区 | 无码帝国www无码专区色综合 | 成人av无码一区二区三区 | 理论片87福利理论电影 | 性做久久久久久久免费看 | 亚洲乱码中文字幕在线 | 久久国产精品_国产精品 | 日韩精品久久久肉伦网站 | 亚洲精品成人福利网站 | 欧美精品免费观看二区 | 日日摸日日碰夜夜爽av | 欧美变态另类xxxx | 少妇高潮一区二区三区99 | 色老头在线一区二区三区 | 欧美 日韩 人妻 高清 中文 | 国产无遮挡吃胸膜奶免费看 | 学生妹亚洲一区二区 | 成在人线av无码免费 | 亚洲男人av天堂午夜在 | 清纯唯美经典一区二区 | 国产香蕉97碰碰久久人人 | 中文无码伦av中文字幕 | 亚洲成av人片在线观看无码不卡 | 亚洲无人区一区二区三区 | 欧美熟妇另类久久久久久不卡 | 国产精品.xx视频.xxtv | 野外少妇愉情中文字幕 | 欧美精品国产综合久久 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 日本精品久久久久中文字幕 | 性生交大片免费看女人按摩摩 | 377p欧洲日本亚洲大胆 | 国产农村乱对白刺激视频 | 国产成人精品优优av | 国产内射爽爽大片视频社区在线 | 最新版天堂资源中文官网 | 精品少妇爆乳无码av无码专区 | 欧美国产亚洲日韩在线二区 | 高清无码午夜福利视频 | 最新国产麻豆aⅴ精品无码 | 内射欧美老妇wbb | 99视频精品全部免费免费观看 | 国产精品内射视频免费 | 久久久精品欧美一区二区免费 | 无码人妻久久一区二区三区不卡 | 国产艳妇av在线观看果冻传媒 | 久久久久99精品国产片 | 免费看少妇作爱视频 | 思思久久99热只有频精品66 | 欧美日韩一区二区三区自拍 | av无码不卡在线观看免费 | 亚洲aⅴ无码成人网站国产app | 免费网站看v片在线18禁无码 | 亚洲一区二区三区播放 | 久久综合给合久久狠狠狠97色 | 亚洲aⅴ无码成人网站国产app | aa片在线观看视频在线播放 | 久久人人爽人人爽人人片av高清 | 又黄又爽又色的视频 | 精品久久综合1区2区3区激情 | 久久精品人人做人人综合试看 | 精品熟女少妇av免费观看 | 欧美精品无码一区二区三区 | 国产精品久久久久久久影院 | 成人欧美一区二区三区黑人免费 | 久久国产精品二国产精品 | 麻豆精品国产精华精华液好用吗 | 欧美阿v高清资源不卡在线播放 | 白嫩日本少妇做爰 | 国产真实乱对白精彩久久 | 初尝人妻少妇中文字幕 | 少妇厨房愉情理9仑片视频 | 麻花豆传媒剧国产免费mv在线 | 国产真人无遮挡作爱免费视频 | 国产精品国产三级国产专播 | 久久午夜无码鲁丝片 | 亚洲熟妇色xxxxx欧美老妇 | 麻豆成人精品国产免费 | 亚洲成熟女人毛毛耸耸多 | 少妇人妻av毛片在线看 | 最新版天堂资源中文官网 | 久青草影院在线观看国产 | 成人试看120秒体验区 | 在线成人www免费观看视频 | 日本乱人伦片中文三区 | 国产精品福利视频导航 | 亚洲性无码av中文字幕 | 国产综合久久久久鬼色 | 无码精品人妻一区二区三区av | 日韩亚洲欧美中文高清在线 | 亚洲无人区午夜福利码高清完整版 | 久久久av男人的天堂 | 婷婷六月久久综合丁香 | 无码人妻黑人中文字幕 | 国产艳妇av在线观看果冻传媒 | 久久精品中文闷骚内射 | 国产三级精品三级男人的天堂 | 人妻无码αv中文字幕久久琪琪布 | 久久97精品久久久久久久不卡 | 国产一区二区不卡老阿姨 | 国产成人无码av片在线观看不卡 | 国产精品18久久久久久麻辣 | 亚洲综合在线一区二区三区 | 国产精品美女久久久 | 色一情一乱一伦一视频免费看 | 老司机亚洲精品影院无码 | 妺妺窝人体色www婷婷 | 人人爽人人澡人人人妻 | 国产精品无码成人午夜电影 | 黑人巨大精品欧美黑寡妇 | 亚洲a无码综合a国产av中文 | 成人综合网亚洲伊人 | 国产精品福利视频导航 | 亚洲日本一区二区三区在线 | 99视频精品全部免费免费观看 | 日本欧美一区二区三区乱码 | 亚洲乱码日产精品bd | 国产精品久久久 | 午夜成人1000部免费视频 | 亚洲人成无码网www | 亚洲一区av无码专区在线观看 | 国产成人精品一区二区在线小狼 | 丰满岳乱妇在线观看中字无码 | 亚洲啪av永久无码精品放毛片 | 日日摸夜夜摸狠狠摸婷婷 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲国产精品无码一区二区三区 | 国产农村乱对白刺激视频 | 99国产精品白浆在线观看免费 | 精品国产av色一区二区深夜久久 | 亚洲最大成人网站 | 狠狠色欧美亚洲狠狠色www | 成熟人妻av无码专区 | 无码av中文字幕免费放 | 人人妻人人澡人人爽人人精品 | 免费视频欧美无人区码 | 成人精品视频一区二区 | 亚洲理论电影在线观看 | 中文字幕亚洲情99在线 | 国产成人午夜福利在线播放 | 免费观看激色视频网站 | 国产舌乚八伦偷品w中 | 亚洲人成网站免费播放 | 日本精品少妇一区二区三区 | 久久精品人妻少妇一区二区三区 | 美女黄网站人色视频免费国产 | 亚洲精品久久久久久久久久久 | 久久亚洲中文字幕无码 | 高潮喷水的毛片 | 亚洲一区二区三区四区 | 乱码午夜-极国产极内射 | 亚洲а∨天堂久久精品2021 | 正在播放东北夫妻内射 | 亚洲中文字幕在线无码一区二区 | 97久久精品无码一区二区 | 欧美freesex黑人又粗又大 | 无套内射视频囯产 | 一本无码人妻在中文字幕免费 | 久久久av男人的天堂 | 久久午夜无码鲁丝片午夜精品 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲va欧美va天堂v国产综合 | 日本熟妇大屁股人妻 | 性生交大片免费看l | 国产内射爽爽大片视频社区在线 | 18禁黄网站男男禁片免费观看 | 一本精品99久久精品77 | 久久久婷婷五月亚洲97号色 | 美女极度色诱视频国产 | 夜精品a片一区二区三区无码白浆 | 性欧美牲交在线视频 | 日日躁夜夜躁狠狠躁 | 亚洲无人区午夜福利码高清完整版 | 2019午夜福利不卡片在线 | 国产女主播喷水视频在线观看 | 国产电影无码午夜在线播放 | 人妻少妇精品久久 | 亚洲最大成人网站 | 欧美性黑人极品hd | 国产午夜无码精品免费看 | 国产激情综合五月久久 | 亚洲日韩av片在线观看 | 午夜福利一区二区三区在线观看 | 300部国产真实乱 | 玩弄少妇高潮ⅹxxxyw | 狠狠色色综合网站 | 国产婷婷色一区二区三区在线 | 性色欲网站人妻丰满中文久久不卡 | 国产精品久久久久久亚洲毛片 | 精品亚洲成av人在线观看 | 亚洲成av人综合在线观看 | 最新国产乱人伦偷精品免费网站 | 国产午夜无码视频在线观看 | 性色av无码免费一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 久久久久久国产精品无码下载 | 成年美女黄网站色大免费全看 | 午夜肉伦伦影院 | 日韩欧美中文字幕在线三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 一本久久a久久精品vr综合 | 性生交大片免费看女人按摩摩 | 国产va免费精品观看 | 久久99精品久久久久婷婷 | 国产性生大片免费观看性 | 福利一区二区三区视频在线观看 | 成人av无码一区二区三区 | 久久久久久九九精品久 | 亚洲成a人一区二区三区 | 在线精品亚洲一区二区 | 国产国产精品人在线视 | 久久97精品久久久久久久不卡 | 青春草在线视频免费观看 | 77777熟女视频在线观看 а天堂中文在线官网 | 性史性农村dvd毛片 | 国产一区二区不卡老阿姨 | 永久免费观看美女裸体的网站 | 六月丁香婷婷色狠狠久久 | 久久精品女人天堂av免费观看 | 嫩b人妻精品一区二区三区 | 综合激情五月综合激情五月激情1 | 熟女体下毛毛黑森林 | √8天堂资源地址中文在线 | 久久精品99久久香蕉国产色戒 | 色综合久久久久综合一本到桃花网 | 免费国产黄网站在线观看 | 特黄特色大片免费播放器图片 | 97夜夜澡人人爽人人喊中国片 | 大胆欧美熟妇xx | 国产精品无码成人午夜电影 | 在线视频网站www色 | 中文字幕人妻无码一夲道 | 国产精品手机免费 | 亚洲人成网站在线播放942 | 性生交片免费无码看人 | 日欧一片内射va在线影院 | 国产熟女一区二区三区四区五区 | 精品熟女少妇av免费观看 | 无码人妻少妇伦在线电影 | 乱人伦中文视频在线观看 | 欧美一区二区三区视频在线观看 | 日本一卡2卡3卡四卡精品网站 | 成人女人看片免费视频放人 | 色婷婷欧美在线播放内射 | 又湿又紧又大又爽a视频国产 | 伊人久久婷婷五月综合97色 | 曰韩无码二三区中文字幕 | 欧美高清在线精品一区 | 丰满少妇人妻久久久久久 | 水蜜桃色314在线观看 | 亚洲 高清 成人 动漫 | 国产亚洲精品精品国产亚洲综合 | 日本欧美一区二区三区乱码 | 亚洲一区二区三区国产精华液 | 初尝人妻少妇中文字幕 | 一本加勒比波多野结衣 | 久久综合给合久久狠狠狠97色 | 99久久精品国产一区二区蜜芽 | 狂野欧美性猛交免费视频 | 九九热爱视频精品 | 娇妻被黑人粗大高潮白浆 | 丰满少妇熟乱xxxxx视频 | 国产成人人人97超碰超爽8 | 中文字幕无码视频专区 | 国产精品va在线观看无码 | 亚洲男人av天堂午夜在 | 亚洲中文字幕在线观看 | 人人爽人人爽人人片av亚洲 | 牛和人交xxxx欧美 | 在线播放亚洲第一字幕 | 影音先锋中文字幕无码 | 亚洲精品综合五月久久小说 | 波多野结衣一区二区三区av免费 | 国产亚洲人成在线播放 | 成人无码视频在线观看网站 | 国产成人无码av片在线观看不卡 | 久久精品国产一区二区三区 | 亚洲国产成人a精品不卡在线 | 日韩精品无码一本二本三本色 | 国产亚洲tv在线观看 | 国产色在线 | 国产 | 六十路熟妇乱子伦 | 丰满人妻精品国产99aⅴ | 纯爱无遮挡h肉动漫在线播放 | 亚洲人成网站在线播放942 | 久久亚洲中文字幕无码 | 日本精品人妻无码免费大全 | 极品嫩模高潮叫床 | 国产suv精品一区二区五 | 99久久婷婷国产综合精品青草免费 | 亚洲人成影院在线观看 | 国产手机在线αⅴ片无码观看 | 熟女俱乐部五十路六十路av | 国产成人无码区免费内射一片色欲 | 色欲人妻aaaaaaa无码 | 国产色xx群视频射精 | 日本一区二区更新不卡 | 国产亚洲人成a在线v网站 | 日韩成人一区二区三区在线观看 | 国产高清不卡无码视频 | 欧美日韩一区二区三区自拍 | 久久99久久99精品中文字幕 | 久久国产精品精品国产色婷婷 | 好屌草这里只有精品 | 亚洲精品成人福利网站 | 天天拍夜夜添久久精品 | 国产真实乱对白精彩久久 | 中文字幕无码人妻少妇免费 | 久久婷婷五月综合色国产香蕉 | 国产乱子伦视频在线播放 | 久久综合九色综合欧美狠狠 | 中文字幕日韩精品一区二区三区 | 午夜熟女插插xx免费视频 | 漂亮人妻洗澡被公强 日日躁 | 国产两女互慰高潮视频在线观看 | 无码人妻黑人中文字幕 | 人人妻人人藻人人爽欧美一区 | 俺去俺来也在线www色官网 | 俺去俺来也www色官网 | 日韩在线不卡免费视频一区 | 无码人妻久久一区二区三区不卡 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 真人与拘做受免费视频 | 亚洲国精产品一二二线 | 激情国产av做激情国产爱 | 天天做天天爱天天爽综合网 | 捆绑白丝粉色jk震动捧喷白浆 | 青草青草久热国产精品 | 国产无遮挡又黄又爽又色 | 日本精品人妻无码77777 天堂一区人妻无码 | 99视频精品全部免费免费观看 | 无码国模国产在线观看 | 人妻插b视频一区二区三区 | 国产人妻精品一区二区三区 | 夜夜高潮次次欢爽av女 | 狠狠色欧美亚洲狠狠色www | 日韩无码专区 | 丰满少妇人妻久久久久久 | 人妻少妇精品无码专区二区 | 任你躁在线精品免费 | 在线成人www免费观看视频 | 国产精品理论片在线观看 | 成人欧美一区二区三区 | 在线成人www免费观看视频 | 亚洲无人区一区二区三区 | 中文字幕人成乱码熟女app | 久久精品中文字幕一区 | 中文字幕无码乱人伦 | 国产成人精品视频ⅴa片软件竹菊 | 免费乱码人妻系列无码专区 | 麻豆蜜桃av蜜臀av色欲av | 精品久久久久久人妻无码中文字幕 | av人摸人人人澡人人超碰下载 | 亚洲aⅴ无码成人网站国产app | 好男人www社区 | 一二三四在线观看免费视频 | 国产高清av在线播放 | 国产精品.xx视频.xxtv | 人人妻人人澡人人爽人人精品浪潮 | 欧美丰满熟妇xxxx | 国产精品久久久久久久9999 | 在线精品国产一区二区三区 | 日本高清一区免费中文视频 | 久久久久久久人妻无码中文字幕爆 | 日欧一片内射va在线影院 | 免费人成在线观看网站 | 久久精品人妻少妇一区二区三区 | 久久久久久久人妻无码中文字幕爆 | 亚洲一区二区三区 | 国产在线精品一区二区高清不卡 | 欧洲欧美人成视频在线 | 欧美黑人巨大xxxxx | 国产精品久久久一区二区三区 | 性生交大片免费看l | 国产明星裸体无码xxxx视频 | 午夜精品一区二区三区在线观看 | 午夜时刻免费入口 | 无码av免费一区二区三区试看 | 性做久久久久久久免费看 | 欧美熟妇另类久久久久久不卡 | 捆绑白丝粉色jk震动捧喷白浆 | 少妇被黑人到高潮喷出白浆 | 久久久久se色偷偷亚洲精品av | 丰满少妇女裸体bbw | 亚洲中文字幕无码中文字在线 | 真人与拘做受免费视频一 | 曰韩无码二三区中文字幕 | 日本精品少妇一区二区三区 | 国产精品对白交换视频 | 精品国产精品久久一区免费式 | 精品国产av色一区二区深夜久久 | 国产免费久久精品国产传媒 | 东京热男人av天堂 | 欧美怡红院免费全部视频 | 夫妻免费无码v看片 | 亚洲国产综合无码一区 | 亚洲成av人综合在线观看 | 国产精品亚洲а∨无码播放麻豆 | 人妻人人添人妻人人爱 | v一区无码内射国产 | 成人亚洲精品久久久久软件 | 成人无码视频免费播放 | 无码av最新清无码专区吞精 | 国产色在线 | 国产 | 任你躁在线精品免费 | 亚洲精品午夜无码电影网 | 未满小14洗澡无码视频网站 | 日本一区二区三区免费播放 | 成人欧美一区二区三区黑人 | 亚洲aⅴ无码成人网站国产app | 无遮挡国产高潮视频免费观看 | 国产成人综合色在线观看网站 | 国产精品香蕉在线观看 | 蜜桃视频插满18在线观看 | 国产精品福利视频导航 | 亚洲乱码中文字幕在线 | 国产综合色产在线精品 | 乱人伦中文视频在线观看 | 欧美第一黄网免费网站 | 黑人粗大猛烈进出高潮视频 | 日本欧美一区二区三区乱码 | av香港经典三级级 在线 | 久久久精品人妻久久影视 | 亚洲国产av精品一区二区蜜芽 | 亚洲 a v无 码免 费 成 人 a v | 国产成人无码av一区二区 | 人妻少妇精品无码专区二区 | 成人影院yy111111在线观看 | 成人无码影片精品久久久 | 日韩精品久久久肉伦网站 | 精品一区二区三区无码免费视频 | 少妇性俱乐部纵欲狂欢电影 | 久热国产vs视频在线观看 | 99精品国产综合久久久久五月天 | 久久国产精品精品国产色婷婷 | 色综合久久88色综合天天 | 国产99久久精品一区二区 | 国产性生交xxxxx无码 | 久久久中文久久久无码 | 亚洲热妇无码av在线播放 | 全黄性性激高免费视频 | 在线亚洲高清揄拍自拍一品区 | 日本熟妇大屁股人妻 | 国产午夜福利100集发布 | 中文无码精品a∨在线观看不卡 | 97久久精品无码一区二区 | av无码久久久久不卡免费网站 | 青青草原综合久久大伊人精品 | 人妻熟女一区 | 欧美丰满少妇xxxx性 | 亚洲精品一区二区三区在线观看 | 中文精品久久久久人妻不卡 | 精品国偷自产在线视频 | 成人av无码一区二区三区 | 1000部夫妻午夜免费 | 人人澡人人透人人爽 | 国内精品人妻无码久久久影院蜜桃 | 任你躁在线精品免费 | 人妻中文无码久热丝袜 | 伊人久久大香线焦av综合影院 | 亚洲精品一区二区三区在线观看 | 亚洲区小说区激情区图片区 | 兔费看少妇性l交大片免费 | 久久午夜无码鲁丝片 | 国产精品毛多多水多 | 国产美女极度色诱视频www | 日本丰满熟妇videos | 亚洲午夜久久久影院 | 久久久www成人免费毛片 | 粗大的内捧猛烈进出视频 | 精品久久久中文字幕人妻 | 成人免费视频视频在线观看 免费 | ass日本丰满熟妇pics | 九九热爱视频精品 | 亚洲毛片av日韩av无码 | 熟女少妇在线视频播放 | 久久综合香蕉国产蜜臀av | 久久人人爽人人爽人人片av高清 | 欧美日韩色另类综合 | 国产成人精品视频ⅴa片软件竹菊 | 黑人大群体交免费视频 | 高清不卡一区二区三区 | 国产精品久久久久无码av色戒 | 亲嘴扒胸摸屁股激烈网站 | 国内精品久久久久久中文字幕 | 成人毛片一区二区 | 人妻体内射精一区二区三四 | 99精品无人区乱码1区2区3区 | 日本成熟视频免费视频 | 西西人体www44rt大胆高清 | 永久免费观看美女裸体的网站 | 呦交小u女精品视频 | 少妇无码av无码专区在线观看 | 日日摸夜夜摸狠狠摸婷婷 | 人人超人人超碰超国产 | 一区二区三区高清视频一 | 啦啦啦www在线观看免费视频 | 亚无码乱人伦一区二区 | 好男人www社区 | 久久久久免费精品国产 | 97精品人妻一区二区三区香蕉 | 国产精品久久国产三级国 | 国产亚洲精品久久久久久久久动漫 | 人妻插b视频一区二区三区 | 久久精品人人做人人综合 | 荫蒂被男人添的好舒服爽免费视频 | 天天躁夜夜躁狠狠是什么心态 | 亚洲国产成人av在线观看 | 欧美精品无码一区二区三区 | 老熟女重囗味hdxx69 | 最新国产乱人伦偷精品免费网站 | 亚洲精品综合五月久久小说 | 日韩精品久久久肉伦网站 | 成熟人妻av无码专区 | 中文字幕日韩精品一区二区三区 | 亚洲国产精品毛片av不卡在线 | 免费观看激色视频网站 | 人人妻人人藻人人爽欧美一区 | 欧美日本免费一区二区三区 | 九九久久精品国产免费看小说 | 亚洲s码欧洲m码国产av | 中文字幕无码人妻少妇免费 | 九九热爱视频精品 | 99视频精品全部免费免费观看 | 偷窥日本少妇撒尿chinese | 亚洲国产午夜精品理论片 | 精品成在人线av无码免费看 | 亚洲色在线无码国产精品不卡 | 国产午夜手机精彩视频 | 国产成人无码av一区二区 | 99riav国产精品视频 | 日韩人妻少妇一区二区三区 | 精品一区二区不卡无码av | 成人影院yy111111在线观看 | 国产精品人人爽人人做我的可爱 | 少妇性l交大片 | 午夜男女很黄的视频 | 国语精品一区二区三区 | 日韩无码专区 | 久久久精品成人免费观看 | 亚洲欧美日韩综合久久久 | 国产成人综合色在线观看网站 | 人人妻人人澡人人爽人人精品 | 18禁止看的免费污网站 | 国产精品美女久久久 | 中文字幕 人妻熟女 | 国产午夜手机精彩视频 | 日本乱人伦片中文三区 | 精品国产一区二区三区四区在线看 | 亚洲欧美色中文字幕在线 | 久久久久久久久蜜桃 | 精品人妻人人做人人爽 | 最新国产麻豆aⅴ精品无码 | 麻豆国产97在线 | 欧洲 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲精品中文字幕乱码 | 国产成人无码专区 | 一本无码人妻在中文字幕免费 | a片免费视频在线观看 | 在线观看国产一区二区三区 | 丰满妇女强制高潮18xxxx | 老熟妇乱子伦牲交视频 | 亚洲精品久久久久avwww潮水 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 狠狠色色综合网站 | 精品无人国产偷自产在线 | 日韩亚洲欧美中文高清在线 | 天下第一社区视频www日本 | 精品国产成人一区二区三区 | 无码播放一区二区三区 | 国产亚洲美女精品久久久2020 | 国产综合久久久久鬼色 | 99精品国产综合久久久久五月天 | 99riav国产精品视频 | 无码吃奶揉捏奶头高潮视频 | 国产极品美女高潮无套在线观看 | 国产人妻人伦精品1国产丝袜 | 精品一区二区三区无码免费视频 | 亚洲日韩av一区二区三区中文 | 久久久国产一区二区三区 | 亚洲一区二区观看播放 | 欧美日韩一区二区三区自拍 | 久久综合给合久久狠狠狠97色 | 国产精品二区一区二区aⅴ污介绍 | 无码国产色欲xxxxx视频 | 国语精品一区二区三区 | 国产亚洲人成a在线v网站 | 无人区乱码一区二区三区 | 国产精品亚洲五月天高清 | 女人被男人爽到呻吟的视频 | 波多野结衣av一区二区全免费观看 | 久久综合给久久狠狠97色 | 亚洲春色在线视频 | 欧美国产日韩亚洲中文 | 婷婷五月综合缴情在线视频 | 色欲综合久久中文字幕网 | 国产熟女一区二区三区四区五区 | 欧美 亚洲 国产 另类 | 给我免费的视频在线观看 | 精品无码一区二区三区爱欲 | 极品尤物被啪到呻吟喷水 | 无套内射视频囯产 | 熟女少妇人妻中文字幕 | 亚洲日本在线电影 | 免费乱码人妻系列无码专区 | 国产精品资源一区二区 | 强开小婷嫩苞又嫩又紧视频 | 丰满人妻一区二区三区免费视频 | 中文字幕 人妻熟女 | 免费无码av一区二区 | 曰韩无码二三区中文字幕 | 日韩精品无码免费一区二区三区 | 在线播放无码字幕亚洲 | 亚洲第一无码av无码专区 | 成人精品视频一区二区三区尤物 | 国内丰满熟女出轨videos | 成人精品天堂一区二区三区 | 中文字幕无线码免费人妻 | 国产香蕉97碰碰久久人人 | 精品国产一区av天美传媒 | 日韩欧美中文字幕在线三区 | 中文字幕无码日韩欧毛 | 天堂а√在线地址中文在线 | 麻豆md0077饥渴少妇 | 日本成熟视频免费视频 | 日韩av无码一区二区三区不卡 | 精品久久久中文字幕人妻 | 色婷婷久久一区二区三区麻豆 | 日本护士毛茸茸高潮 | 扒开双腿吃奶呻吟做受视频 | 亚洲成a人片在线观看无码3d | 国产真实夫妇视频 | 少妇高潮一区二区三区99 | 亚洲伊人久久精品影院 | 老子影院午夜伦不卡 | 中文字幕精品av一区二区五区 | 丝袜人妻一区二区三区 | 国产精品亚洲а∨无码播放麻豆 | 在线看片无码永久免费视频 | 国产69精品久久久久app下载 | 婷婷综合久久中文字幕蜜桃三电影 | 久久综合狠狠综合久久综合88 | 极品尤物被啪到呻吟喷水 | 国产国产精品人在线视 | 国产女主播喷水视频在线观看 | 亚洲狠狠色丁香婷婷综合 | 久久久久99精品国产片 | 国产人妖乱国产精品人妖 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久综合久久自在自线精品自 | 牲交欧美兽交欧美 | 激情内射亚州一区二区三区爱妻 | 久久久久免费看成人影片 | 无码吃奶揉捏奶头高潮视频 | 久久午夜夜伦鲁鲁片无码免费 | 青草青草久热国产精品 | 国产精品久免费的黄网站 | 国产香蕉97碰碰久久人人 | 国产精品亚洲专区无码不卡 | 国内综合精品午夜久久资源 | 久久精品人人做人人综合试看 | 亚洲中文字幕无码一久久区 | 一个人免费观看的www视频 | 97久久国产亚洲精品超碰热 | 久久人人97超碰a片精品 | 免费网站看v片在线18禁无码 | 老子影院午夜伦不卡 | 九九久久精品国产免费看小说 | 日本乱偷人妻中文字幕 | 色综合久久网 | 亚洲日韩一区二区三区 | 亚洲国产精品久久久天堂 | 激情国产av做激情国产爱 | 久久久久av无码免费网 | 亚洲综合伊人久久大杳蕉 | 一本色道久久综合狠狠躁 | 中文字幕乱码人妻无码久久 | 精品一二三区久久aaa片 | 亚洲va欧美va天堂v国产综合 | 成人精品视频一区二区 | 中文无码成人免费视频在线观看 | 国产97色在线 | 免 | 人人妻人人澡人人爽精品欧美 | 国产精品多人p群无码 | 国产熟女一区二区三区四区五区 | 国产高清av在线播放 | 亚洲热妇无码av在线播放 | 亚洲日本一区二区三区在线 | 熟妇女人妻丰满少妇中文字幕 | 欧美老妇交乱视频在线观看 | 内射老妇bbwx0c0ck | 又黄又爽又色的视频 | 国产av无码专区亚洲awww | 国产成人无码av一区二区 | 午夜精品久久久久久久 | 国产三级久久久精品麻豆三级 | 亚洲第一无码av无码专区 | 国产va免费精品观看 | 天堂а√在线地址中文在线 | 亚洲成色www久久网站 | 精品无码av一区二区三区 | www国产亚洲精品久久久日本 | 在线看片无码永久免费视频 | 久久伊人色av天堂九九小黄鸭 | 18精品久久久无码午夜福利 | 亚洲精品一区三区三区在线观看 | 亚洲精品中文字幕乱码 | 亚洲啪av永久无码精品放毛片 | 国产无遮挡又黄又爽又色 | 色五月五月丁香亚洲综合网 | 老熟女乱子伦 | 国产亚洲精品久久久久久国模美 | 性做久久久久久久久 | 成人免费视频视频在线观看 免费 | 久久久久久a亚洲欧洲av冫 | 久久精品女人天堂av免费观看 | 国产成人人人97超碰超爽8 | 久久zyz资源站无码中文动漫 | 成人三级无码视频在线观看 | 亚洲精品美女久久久久久久 | 国产精品美女久久久网av | 久久人妻内射无码一区三区 | 天天摸天天透天天添 | 免费男性肉肉影院 | 在线观看免费人成视频 | 1000部夫妻午夜免费 | 精品国产麻豆免费人成网站 | 成人亚洲精品久久久久软件 | 7777奇米四色成人眼影 | 色诱久久久久综合网ywww | 亚洲欧洲中文日韩av乱码 | 久久久久成人片免费观看蜜芽 | 国内精品人妻无码久久久影院 | 国产成人精品三级麻豆 | 中文字幕无线码 | 午夜成人1000部免费视频 | 色婷婷综合中文久久一本 | 成人免费视频视频在线观看 免费 | 国产乱子伦视频在线播放 | а√天堂www在线天堂小说 | 中文字幕无码日韩欧毛 | 无码免费一区二区三区 | 亚洲成a人片在线观看无码 | 亚洲一区二区三区香蕉 | 欧美 丝袜 自拍 制服 另类 | 欧美高清在线精品一区 | 日韩精品无码一区二区中文字幕 | 亚洲综合久久一区二区 | 精品一区二区三区波多野结衣 | 熟女少妇人妻中文字幕 | 精品无码国产自产拍在线观看蜜 | 性欧美大战久久久久久久 | 亚洲乱码国产乱码精品精 | 国产精品99久久精品爆乳 | 在线精品亚洲一区二区 | 大地资源中文第3页 | 水蜜桃色314在线观看 | 国产av无码专区亚洲awww | 国产午夜亚洲精品不卡下载 | 女人被爽到呻吟gif动态图视看 | 综合网日日天干夜夜久久 | 国产美女精品一区二区三区 | 国产综合在线观看 | 亚洲日本一区二区三区在线 | 精品国产一区二区三区四区 | 亚洲最大成人网站 | 无码国产激情在线观看 | 99精品国产综合久久久久五月天 | 18黄暴禁片在线观看 | 高潮毛片无遮挡高清免费 | 精品久久久久香蕉网 | 国产欧美熟妇另类久久久 | 色一情一乱一伦一视频免费看 | 我要看www免费看插插视频 | 美女扒开屁股让男人桶 | 欧美变态另类xxxx | 玩弄少妇高潮ⅹxxxyw | 亚洲 a v无 码免 费 成 人 a v | 无码播放一区二区三区 | 国产免费久久精品国产传媒 | 国产人妖乱国产精品人妖 | 久久综合九色综合欧美狠狠 | 精品无码一区二区三区爱欲 | a在线亚洲男人的天堂 | 午夜无码人妻av大片色欲 | 免费观看又污又黄的网站 | 国产两女互慰高潮视频在线观看 | 欧美老妇与禽交 | 亚洲精品成人av在线 | 人人澡人人妻人人爽人人蜜桃 | 又大又硬又黄的免费视频 | 亚洲精品无码人妻无码 | 成人免费视频视频在线观看 免费 | aⅴ在线视频男人的天堂 | 狂野欧美激情性xxxx | 亚洲狠狠婷婷综合久久 | 免费观看激色视频网站 | 国产一区二区三区日韩精品 | 国产麻豆精品一区二区三区v视界 | 久精品国产欧美亚洲色aⅴ大片 | 国产人妻精品一区二区三区不卡 | 国产精品二区一区二区aⅴ污介绍 | 国产精品永久免费视频 | 亚洲国产成人av在线观看 | 2020久久超碰国产精品最新 | 成人一区二区免费视频 | 精品成在人线av无码免费看 | 性欧美大战久久久久久久 | 精品偷拍一区二区三区在线看 | 牲交欧美兽交欧美 | 久久精品99久久香蕉国产色戒 | 巨爆乳无码视频在线观看 | 成人精品视频一区二区三区尤物 | 玩弄中年熟妇正在播放 | 日本精品人妻无码77777 天堂一区人妻无码 | 午夜男女很黄的视频 | 精品一区二区三区无码免费视频 | 全黄性性激高免费视频 |