日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap

發(fā)布時(shí)間:2023/12/20 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HACK #15 ramzswap

本節(jié)介紹將一部分內(nèi)存作為交換設(shè)備使用的ramzswap。
ramzswap是將一部分內(nèi)存空間作為交換設(shè)備使用的基于RAM的塊設(shè)備。對(duì)要換出(swapout)的頁面進(jìn)行壓縮后,不是寫入磁盤,而是寫入內(nèi)存。可以使用的內(nèi)存僅為完成壓縮的部分。壓縮處理使用的是LZO注1。
ramzswap是從Linux 2.6.33合并到Staging驅(qū)動(dòng)程序的。Staging驅(qū)動(dòng)程序是指尚未達(dá)到某種程度的質(zhì)量的試驗(yàn)性驅(qū)動(dòng)程序。
通過使用ramzswap,運(yùn)轉(zhuǎn)速度可以比換出到一般磁盤設(shè)備時(shí)更高。這是因?yàn)閮?nèi)存的I/O較快,且經(jīng)過壓縮后I/O變小。只有用于嵌入式系統(tǒng)的內(nèi)存等的機(jī)器中,可以避免內(nèi)存不足時(shí)由于內(nèi)存回收處理導(dǎo)致性能極端下降,或抑制OOM Killer的運(yùn)行。
ramzswap的項(xiàng)目在如下環(huán)境中,即使減去壓縮/解壓縮的CPU系統(tǒng)開銷,也可以提高性能。
上網(wǎng)本或瘦客戶機(jī)(thin client)這種配備了內(nèi)存容量小但CPU性能較高的的PC。
在組裝機(jī)器上,不想在外部閃存存儲(chǔ)器(flash memory storage)中生成交換區(qū)時(shí)。
使用ramzswap時(shí),可以使用已經(jīng)整合到上游內(nèi)核的,也可以從論壇中下載并使用。
整合到上游內(nèi)核的ramzswap實(shí)際安裝了論壇的部分成果。本節(jié)將針對(duì)上游內(nèi)核和論壇版內(nèi)核進(jìn)行介紹。Linux內(nèi)核以2.6.35為例,論壇數(shù)據(jù)包以版本0.6.2為例。操作系統(tǒng)使用Fedora 12。
使用論壇版ramzswap
使用論壇版的數(shù)據(jù)包時(shí),首先需要下載數(shù)據(jù)包進(jìn)行編譯。由于要對(duì)內(nèi)核模塊進(jìn)行編譯,因此必須事先安裝kernel-devel。

$ wget http://compcache.googlecode.com/files/compcache-0.6.2.tar.gz $ tar zxvf compcache-0.6.2.tar.gz $ cd compcache-0.6.2/ $ make

make命令結(jié)束后,將生成內(nèi)核模塊ramzswap.ko和ramzswap設(shè)備的控制工具—rzscontrol命令和rzscontrol命令的manual文件。
小貼士:ramswap版本0.6.2的運(yùn)行已經(jīng)在Linux 2.6.32中確認(rèn)。使用RHEL6編譯時(shí),需要在ramzswap_drv.c的最前面加上#include 。
rzscontrol命令創(chuàng)建的路徑為compcache-0.6.2/sub-projects/rzscontrol/rzscontrol,manual文件創(chuàng)建的路徑為compcache-0.6.2/sub-projects/rzscontrol/man/rzscontrol.1。ramzswap版本0.6.2不會(huì)通過make命令自動(dòng)安裝。可以直接使用這些文件。
ramzswap的使用方法有兩種。一種是在內(nèi)存中創(chuàng)建虛擬交換區(qū)磁盤的ramzswap disk,另一種是在使用內(nèi)存的同時(shí)使用交換文件或交換塊設(shè)備的backing swap。一般系統(tǒng)與使用ramzswap disk、backing swap系統(tǒng)的內(nèi)存和交換區(qū)的關(guān)系如圖2-2所示。

圖2-2 一般系統(tǒng)與使用ramzswap disk、backing swap的系統(tǒng)的內(nèi)存和交換區(qū)的關(guān)系
首先介紹第一個(gè)ramzswap disk。
ramzswap disk的使用方法
使用ramzswap disk,首先需要將用來壓縮/解壓縮數(shù)據(jù)的LZO模塊安裝到內(nèi)核中。

# modprobe lzo_compress #modprobe lzo_decompress

注意事項(xiàng):在部分發(fā)布版(Fedora14等)中,把lzo_decompress模塊靜態(tài)安裝到內(nèi)核中,有時(shí)會(huì)因?yàn)闆]有模塊而導(dǎo)致modprobe失敗。

# modprobe lzo_decompress FATAL:Module lzo_decompress not found.

沒有模塊,也沒有靜態(tài)安裝到內(nèi)核時(shí),對(duì)ramzswap.ko執(zhí)行insmod命令,就會(huì)出現(xiàn)如下錯(cuò)誤。

# insmod ramzswap.ko insmod: error inserting 'ramzswap.ko': -1 Unknown symbol in module

自己構(gòu)建內(nèi)核時(shí),請(qǐng)將CONFIG_LZO_DECOMPRESS設(shè)置為y或m。把像Fedora 14這樣lzo_decompress靜態(tài)安裝到內(nèi)核的情況下,ramzswap.ko的insmod會(huì)成功。
接下來安裝ramzswap模塊。這里將設(shè)置num_devices=4,以生成4個(gè)設(shè)備文件。

# insmod ./ramzswap.ko num_devices=4 # ls /dev/ramzswap* /dev/ramzswap0 /dev/ramzswap1 /dev/ramzswap2 /dev/ramzswap3 # lsmod Module Size Used by ramzswap 21108 0 lzo_decompress 2768 1 ramzswap lzo_compress 2480 1 ramzswap ......

將ramzswap模塊安裝到內(nèi)核的同時(shí),還可以設(shè)置各參數(shù)。下面是設(shè)置作為ramzswap disk使用的內(nèi)存大小的例子。

insmod ramzswap.ko num_devices=4 disksize_kb=20480

只有/dev/ramzswap0的初始化(后面介紹--init選項(xiàng))和disksize_kb參數(shù)設(shè)置是自動(dòng)進(jìn)行的。/dev/ramzswap1~3的初始化和disksize_kb參數(shù)需要另行設(shè)置。
后面也可以在rzscontol命令中設(shè)置相同參數(shù)。但是num_devices只能在安裝模塊時(shí)進(jìn)行設(shè)置。表2-9所示為可設(shè)置的參數(shù)列表。其內(nèi)容將在后面詳細(xì)說明。
表2-9 ramzswap的模塊參數(shù)與rzscontrol命令的選項(xiàng)

安裝ramzswap模塊后,為了作為交換區(qū)使用對(duì)ramzswap設(shè)備進(jìn)行初始化,并啟用交換功能。

# sub-projects/rzscontrol/rzscontrol /dev/ramzswap0 - -init # swapon /dev/ramzswap0

這時(shí)也可以使用-p選項(xiàng)指定優(yōu)先級(jí),與已有的交換設(shè)備同時(shí)使用。這個(gè)值較大表示優(yōu)先級(jí)較高,因此應(yīng)當(dāng)指定比一般的交換設(shè)備更大的值。

# swapon -p 100 /dev/ramzswap0 # swapon -s Filename Type Size Used Priority /dev/ramzswap0 partition 511992 0 100 /dev/sda2 partition 2047992 0 -1

這時(shí),ramzswap設(shè)備的交換功能就已啟用。使用一定數(shù)量的內(nèi)存后,就會(huì)發(fā)生換出。
可以使用rzscontrol命令的--stats選項(xiàng)來確認(rèn)ramzswap的統(tǒng)計(jì)信息和狀態(tài)。

# sub-projects/rzscontrol/rzscontrol /dev/ramzswap --stats

表2-10為此時(shí)的輸出結(jié)果和各項(xiàng)目的說明。
表2-10 執(zhí)行ramzswap disk命令時(shí)rzscontrol --stats的輸出結(jié)果

由于ramzswap不會(huì)立刻釋放保留的內(nèi)存,因此OrigDataSize和free命令的數(shù)值不一定一致。
rzscontrol命令也可以對(duì)各個(gè)ramzswap設(shè)備進(jìn)行設(shè)置。使用--disksize_kb選項(xiàng)可以設(shè)置ramzswap設(shè)備的大小(單位為千字節(jié))。執(zhí)行下列命令就可以設(shè)置ramzswap設(shè)備的容量。

# sub-projects/rzscontrol/rzscontrol /dev/ramzswap0 --init --disksize_kb=10240

要將ramzswap設(shè)備排除在交換對(duì)象之外,可以使用swapoff命令。

# swapoff /dev/ramzswap0

要關(guān)閉ramzswap,需要在swapoff之后使用rzscontrol命令的--reset選項(xiàng)釋放殘留在ramzswap磁盤中的內(nèi)存。最后將模塊從內(nèi)核中移除。

# sub-projects/rzscontrol/rzscontrol /dev/ramzswap0 --reset # rmmod ramzswap

backing swap的使用方法
ramzswap還有另一種使用方法,就是將部分內(nèi)存作為ramzswap disk使用,再將交換文件或交換塊設(shè)備作為backing swap使用。
ramswap為內(nèi)存和磁盤的兩層。如果內(nèi)存稍有不足,則僅使用內(nèi)存的ramzswap disk進(jìn)行處理,但如果缺少更多內(nèi)存,則頁面的內(nèi)容存放到backing swap中。
下面介紹backing swap的使用方法。
首先與ramzswap disk同樣進(jìn)行設(shè)置。

# modprobe lzo_compress # modprobe lzo_decompress # insmod ./ramzswap.ko num_devices=4

然后使用rzscontrol命令指定backing swap。

# sub-projects/rzscontrol/rzscontrol /dev/ramzswap0 --init --backing_swap=/dev/sda2 --memlimit_kb=10240

使用--backing_swap選項(xiàng)指定交換文件或交換塊設(shè)備。這里指定的是塊設(shè)備/dev/sda2。--memlimit_kb選項(xiàng)指定的是作為ramzswap disk使用的內(nèi)存大小。使用內(nèi)存的方式基本與ramzswap disk相同。沒有指定時(shí)設(shè)置為所有內(nèi)存大小的15%。這里設(shè)置為10240KB。
最后啟用已生成設(shè)備的交換功能。

# swapon /dev/ramzswap0

內(nèi)存使用量一旦增加,首先壓縮的頁面會(huì)寫入ramzswap disk的區(qū)域中。這時(shí)未壓縮到50%以下的頁面則寫入backing swap中,而非ramzswap disk中。另外,超過--memlimit_kb選項(xiàng)指定的內(nèi)存大小時(shí)也會(huì)寫入backing swap中。
表2-11所示為執(zhí)行rzscontrol --stats的結(jié)果。說明中僅記載與ramzswap disk的不同之處。
表2-11 執(zhí)行ramzswap --stats的結(jié)果

使用上游內(nèi)核的ramzswap
要使用安裝在上游內(nèi)核的ramzswap,需要首先啟用內(nèi)核config(CONFIG_RAMZSWAP=y),編譯內(nèi)核。使用make menuconfig命令啟用下列項(xiàng)目。

Device Drivers -> Staging drivers-> Compressed in-memory swap device (ramzswap)

啟動(dòng)編譯后的內(nèi)核。
使用方法
使用方法與論壇版相同,但需要另外編譯用于上游內(nèi)核的rzscontrol命令。由于上游內(nèi)核驅(qū)動(dòng)程序內(nèi)沒有安裝backing swap,因此必須修改rzscontrol命令的代碼。
上游內(nèi)核中還沒有安裝backing swap和memlimit,因此將這部分代碼從這個(gè)補(bǔ)丁中刪除。下面使用這個(gè)補(bǔ)丁來編譯rzscontrol命令。

# wget http://compcache.googlecode.com/files/compcache-0.6.2.tar.gz # tar zxvf compcache-0.6.2.tar.gz # cd compcache-0.6.2/sub-projects/rzscontrol # patch -p1 < ramzswap-for-2.6.35.patch

按照下列方式指定上游內(nèi)核的include文件進(jìn)行編譯。

# gcc -g -Wall -D_GNU_SOURCE rzscontrol.c -o rzscontrol -I /linux-2.6.35/drivers/staging/ramzswap/ -I../include

使用方法與論壇版相同。
小結(jié)
本節(jié)介紹了ramzswap。是否能夠通過壓縮頁面數(shù)據(jù)受益,是與內(nèi)存數(shù)據(jù)的內(nèi)容相關(guān)的。但是即使多少有一些壓縮/解壓縮的系統(tǒng)開銷,也比內(nèi)存耗盡好得多。這在沒有交換區(qū)的無磁盤(diskless)組裝機(jī)器中尤其有效。
參考文獻(xiàn)
compcache Compressed Caching for Linux
http://code.google.com/p/compcache/
LZO1X Compressor from MiniLZO
http://www.oberhumer.com/opensource/lzo/
Compcache: in-memory compressed swapping
http://lwn.net/Articles/334649/
—Naohiro Ooiwa
HACK #16 OOM Killer的運(yùn)行與結(jié)構(gòu)
本節(jié)介紹OOM Killer的運(yùn)行與結(jié)構(gòu)。
Linux中的Out Of Memory(OOM) Killer功能作為確保內(nèi)存的最終手段,可以在耗盡系統(tǒng)內(nèi)存或交換區(qū)后,向進(jìn)程發(fā)送信號(hào),強(qiáng)制終止該進(jìn)程。
這個(gè)功能即使在無法釋放內(nèi)存的情況下,也能夠重復(fù)進(jìn)行確保內(nèi)存的處理過程,防止系統(tǒng)停滯。還可以找出過度消耗內(nèi)存的進(jìn)程。本節(jié)將介紹2.6內(nèi)核的OOM Killer。
確認(rèn)運(yùn)行、日志
進(jìn)行系統(tǒng)驗(yàn)證或負(fù)載試驗(yàn)時(shí),有時(shí)會(huì)出現(xiàn)正在運(yùn)行中的進(jìn)程終止或者SSH連接突然斷開、嘗試重新登錄也無法連接的情況。
這時(shí)需要查看日志。有時(shí)會(huì)輸出如下內(nèi)核信息。

Pid: 4629, comm: stress Not tainted 2.6.26 #3Call Trace:[<ffffffff80265a2c>] oom_kill_process+0x57/0x1dc[<ffffffff80238855>] __capable+0x9/0x1c[<ffffffff80265d39>] badness+0x16a/0x1a9[<ffffffff80265f59>] out_of_memory+0x1e1/0x24b[<ffffffff80268967>] __alloc_pages_internal+0x320/0x3c2[<ffffffff802726cb>] handle_mm_fault+0x225/0x708[<ffffffff8047514b>] do_page_fault+0x3b4/0x76f[<ffffffff80473259>] error_exit+0x0/0x51Node 0 DMA per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 CPU 1: hi: 0, btch: 1 usd: 0 ... Active:250206 inactive:251609 dirty:0 writeback:0 unstable:0free:3397 slab:2889 mapped:1 pagetables:2544 bounce:0 Node 0 DMA free:8024kB min:20kB low:24kB high:28kB active:8kB inactive:180kB present:7448kB pa ges_scanned:308 all_unreclaimable? yes lowmem_reserve[]: 0 2003 2003 2003 ... Node 0 DMA: 6*4kB 4*8kB 2*16kB 2*32kB 5*64kB 1*128kB 3*256kB 1*512kB 2*1024kB 2*2048kB 0*4096k B = 8024kB Node 0 DMA32: 1*4kB 13*8kB 1*16kB 6*32kB 2*64kB 2*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 1*40 96kB = 5564kB 29 total pagecache pages Swap cache: add 1630129, delete 1630129, find 2279/2761 Free swap = 0kB Total swap = 2048248kB Out of memory: kill process 2875 (sshd) score 94830592 or a child Killed process 3082 (sshd)

最后出現(xiàn)了Out of memory(內(nèi)存不足)。這就表示OOM Killer已經(jīng)運(yùn)行。無法重新連接的情況就是因?yàn)閟shd被OOM Killer終止。如果不重新啟動(dòng)sshd就無法登錄。
OOM Killer通過終止進(jìn)程來確保空閑內(nèi)存,接下來將介紹如何選定這個(gè)進(jìn)程。
進(jìn)程的選定方法
OOM Killer在內(nèi)存耗盡時(shí),會(huì)查看所有進(jìn)程,并分別為每個(gè)進(jìn)程計(jì)算分?jǐn)?shù)。將信號(hào)發(fā)送給分?jǐn)?shù)最高的進(jìn)程。
計(jì)算分?jǐn)?shù)的方法
在OOM Killer計(jì)算分?jǐn)?shù)時(shí)要考慮很多方面。首先要針對(duì)每個(gè)進(jìn)程確認(rèn)下列1~9個(gè)事項(xiàng)再計(jì)算分?jǐn)?shù)。
1.首先,計(jì)算分?jǐn)?shù)時(shí)是以進(jìn)程的虛擬內(nèi)存大小為基準(zhǔn)的。虛擬內(nèi)存大小可以使用ps命令的VSZ或/proc//status的VmSize注2來確認(rèn)。對(duì)于正在消耗虛擬內(nèi)存的進(jìn)程,其最初的得分較高。單位是將1KB作為1個(gè)得分。消耗1GB內(nèi)存的進(jìn)程,得分約為1 000 000。
2.如果進(jìn)程正在執(zhí)行swapoff系統(tǒng)調(diào)用,則得分設(shè)置為最大值(unsigned long的最大值)。這是因?yàn)榻胹wap的行為與消除內(nèi)存不足是相反的,會(huì)立刻將其作為OOM Killer的對(duì)象進(jìn)程。
3.如果是母進(jìn)程,則將所有子進(jìn)程內(nèi)存大小的一半作為分?jǐn)?shù)。

  • 根據(jù)進(jìn)程的CPU使用時(shí)間和進(jìn)程啟動(dòng)時(shí)間調(diào)整得分。這是因?yàn)樵谶@里認(rèn)為越是長(zhǎng)時(shí)間運(yùn)行或從事越多工作的進(jìn)程越重要,需保持得分較低。
    首先,用得分除以CPU使用時(shí)間(以10秒為單位)的平方根。如果CPU使用時(shí)間為90秒,由于以10秒為單位,因此就是用得分除以9的平方根“3”。另外,根據(jù)進(jìn)程啟動(dòng)開始的時(shí)間也可以調(diào)整得分。用得分除以啟動(dòng)時(shí)間(以1000秒為單位)的平方根的平方根。如果是持續(xù)運(yùn)行16 000秒的進(jìn)程,則用得分除以16的平方根“4”的平方根“2”。越是長(zhǎng)時(shí)間運(yùn)行的進(jìn)程就越重要。
  • 小貼士:雖然源代碼的備注中寫有以10秒為單位、以1000秒為單位,但是實(shí)際上在位運(yùn)算中是以8和1024為單位來計(jì)算。
    5.對(duì)于通過nice命令等將優(yōu)先級(jí)設(shè)置得較低的進(jìn)程,要將得分翻倍。nice-n中設(shè)置為1~19的命令的得分翻倍。
    6.特權(quán)進(jìn)程普遍較為重要,因此將其得分設(shè)置為1/4。
    7.通過capset(3)等設(shè)置了功能(capability)CAP_SYS_RAWIO注3的進(jìn)程,其得分為1/4。將直接對(duì)硬件進(jìn)行操作的進(jìn)程判斷為重要進(jìn)程。
    8.關(guān)于Cgroup,如果進(jìn)程只允許與促使OOM Killer運(yùn)行的進(jìn)程所允許的內(nèi)存節(jié)點(diǎn)完全不同的內(nèi)存節(jié)點(diǎn),則其得分為1/8。
    9.最后通過proc文件系統(tǒng)oom_adj的值調(diào)整得分。
    依據(jù)以上規(guī)則,為所有進(jìn)程打分,向得分最高的進(jìn)程發(fā)送信號(hào)SIGKILL(到Linux 2.6.10為止,在設(shè)置了功能CAP_SYS_RAWIO的情況下,發(fā)送SIGTERM,在沒有設(shè)置的情況下,發(fā)送SIGKILL)。
    各進(jìn)程的得分可以使用/proc//oom_score來確認(rèn)。
    但是init(PID為1的)進(jìn)程不能成為OOM Killer的對(duì)象。當(dāng)成為對(duì)象的進(jìn)程包含子進(jìn)程時(shí),先向其子進(jìn)程發(fā)送信號(hào)。
    向成為對(duì)象的進(jìn)程發(fā)送信號(hào)后,對(duì)于引用系統(tǒng)的全線程,即使線程組(TGID)不同,如果存在與對(duì)象進(jìn)程共享相同內(nèi)存空間的進(jìn)程,則也向這些進(jìn)程發(fā)送信號(hào)。
    關(guān)于OOM Killer的proc文件系統(tǒng)
    下面開始介紹與OOM Killer相關(guān)的proc文件系統(tǒng)。
    /proc//oom_adj
    為/proc//oom_adj設(shè)置值就可以調(diào)整得分。調(diào)整值的范圍為–16~15。正的值容易被OOM Killer選定。負(fù)值可能性較低。例如,當(dāng)指定3時(shí),得分就變?yōu)?3倍;當(dāng)指定–5時(shí),得分就變?yōu)?/25。
    “–17”是一個(gè)特殊的值。如果設(shè)置為–17,就會(huì)禁止OOM Killer發(fā)出的信號(hào)(從Linux 2.6.12開始支持設(shè)置–17)。
    在OOM Killer運(yùn)行的情況下,為了實(shí)現(xiàn)遠(yuǎn)程登錄而想要將sshd排除在對(duì)象外時(shí),可以執(zhí)行下列命令。

    # cat /proc/'cat /var/run/sshd.pid'/oom_score 15 # echo -17 > /proc/'cat /var/run/sshd.pid'/oom_adj # tail /proc/'cat /var/run/sshd.pid'/oom_* ==> /proc/2278/oom_adj <== -17 ==> /proc/2278/oom_score <== 0 /*得分變成0*/

    從Linux 2.6.18開始可以使用/proc//oom_adj。內(nèi)容記載在Documentation /filesystems/proc.txt中。
    /proc/sys/vm/panic_on_oom
    將/proc/sys/vm/panic_on_oom設(shè)置為1時(shí),在OOM Killer運(yùn)行時(shí)可以不發(fā)送進(jìn)程信號(hào),而是使內(nèi)核產(chǎn)生重大故障。

    # echo 1 > /proc/sys/vm/panic_on_oom /proc/sys/vm/oom_kill_allocating_task

    從Linux 2.6.24開始proc文件系統(tǒng)就有oom_kill_allocating_task。如果對(duì)此設(shè)置除0以外的值,則促使OOM Killer運(yùn)行的進(jìn)程自身將接收信號(hào)。此處省略對(duì)所有進(jìn)程的得分計(jì)算過程。

    # echo 1 > /proc/sys/vm/oom_kill_allocating_task

    這樣就不需要參照所有進(jìn)程,但是也不會(huì)考慮進(jìn)程的優(yōu)先級(jí)和root權(quán)限等,只發(fā)送信號(hào)。
    /proc/sys/vm/oom_dump_tasks
    從Linux 2.6.25開始,將oom_dump_tasks設(shè)置為除0以外的值時(shí),在OOM Killer運(yùn)行時(shí)的輸出中會(huì)增加進(jìn)程的列表信息。
    下面為設(shè)置示例。

    # echo 1 > /proc/sys/vm/oom_dump_tasks

    列表信息顯示如下,可以使用dmesg或syslog來確認(rèn)。

    [ pid ] uid tgid total_vm rss cpu oom_adj name [ 1] 0 1 2580 1 0 0 init [ 500] 0 500 3231 0 1 -17 udevd [ 2736] 0 2736 1470 1 0 0 syslogd [ 2741] 0 2741 944 0 0 0 klogd [ 2765] 81 2765 5307 0 0 0 dbus-daemon [ 2861] 0 2861 944 0 0 0 acpid ... [ 3320] 0 3320 525842 241215 1 0 stress /proc/<PID>/oom_score_adj

    從Linux 2.6.36開始都安裝了/proc//oom_score_adj,此后將替換為/proc/ /oom_adj。詳細(xì)內(nèi)容請(qǐng)參考Documentation/feature-removal-schedules.txt。即使當(dāng)前是對(duì)/proc//oom_adj進(jìn)行的設(shè)置,在內(nèi)核內(nèi)部進(jìn)行變換后的值也是針對(duì)/proc//oom_score_adj設(shè)置的。
    /proc//oom_score_adj可以設(shè)置–1000~1000之間的值。設(shè)置為–1000時(shí),該進(jìn)程就被排除在OOM Killer強(qiáng)制終止的對(duì)象外。
    在內(nèi)核2.6.36以后的版本中寫入oom_adj,只會(huì)輸出一次如下的信息。

    # dmesg ..... udevd (60): /proc/60/oom_adj is deprecated, please use /proc/60/oom_score_adj instead. .....

    RHEL5的特征
    在RHEL5中運(yùn)行OOM Killer時(shí)要比在上游內(nèi)核中更加慎重。OOM Killer會(huì)計(jì)算調(diào)用的次數(shù),僅在一定時(shí)間段內(nèi)超出調(diào)用一定次數(shù)的情況下運(yùn)行。
    1.OOM Killer從上次調(diào)出到下一次調(diào)出之間超過5秒時(shí),調(diào)用次數(shù)重新開始計(jì)算。這是為了避免僅因?yàn)楫a(chǎn)生突發(fā)性的內(nèi)存負(fù)載就終止進(jìn)程。
    2.在計(jì)數(shù)變成0后的1秒以內(nèi)調(diào)出時(shí),不計(jì)入調(diào)用的次數(shù)。
    3.OOM Killer的調(diào)用次數(shù)不足10次時(shí),實(shí)際不會(huì)運(yùn)行。OOM Killer調(diào)用10次時(shí)才開始認(rèn)為內(nèi)存不足。
    4.最后OOM Killer運(yùn)行不到5秒的話,OOM Killer不會(huì)再次運(yùn)行。因此運(yùn)行頻率最高也有5秒一次。這是為了防止不必要地連續(xù)終止多個(gè)進(jìn)程。也有等待接收到OOM Killer發(fā)出信號(hào)的進(jìn)程終止(釋放內(nèi)存)的意思。

  • OOM Killer一旦運(yùn)行,調(diào)用的次數(shù)就重新回到0。
    也就是說,只有在OOM Killer在5秒以內(nèi)調(diào)出的狀態(tài)連續(xù)出現(xiàn)10次以上時(shí)才會(huì)運(yùn)行。
  • 這些限制原本是到Linux 2.6.10為止都有的。因此在基于Linux 2.6.9的RHEL4中也需要實(shí)施這些限制。當(dāng)前的上游內(nèi)核中已經(jīng)取消了這些限制。
    RHEL4的運(yùn)行
    查看OOM Killer在RHEL4(Linux 2.6.9)中的運(yùn)行情況。在下例中,是內(nèi)存、交換區(qū)都為2GB的環(huán)境下,使用負(fù)載測(cè)試工具stress刻意消耗內(nèi)存。
    stress是給內(nèi)存、CPU、磁盤I/O施加負(fù)載的工具。既可以為其中一項(xiàng)增加負(fù)載,也可以同時(shí)為這三項(xiàng)中的幾項(xiàng)增加負(fù)載。stress在運(yùn)行中如果接收到信號(hào),就會(huì)輸出信息并終止。

    # wget -t0 -c http://weather.ou.edu/~apw/projects/stress/stress-1.0.0.tar.gz # tar zxvf stress-1.0.0.tar.gz # cd stress-1.0.0 # ./configure ; make ; make install # stress --vm 2 --vm-bytes 2G --vm-keep /* 兩個(gè)進(jìn)程分別消耗2GB內(nèi)存*/ stress: info: [17327] dispatching hogs: 0 cpu, 0 io, 2 vm, 0 hdd stress: FAIL: [17327](416) <-- worker 17328 got signal 15 /* 接收SIGTERM信號(hào)*/ stress: WARN: [17327](418) now reaping child worker processes stress: FAIL: [17327](452) failed run completed in 70s 此時(shí)的控制臺(tái)畫面顯示如下。 oom-killer: gfp_mask=0xd0 Mem-info: ... Swap cache: add 524452, delete 524200, find 60/102, race 0+0 Free swap: 0kB /* 交換區(qū)剩余為0 */ 524224 pages of RAM /* 1頁4KB,因此內(nèi)存大小為2GB */ 10227 reserved pages /* 在內(nèi)核內(nèi)部預(yù)約的內(nèi)存 */ 19212 pages shared 253 pages swap cached Out of Memory: Killed process 17328 (stress). /* 根據(jù)信號(hào)終止的進(jìn)程 */

    在上游內(nèi)核中無法禁用OOM Killer,而在RHEL4中則通過/proc/sys/vm/oom-kill可以禁用OOM Killer。

    # echo 0 > /proc/sys/vm/oom-kill

    或者

    # /sbin/sysctl -w vm.oom-kill=0

    禁用后OOM Killer就不會(huì)發(fā)送信號(hào),但是會(huì)輸出如上內(nèi)存信息。
    RHEL5的運(yùn)行
    在RHEL5(Linux 2.6.18)中對(duì)OOM Killer的運(yùn)行進(jìn)行確認(rèn)的方法與RHEL4中相同。

    # stress --vm 2 --vm-bytes 2G --vm-keep stress: info: [11779] dispatching hogs: 0 cpu, 0 io, 2 vm, 0 hdd stress: FAIL: [11779](416) <-- worker 11780 got signal 9 /* SIGKILL */ stress: WARN: [11779](418) now reaping child worker processes stress: FAIL: [11779](452) failed run completed in 46s

    此時(shí)的控制臺(tái)畫面如下所示。添加了運(yùn)行OOM Killer時(shí)的回溯輸出,便于調(diào)試。
    Call Trace:

    [<ffffffff800bf551>] out_of_memory+0x8e/0x321[<ffffffff8000f08c>] __alloc_pages+0x22b/0x2b4 ...[<ffffffff800087fd>] __handle_mm_fault+0x208/0xe04[<ffffffff80065a6a>] do_page_fault+0x4b8/0x81d[<ffffffff800894ad>] default_wake_function+0x0/0xe[<ffffffff80039dda>] tty_ldisc_deref+0x68/0x7b[<ffffffff8005cde9>] error_exit+0x0/0x84Mem-info: ... Swap cache: add 512503, delete 512504, find 90/129, race 0+0 Free swap = 0kB Total swap = 2048276kB Free swap: 0kB 524224 pages of RAM 42102 reserved pages 78 pages shared 0 pages swap cached Out of memory: Killed process 11780 (stress).

    RHEL6的運(yùn)行
    RHEL6.0中OOM Killer計(jì)算得分的方式基本和RHEL5中沒有不同。RHEL6系不會(huì)如“RHEL5的特征”中所述慎重地運(yùn)行。其運(yùn)行基本與上游內(nèi)核相同。
    小結(jié)
    本節(jié)介紹了OOM Killer的結(jié)構(gòu)和各種設(shè)置。當(dāng)系統(tǒng)運(yùn)行異常時(shí)確認(rèn)syslog等,如果有OOM Killer的輸出,就可以得知曾出現(xiàn)內(nèi)存不足。
    參考文獻(xiàn)
    stress
    http://weather.ou.edu/~apw/projects/stress/
    —Naohiro Ooiwa

    轉(zhuǎn)載于:https://www.cnblogs.com/tcicy/p/8552721.html

    總結(jié)

    以上是生活随笔為你收集整理的《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    av 一区 二区 久久 | 特级a毛片| 亚洲经典在线 | 久久欧洲视频 | 婷婷色网址 | 久久久久婷 | 女人18毛片a级毛片一区二区 | 97精品一区二区三区 | 91网址在线看 | 综合天天| 91理论片午午伦夜理片久久 | 97国产一区 | 国产高清在线精品 | 青春草免费在线视频 | 麻豆视频在线 | 亚洲区视频在线观看 | 国产无套一区二区三区久久 | 蜜臀av夜夜澡人人爽人人桃色 | 国产精品久久久久一区二区国产 | 国产无套精品久久久久久 | 在线观看你懂的网站 | 国产一在线精品一区在线观看 | 黄免费网站 | 中文区中文字幕免费看 | 欧美性视频网站 | 99r在线视频| 中文字幕色在线 | 在线一二三区 | 91大神精品视频在线观看 | 久久成视频 | 欧美一二区在线 | 亚洲精品在线一区二区 | 色综合久久中文字幕综合网 | 国产精品毛片久久久久久久久久99999999 | 久久久免费精品国产一区二区 | 久久午夜网 | 欧美一级视频在线观看 | 国产精品成人免费 | 国产在线一卡 | 色多多在线观看 | 久久免费视频在线观看6 | 日本黄色免费电影网站 | 亚洲播播 | 狠狠色丁香久久婷婷综合_中 | 在线中文字幕网站 | 在线观看亚洲电影 | 日韩在线高清免费视频 | 久久这里只有精品1 | 亚洲涩涩网 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 日韩av电影中文字幕在线观看 | 日本精品视频免费 | 色网站在线| 免费精品视频在线 | 国产中文字幕在线播放 | 中文字幕成人在线观看 | 亚洲 欧美变态 另类 综合 | 日日夜夜精品免费观看 | 99免费在线 | 色网站视频 | 中文av网 | 日本特黄特色aaa大片免费 | 国产欧美最新羞羞视频在线观看 | 国产在线欧美日韩 | www日韩| 国产中文字幕网 | 久久精品www人人爽人人 | 丁香九月婷婷综合 | 91精品国产高清自在线观看 | 亚洲欧美综合精品久久成人 | 免费看污污视频的网站 | 激情网五月婷婷 | 欧美视频在线二区 | 91免费看黄色 | 成人黄色一级视频 | 精品国内自产拍在线观看视频 | 久久精品视频在线观看免费 | 免费a级毛片在线看 | 天天干天天操天天入 | 亚洲闷骚少妇在线观看网站 | 久久久久久久久久影视 | 国产成人精品999在线观看 | 视频三区在线 | 午夜影院先 | 日本中文字幕观看 | 国产日韩视频在线观看 | 国产精品成人自拍 | 久久黄色网| 国产一级视频免费看 | 国产精品久久久久久久久久免费看 | 天天操天天插 | 精品一二三四在线 | 久久久久97国产 | 日韩在线观看 | 国产精品久久久久久久久久久久 | 国产精品日韩高清 | 亚洲最新av网址 | 成人福利av | 国产精品av免费观看 | 少妇性bbb搡bbb爽爽爽欧美 | 天天干国产 | 五月天高清欧美mv | 日韩亚洲欧美中文字幕 | 99精品欧美一区二区 | 久久综合久久综合久久综合 | 欧美性生活久久 | 色婷婷啪啪免费在线电影观看 | 久久精品中文字幕少妇 | 国产精品videossex国产高清 | 97香蕉久久超级碰碰高清版 | 亚洲精品一区二区三区四区高清 | 7777xxxx| a天堂免费 | 91av视频免费观看 | 超碰在线天天 | 国产精品日韩久久久久 | 久久久久久久久久伊人 | 国产精品综合久久久久 | 伊人天天狠天天添日日拍 | 成在线播放 | 久久综合九色综合欧美就去吻 | 国产精品久久久久久超碰 | 夜夜天天干 | 久久精品爱爱视频 | av网站在线观看免费 | 午夜精品久久久99热福利 | 又紧又大又爽精品一区二区 | 国产高清久久久 | 免费视频久久久久久久 | 国产精品ssss在线亚洲 | 91精品国产综合久久婷婷香蕉 | 欧美一级淫片videoshd | 日韩国产高清在线 | 精品久久久久一区二区国产 | 最新国产精品久久精品 | 超碰97在线看 | 久久歪歪 | 日韩精品免费在线观看视频 | 青春草视频在线播放 | 欧美日韩在线观看不卡 | 99久久精品久久久久久清纯 | 91传媒在线观看 | 四虎影视成人永久免费观看亚洲欧美 | 曰本三级在线 | 精品国产乱码久久久久久三级人 | 狠狠天天| 国产日韩欧美精品在线观看 | 国产黄色高清 | 成人av一区二区三区 | 在线影视 一区 二区 三区 | 国产视频亚洲 | 四虎永久网站 | 黄色av一级片 | 91视频在线免费看 | 中文字幕在线观看亚洲 | 亚洲国内精品视频 | 激情偷乱人伦小说视频在线观看 | 精品夜夜嗨av一区二区三区 | 成人av一区二区在线观看 | av国产网站| 精品久久国产一区 | 91av视频在线观看免费 | 天天射天天舔天天干 | 亚洲精品成人网 | 天天天天爽| 国产二区精品 | 亚洲 欧美变态 另类 综合 | 人人爽人人爽人人爽 | 中文字幕三区 | 一区二区精品在线观看 | 国产成人精品999在线观看 | 成人免费大片黄在线播放 | 亚洲h色精品 | 国产一级淫片在线观看 | 超碰国产人人 | 成人国产电影在线观看 | 精品国产123 | 五月婷婷深开心 | 欧美精品一区二区蜜臀亚洲 | 久久首页 | 在线网址你懂得 | 天天天天爱天天躁 | 久久久久麻豆v国产 | 福利视频导航网址 | 最近中文字幕高清字幕免费mv | 中文在线字幕免费观 | 久久中文字幕在线视频 | 色多多污污 | 在线影院av | 天天插天天狠 | 天天干天天操天天射 | 婷婷激情小说网 | 亚洲va韩国va欧美va精四季 | 午夜影院一级片 | 国产视频在| 国产视频美女 | 天天做天天射 | 天天天天综合 | 久久这里只有精品视频99 | 日韩成人看片 | 久久在现 | 久久午夜电影网 | 欧美精品生活片 | 超碰人人在线观看 | 欧美视频在线观看免费网址 | 午夜av在线免费 | 五月天狠狠操 | 五月婷婷一级片 | 天天草天天操 | 日韩av成人在线观看 | 97视频免费在线看 | 美女久久久久久久 | 黄色的视频| 欧美性脚交 | 99热超碰| japanesexxxxfreehd乱熟| 黄色成人av | 日韩欧美一区二区在线播放 | 91久久偷偷做嫩草影院 | 91视视频在线直接观看在线看网页在线看 | 又黄又爽又刺激视频 | 91av在线视频播放 | 欧美精品视 | 男女啪啪免费网站 | 人人爽人人爽 | 日韩欧美视频免费在线观看 | 最近日本mv字幕免费观看 | 又大又硬又黄又爽视频在线观看 | 欧美成人va| 国产精品久久久一区二区三区网站 | 国产女做a爱免费视频 | 国产黄影院色大全免费 | 成人久久亚洲 | 久久电影中文字幕视频 | 久久久精品欧美 | 日韩区欧美久久久无人区 | 欧美日韩精品影院 | 激情视频久久 | 日本高清免费中文字幕 | 久久精品99精品国产香蕉 | 日本大尺码专区mv | 国产在线精品视频 | 免费在线国产视频 | 蜜臀久久99静品久久久久久 | 国产精品密入口果冻 | 91在线视频| 丁香五月亚洲综合在线 | 在线观看中文字幕av | 国产99久久久久 | 国产精品一区二区在线观看 | 国产精品99久久久精品免费观看 | 国产网站av | 91porny九色在线播放 | 又爽又黄又无遮挡网站动态图 | 五月婷婷综合在线 | 午夜12点| 中文字幕免费播放 | 免费一级片视频 | 亚洲理论片在线观看 | 中文字幕免费高清在线 | 成人免费在线播放 | 97视频精品 | 91av视频在线观看 | 91九色国产在线 | 99精品视频在线观看播放 | 亚洲dvd| 国内成人精品视频 | 三级在线视频观看 | 91网免费看 | 丁香花在线观看视频在线 | 亚洲影音先锋 | 狠狠色丁香久久婷婷综合_中 | av网址在线播放 | 81国产精品久久久久久久久久 | 免费三级骚 | 亚洲天天摸日日摸天天欢 | 中文字幕日韩精品有码视频 | 五月婷婷视频在线 | 日本精品视频在线 | 日韩理论片在线观看 | 久久久精品国产免费观看一区二区 | 久久视频免费在线观看 | 免费国产亚洲视频 | 黄色三级免费片 | 天天天操天天天干 | 热久久免费视频 | 午夜免费福利视频 | 国产专区视频在线 | 日日天天av | h久久| 四虎在线影视 | 91视频 - x99av| 欧美五月婷婷 | 果冻av在线 | 中文字幕免费一区二区 | 九九九热精品免费视频观看网站 | 久久久久免费精品 | 最新中文字幕在线观看视频 | 一区 在线 影院 | 色99视频| 天天干国产| 亚洲国产中文字幕 | 96精品视频 | 中文字幕在线久一本久 | 国产精品美女久久久久aⅴ 干干夜夜 | 久久成视频 | 亚洲精品资源 | 亚洲第一成网站 | 人人澡人人干 | 91精品国 | 天天色天天上天天操 | 中文字幕网址 | 亚洲午夜精品久久久久久久久 | 天天做日日做天天爽视频免费 | 色婷婷午夜 | 免费看污污视频的网站 | 久久精品欧美一区 | 一区二区三区在线观看免费视频 | 五月激情六月丁香 | 国产中文在线字幕 | 精品久久九九 | www.天天色 | a国产精品| 免费电影播放 | 精品福利视频在线观看 | 日韩黄色免费 | 特级aaa毛片 | 色婷婷99| 国产二级视频 | 免费成人短视频 | 人人插人人插 | 国产在线中文 | 国产高清中文字幕 | 久久免费国产精品 | 亚洲一区视频在线播放 | 欧美a级免费视频 | 天天射天天 | 天天干天天操天天 | 最新中文字幕 | 日韩av偷拍 | 91视频在线播放视频 | 97视频人人澡人人爽 | 日本中文字幕在线 | 最新极品jizzhd欧美 | 在线观看成人网 | 五月婷婷久 | 97国产精品视频 | 91污污| 亚洲日本中文字幕在线观看 | 日本久久成人中文字幕电影 | 久久艹国产视频 | 午夜av在线 | 国产福利一区二区在线 | 日韩视频在线播放 | 激情影院在线观看 | 热九九精品 | 国产精品毛片一区二区在线看 | 久久人人爽人人爽 | 99在线视频免费观看 | 一本一道久久a久久精品蜜桃 | 久草在线观看 | 在线国产黄色 | 91视频午夜 | 91视频在线看 | 久久亚洲电影 | 波多野结衣视频一区 | 国产成人一区二区三区 | 国产精品你懂的在线观看 | 免费av在线网 | 天天干干 | 成人免费视频播放 | 国产一级视频在线观看 | 国产aa免费视频 | 亚洲天堂香蕉 | 亚洲精品在线播放视频 | 九九久久在线看 | 天天操天天谢 | 午夜三级毛片 | 香蕉视频久久 | 91自拍91 | 一区二区三区手机在线观看 | 久久综合婷婷国产二区高清 | 亚洲欧美乱综合图片区小说区 | 国产福利资源 | 久久男女视频 | 久久九九免费视频 | 五月婷婷激情网 | 午夜电影av | 国产高清中文字幕 | 久久精品国产免费看久久精品 | 在线影院 国内精品 | 亚洲精品中文字幕视频 | 国产高清综合 | 日韩欧美精品免费 | 日韩理论在线视频 | 伊人色综合久久天天网 | 中文字幕成人av | 久久久久成人精品免费播放动漫 | 久久免费在线观看 | 最近高清中文字幕 | 在线免费试看 | 在线综合 亚洲 欧美在线视频 | 在线探花| 888av| 日韩免费av在线 | a级免费观看 | 视频一区在线免费观看 | 日韩视频一区二区三区在线播放免费观看 | 国产一区高清在线 | 国产精品videoxxxx | 亚洲第一av在线播放 | 激情婷婷av | 免费在线观看国产黄 | 一区免费观看 | 亚洲精品久久视频 | 黄色在线小网站 | 中文字幕 欧美性 | 国产日本亚洲高清 | 亚洲免费永久精品国产 | 久久精品99精品国产香蕉 | 国产精品一区二区在线观看免费 | 日韩午夜视频在线观看 | 午夜91视频 | 成人97视频一区二区 | 成人av中文字幕在线观看 | 婷婷六月综合亚洲 | 国产成人一区二区啪在线观看 | 欧美精品一区二区蜜臀亚洲 | 日韩精品在线观看视频 | 日韩免费看的电影 | 国产主播99 | 探花视频在线观看+在线播放 | 色在线观看网站 | 成人黄色国产 | 99热这里有 | 国产美女视频免费 | 色综合久久久久综合体桃花网 | 麻豆久久一区二区 | 9免费视频 | 久久精品影片 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 18pao国产成视频永久免费 | 免费91在线| 亚洲综合在| 国产亚洲精品成人 | 免费a级观看| 天天操天天吃 | 国产91aaa | 久久久国产精品人人片99精片欧美一 | 不卡日韩av | 色欧美综合 | 国产视频精选 | 日韩久久精品一区 | 亚洲欧美怡红院 | 久久免费高清视频 | 天天色天天上天天操 | 五月情婷婷| 免费在线观看日韩欧美 | 久久精品国产精品亚洲 | 亚洲国产精品va在线看黑人动漫 | 国内精品小视频 | 国内外激情视频 | japanesefreesexvideo高潮 | 中文字幕有码在线播放 | 日日夜夜艹 | 狠狠干婷婷色 | 91精品欧美| 在线免费中文字幕 | 欧美激情第28页 | 91九色视频导航 | 午夜av一区 | 色资源二区在线视频 | 日本黄色大片免费看 | 日本黄色免费观看 | 99久久精品无码一区二区毛片 | 亚洲丁香久久久 | 91麻豆精品91久久久久同性 | 日日摸日日添夜夜爽97 | 91 在线视频播放 | 精品国产一区二区三区久久影院 | 免费看日韩 | av电影 一区二区 | 麻豆视频网址 | 伊人五月在线 | 日韩一区二区免费视频 | 夜夜骑天天操 | 国产成人一区二区啪在线观看 | 日韩在线观看电影 | av免费线看| 中午字幕在线观看 | 婷婷激情欧美 | 综合色影院 | 最近高清中文字幕 | 亚洲日本va在线观看 | 国产一区成人在线 | 国内免费久久久久久久久久久 | 亚洲综合视频网 | 久久久久久黄 | 亚洲 中文字幕av | 日日夜夜操操操操 | 日韩av视屏 | 国产午夜影院 | 国产高清在线一区 | 日韩av黄 | 亚洲视频电影在线 | 久久香蕉国产精品麻豆粉嫩av | 中文字幕第一 | 久久亚洲免费视频 | 国产无套精品久久久久久 | 综合国产在线观看 | 久久国产精彩视频 | 成人av播放 | 91热爆视频 | 日本成人免费在线观看 | a级国产乱理伦片在线观看 亚洲3级 | 亚洲黄色三级 | 国产精品麻豆99久久久久久 | 涩涩网站在线观看 | 天天干天天做 | 免费日韩视 | 不卡的av中文字幕 | 国产精品1区2区3区在线观看 | 九九热在线精品 | 久久成人午夜视频 | 久久草| av高清一区二区三区 | www.夜夜夜 | 成片人卡1卡2卡3手机免费看 | 国产高清视频在线播放 | 国产精品嫩草影院99网站 | 国产中文字幕在线看 | www.午夜| 少妇做爰k8经典 | 国产高清av在线播放 | 国产精品免费久久久久久 | 在线视频免费观看 | 在线精品在线 | 国产在线观看一区 | 91丨九色丨国产丨porny精品 | 中文字幕婷婷 | 国模一二三区 | 亚洲激情免费 | 久热色超碰 | 欧美日韩高清在线观看 | 天天干天天操天天入 | 成人福利在线 | 日躁夜躁狠狠躁2001 | 免费视频18| 黄色一级影院 | 色多多污污 | 亚洲人人射 | 日韩在线免费视频 | 成人免费ⅴa | 91成人亚洲 | 久久欧美综合 | 国产91在线观看 | 日韩免费成人av | 在线观看中文字幕网站 | 亚洲我射av | 色全色在线资源网 | 色婷婷综合久久久久中文字幕1 | 午夜精品婷婷 | 国产精品久久久久久久av大片 | 美女视频黄免费的 | 成人小电影在线看 | 五月天色站 | 欧美日韩中文字幕在线视频 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 欧美成a人片在线观看久 | 国产精品国产三级国产aⅴ9色 | 亚洲全部视频 | 九色精品免费永久在线 | 最近中文字幕在线中文高清版 | 久艹在线免费观看 | 国产精品日韩久久久久 | 九九九热精品免费视频观看网站 | 国产艹b视频 | 97色涩 | 97超碰人人看 | 欧美在线一 | 曰韩精品 | 国产九九九视频 | 久久久免费精品视频 | 亚洲午夜大片 | 97碰碰碰| 黄色特一级片 | 国内精品99| 最近2019年日本中文免费字幕 | 欧美激情视频一区二区三区 | 色av资源网 | 操操操干干干 | 久久久久久久久久久久久久电影 | 久久久久国产免费免费 | 亚州黄色一级 | 国产精品一区二区av影院萌芽 | 日韩大片在线免费观看 | 黄色小说视频在线 | 国产精品va在线观看入 | 激情图片区 | 久久人人爽人人爽 | 粉嫩av一区二区三区免费 | 在线中文日韩 | 99国产免费网址 | 99久免费精品视频在线观看 | 日韩在线一二三区 | 永久免费精品视频网站 | 国产人成一区二区三区影院 | 欧美日韩在线看 | 天天草天天操 | 亚洲男男gaygay无套同网址 | 久久成熟| 久久午夜电影院 | 婷婷久月| 国产女教师精品久久av | 国产日韩中文字幕 | 国产1级视频 | 午夜国产福利在线观看 | 国产精品久久一卡二卡 | 在线电影 一区 | 婷五月天激情 | 国产精品18久久久久vr手机版特色 | 日韩网站在线免费观看 | 2023天天干 | 美女在线观看网站 | 亚洲干视频在线观看 | 国产精品成人av久久 | 欧美精品中文字幕亚洲专区 | 国产日产精品久久久久快鸭 | 国产亚洲视频在线观看 | 黄色国产在线观看 | a√国产免费a| 日韩欧美精品免费 | 黄色影院在线观看 | 日韩欧美精品一区二区 | 国产资源精品 | 国产999精品久久久久久 | av黄色免费看 | 午夜电影av| 九九免费精品视频 | 欧美日韩精品影院 | 欧美日比视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产精品久久久久久久久久久久 | av成人在线网站 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 免费观看日韩 | 午夜少妇av | 日韩中文字幕亚洲一区二区va在线 | 久久男人视频 | 精品国产一区二区三区不卡 | 成人免费电影 | 日韩av视屏在线观看 | 黄色三级在线观看 | 欧美少妇影院 | 精品一区91 | 国产亚洲欧美一区 | 亚洲伦理精品 | 色婷婷中文 | 精品久久久久久久久久久久久久久久久久 | www免费 | 精品影院一区二区久久久 | 国产五月天婷婷 | www.国产精品 | 91精品啪在线观看国产 | 久久久久免费视频 | 国产亚洲精品久久网站 | 中文国产在线观看 | 欧美日韩裸体免费视频 | 天天操天天综合网 | 国产一卡久久电影永久 | 国产成人黄色 | 婷婷六月天丁香 | 五月天狠狠操 | 久久尤物电影视频在线观看 | 91av视频观看| 国产一区二区三区视频在线 | 久久99在线 | 国产精品片| 97在线视频免费 | 国产精品久久久久久久毛片 | 西西www444 | 亚洲黄色免费网站 | 成年人在线观看免费视频 | 国产免费叼嘿网站免费 | 久久桃花网 | 中文字幕第一页在线 | 黄色大片视频网站 | 亚洲理论在线观看电影 | 狠狠天天 | 久久免费视频2 | 亚洲在线视频免费 | av在线免费网 | 日韩精品久久久久久中文字幕8 | 综合国产在线观看 | 一本之道乱码区 | 国产中文在线视频 | 国产亚洲情侣一区二区无 | 人成在线免费视频 | 99热在线精品观看 | 亚洲清纯国产 | 日本不卡一区二区 | 在线观看黄色国产 | 日精品| 亚洲爱视频 | 97天天综合网 | 欧美一区二区精美视频 | 久久久久成人精品 | 偷拍区另类综合在线 | 亚洲激情在线 | 国产在线高清 | 成人免费电影 | 探花视频在线观看免费版 | 国产日本在线观看 | 国产少妇在线观看 | 五月天最新网址 | 青青草国产精品视频 | 在线观看视频你懂 | 国产小视频在线播放 | 亚洲精品国 | 国产一区二区午夜 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产v欧美 | 国产日女人 | 久久欧美精品 | 欧美999 | 91精品国产福利在线观看 | 国产精品久久久久久久久久尿 | 免费观看一区二区 | av噜噜噜在线播放 | 婷婷日 | 一区二区精品久久 | 婷婷丁香在线视频 | 久久a级片 | 91精品爽啪蜜夜国产在线播放 | 亚洲激情p| 1区2区3区在线观看 三级动图 | 亚洲精品视频一二三 | 亚洲国产免费网站 | www五月 | 日本在线观看中文字幕无线观看 | 亚洲电影第一页av | 99热在线这里只有精品 | 日韩在线短视频 | 国产一区高清在线 | 亚洲精品中文在线观看 | 免费合欢视频成人app | 久草在线最新视频 | 免费成人黄色 | 亚洲精品高清在线 | 美女免费视频黄 | 国产专区在线视频 | 欧美日韩91 | 国产视频一区二区在线 | 久久久国产一区二区三区四区小说 | 高清av免费看 | 91在线精品观看 | 亚洲精品日韩一区二区电影 | 中文字幕在线久一本久 | 最近日韩免费视频 | 欧美日韩国产精品一区二区亚洲 | 麻豆果冻剧传媒在线播放 | 尤物九九久久国产精品的分类 | 国产韩国精品一区二区三区 | 久久精品一二三 | 久久国产精品色婷婷 | 香蕉日日 | 一级性生活片 | 一区二区三区国产精品 | 欧美亚洲精品一区 | 久久99久国产精品黄毛片入口 | 国产精品毛片久久久久久 | 色视频成人在线观看免 | av 一区二区三区四区 | 精品久久久久久久久久久久久久久久 | 国产精品视频地址 | 精品免费99久久 | 国产精品99久久久久久有的能看 | www色,com| 在线电影中文字幕 | 中文字幕黄色网 | 国产精品视频内 | 久久99热国产 | 国产精品免费一区二区三区 | 韩日精品在线 | 亚洲国产影院 | 亚洲欧美成人综合 | 亚一亚二国产专区 | 亚洲免费精彩视频 | 中文字幕在线观看视频一区 | 日日射天天射 | 欧美日韩一区二区在线 | 久久免费视频精品 | 精品一二三区 | 狠狠操在线 | 亚洲国产综合在线 | 久久久不卡影院 | 国产精品久久久久久久久久久久 | 久久99精品久久久久久清纯直播 | av福利网址导航大全 | 在线观看国产福利片 | 天天搞天天干天天色 | 天天曰夜夜操 | 免费中文字幕 | 深夜国产在线 | 午夜精品久久久久久久99婷婷 | 九九免费在线观看 | 亚洲国产成人精品在线 | 6080yy午夜一二三区久久 | 一区电影 | 国产专区在线看 | 日本一区二区高清不卡 | 成人一级片免费看 | 国产97碰免费视频 | 99成人免费视频 | www,黄视频| 国产精品久免费的黄网站 | 成人免费观看视频网站 | 日韩精品视频在线免费观看 | 色www.| 久久tv| 亚洲天堂网站视频 | 91麻豆精品国产自产在线游戏 | 天天操天天射天天舔 | 亚洲禁18久人片 | 成人影视片 | 久久中文欧美 | 91成人天堂久久成人 | 久久 一区 | 国产亚洲在线观看 | 中文字幕av免费 | 久精品在线观看 | 91九色丨porny丨丰满6 | 欧美日韩国产二区三区 | 91香蕉视频好色先生 | 天天综合网 天天 | 国产精品岛国久久久久久久久红粉 | 国产成人三级在线观看 | 亚洲综合精品在线 | 五月婷婷激情五月 | 视频国产区 | 久久国产精品网站 | 人人干网 | 日韩中文字幕免费视频 | 欧美色图一区 | 成人一级片免费看 | 人人草网站 | 国产尤物在线 | 日韩av中文在线观看 | 国产最新视频在线观看 | 免费又黄又爽视频 | 香蕉网在线播放 | 午夜精品一区二区三区在线 | 免费亚洲黄色 | 99国产一区二区三精品乱码 | 麻豆91精品91久久久 | 国产黄在线 | a v在线观看 | 日操操| 91精品啪啪| 美女精品久久久 | 久久精品视频在线观看免费 | 丁香婷婷社区 | 女人18毛片90分钟 | 在线观看完整版免费 | 久久久久久久久久伊人 | 国产精品亚洲人在线观看 | 在线观看av国产 | 九九热在线免费观看 | 一级理论片在线观看 | 久久这里 | 免费国产黄线在线观看视频 | 久草视频在线播放 | 在线视频第一页 | 久久婷婷五月综合色丁香 | 天天射天天操天天色 | 亚洲成人xxx | 成人免费一区二区三区在线观看 | 久久久久免费精品国产 | 天天艹天天 | 国产最新在线 | 2021久久| 91视频免费国产 | 免费看成人片 | 国产xx在线 | av免费观看高清 | 成人黄色免费观看 | 色干干| 色婷婷综合在线 | 国产精品久久久久免费 | 最近中文字幕完整高清 | 精品国产精品久久一区免费式 | 国产亚洲精品成人 | 久久人人爽人人爽人人片av免费 | 在线有码中文字幕 | 在线99视频 | 黄色a大片| 亚洲综合欧美日韩狠狠色 | 激情五月亚洲 | 欧美精品中文字幕亚洲专区 | 国产高清免费 | 精品久久网 | 成年人视频在线免费观看 | 国产乱码精品一区二区蜜臀 | 免费看片网站91 | 亚洲精品色婷婷 | 激情欧美日韩一区二区 | 欧美日韩高清一区二区三区 | 色婷婷九月 | 欧美,日韩| 亚洲黄色在线播放 | 久久精品这里都是精品 | 天天操天天怕 | 日韩理论电影在线 | 国产精品99久久免费观看 | 天天操天天操天天操天天操天天操天天操 | 午夜视频色 | 国产白浆在线观看 | 麻豆精品传媒视频 | av电影在线观看 | 久操视频在线免费看 | 亚洲激情电影在线 | 91视频在线观看下载 | 99久久久久成人国产免费 | 色婷婷国产 | 久久久影院一区二区三区 | 成人天堂网 | 亚洲成人免费在线观看 | 国产欧美综合在线观看 | 蜜臀av性久久久久蜜臀av | 91探花国产综合在线精品 | 婷婷综合久久 | 九九热在线免费观看 | 激情av一区二区 | 久久免费视频在线观看30 | 在线免费黄色av | 欧美日韩精品影院 | 色吊丝在线永久观看最新版本 | 中文字幕有码在线观看 | 欧美极度另类 | 欧美色综合天天久久综合精品 | 中文字幕色网站 | 免费网站看v片在线a | 精品国内自产拍在线观看视频 | av综合在线观看 | 亚洲日本精品 | 公与妇乱理三级xxx 在线观看视频在线观看 | 日本护士三级少妇三级999 | 色婷婷在线视频 | 日韩欧美中文 | 一区二区高清在线 | 国产美女免费观看 | 欧美一级黄色片 | 色婷丁香 | 91成人网在线播放 | 国内丰满少妇猛烈精品播 | 色婷婷亚洲婷婷 | 狠狠狠狠干 | 婷婷色社区 | 国产精品1区2区3区在线观看 | 偷拍福利视频一区二区三区 | 久久精品小视频 | 国产手机视频在线 | 久久久久久蜜桃一区二区 | 二区精品视频 | 91久久一区二区 | 亚洲成成品网站 | 日韩最新在线 | 在线欧美小视频 | 久久tv视频 | 亚洲九九精品 | 久久久精品国产一区二区三区 | www操操操| 国产成人精品不卡 | 久草在线久草在线2 | 欧美一级免费黄色片 | 欧美日韩在线免费观看 | 亚洲一级电影视频 | 激情综合网在线观看 | 日韩高清片 | 久久综合婷婷综合 | 日本69hd| 5月丁香婷婷综合 | 蜜臀91丨九色丨蝌蚪老版 | 日韩a在线观看 | av在线网站大全 | 欧美日韩国产网站 | 久久久国产精品一区二区中文 | 麻花天美星空视频 | 色偷偷88888欧美精品久久 | 69国产盗摄一区二区三区五区 | 91免费试看 | 色综合小说 | 久久久 精品 | 91av视频免费在线观看 | 欧美精品乱码久久久久久按摩 | 五月婷婷六月综合 | 97在线播放视频 | 日日综合 |