亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Windows常駐服務(wù)內(nèi)存泄漏:分頁(yè)緩沖池與非分頁(yè)緩沖池同步上漲的句柄泄漏排查

Windows常駐服務(wù)內(nèi)存泄漏:分頁(yè)緩沖池與非分頁(yè)緩沖池同步上漲的句柄泄漏排查 1. 事故第一現(xiàn)場(chǎng)內(nèi)存只漲不降而且漲的是緩沖池1.1 凌晨收到的那條告警GODService是我們內(nèi)部一套用C寫的常駐后臺(tái)服務(wù)負(fù)責(zé)業(yè)務(wù)事件的分發(fā)和狀態(tài)同步部署形態(tài)是每臺(tái)機(jī)器一個(gè)實(shí)例7x24小時(shí)跑。它平時(shí)很穩(wěn)CPU占用常年個(gè)位數(shù)內(nèi)存也就是啟動(dòng)后穩(wěn)定在200MB左右。所以當(dāng)凌晨監(jiān)控彈出“可用內(nèi)存持續(xù)下降GODService進(jìn)程內(nèi)存連續(xù)72小時(shí)只升不回”的時(shí)候運(yùn)維第一反應(yīng)是“是不是某條業(yè)務(wù)死循環(huán)了”。我登錄上去看了一眼任務(wù)管理器確實(shí)不對(duì)勁。進(jìn)程的“內(nèi)存(活動(dòng))”值已經(jīng)漲到1.6GB而且每分鐘都在跳。更扎眼的是下面的內(nèi)存區(qū)域——分頁(yè)緩沖池和非分頁(yè)緩沖池兩個(gè)數(shù)字都在同步爬升非分頁(yè)緩沖池尤其夸張從正常的300MB左右一路漲到了接近1.2GB。這里先插一句基礎(chǔ)知識(shí)Windows內(nèi)核里內(nèi)核態(tài)和驅(qū)動(dòng)申請(qǐng)的內(nèi)存分成兩檔一個(gè)是分頁(yè)緩沖池可以被換出到磁盤另一個(gè)是非分頁(yè)緩沖池任何時(shí)候都必須留在物理內(nèi)存里供中斷、DPC這些不能等磁盤I/O的路徑使用。任務(wù)管理器里那兩項(xiàng)指標(biāo)顯示的就是這兩類內(nèi)核態(tài)內(nèi)存的總用量。很多人第一反應(yīng)是“GODService是不是申請(qǐng)了很大一塊堆沒(méi)釋放”但堆內(nèi)存大部分是用戶態(tài)的私有字節(jié)不會(huì)直接反映在分頁(yè)和非分頁(yè)緩沖池里??吹絻蓚€(gè)緩沖池同時(shí)漲方向就完全變了——這更像是內(nèi)核對(duì)象、句柄這類資源在持續(xù)堆積。這不是堆的問(wèn)題是資源句柄的問(wèn)題。1.2 為什么我第一反應(yīng)不是“堆泄漏”在有GC機(jī)制的環(huán)境里呆久的人看到一個(gè)進(jìn)程內(nèi)存漲第一個(gè)念頭會(huì)去看托管堆有沒(méi)有回收但對(duì)于C寫的常駐服務(wù)內(nèi)存漲的原因是很多的堆碎片、內(nèi)存池膨脹、緩存無(wú)上限、句柄泄漏、線程對(duì)象殘留每一樣的表現(xiàn)都不一樣。我能快速排除“堆泄漏”靠的是一個(gè)細(xì)節(jié)分頁(yè)緩沖池和非分頁(yè)緩沖池是內(nèi)核態(tài)的概念GODService作為一個(gè)普通用戶態(tài)進(jìn)程它自己幾乎不可能直接往這兩個(gè)池里分配內(nèi)存。它能影響這兩個(gè)池的途徑只有一個(gè)——不斷創(chuàng)建內(nèi)核對(duì)象、不斷往進(jìn)程句柄表里塞東西。每建一次Event、File、Mutex、Semaphore對(duì)象管理器就要在非分頁(yè)池里放對(duì)象頭在分頁(yè)池里維護(hù)句柄表?xiàng)l目。句柄越多兩個(gè)池漲得越兇。所以當(dāng)時(shí)的判斷是這不是內(nèi)存“變大”的問(wèn)題而是某段代碼在不?!霸鞏|西”但沒(méi)銷毀。常見(jiàn)的嫌疑是事件對(duì)象、文件句柄、注冊(cè)表鍵、線程內(nèi)核對(duì)象、GDI/USER對(duì)象這幾類。接下來(lái)要做的不是翻代碼而是先把“是哪一類句柄”確認(rèn)下來(lái)。1.3 分頁(yè)緩沖池與非分頁(yè)緩沖池在Win11上怎么看順帶說(shuō)下工具問(wèn)題。Win11的任務(wù)管理器改版之后性能頁(yè)面的內(nèi)存詳情變得很簡(jiǎn)潔“分頁(yè)緩沖池/非分頁(yè)緩沖池”這兩個(gè)字段藏在很隱蔽的位置普通用戶基本看不到。我平時(shí)更習(xí)慣用性能監(jiān)視器perfmon.msc直接加計(jì)數(shù)器或者用Sysinternals RAMMap看“Pool”標(biāo)簽頁(yè)。要用到的核心計(jì)數(shù)器就四個(gè)計(jì)數(shù)器作用\Process(GODService*)\Handle Count看進(jìn)程句柄數(shù)是否只漲不降\Process(GODService*)\Private Bytes看用戶態(tài)堆內(nèi)存增長(zhǎng)\Memory\Pool Nonpaged Bytes看非分頁(yè)緩沖池總量\Memory\Pool Paged Bytes看分頁(yè)緩沖池總量注意前兩個(gè)是進(jìn)程維度的后兩個(gè)是系統(tǒng)維度的。系統(tǒng)維度計(jì)數(shù)器會(huì)上漲的不只是我們這一個(gè)進(jìn)程但如果全機(jī)器其他進(jìn)程都安靜就它一個(gè)在瘋狂刷句柄那么系統(tǒng)級(jí)池?cái)?shù)值也能反推出來(lái)。2. 縮小包圍圈句柄數(shù)和緩沖池一起爬升2.1 三個(gè)計(jì)數(shù)器的走勢(shì)圖說(shuō)明了一切我在監(jiān)控機(jī)上拉了兩天的歷史曲線做了個(gè)對(duì)照GODService的Private Bytes漲得不算快但從啟動(dòng)開(kāi)始就沒(méi)有任何回落的跡象而Handle Count從啟動(dòng)時(shí)的2000左右一路漲到接近15萬(wàn)幾乎是一條筆直的上升線。再疊加系統(tǒng)級(jí)的Pool Nonpaged Bytes三根線在時(shí)間維度上完全同步。這個(gè)現(xiàn)象基本能鎖定方向句柄泄漏。因?yàn)槿绻菃渭兊膬?nèi)存泄漏Private Bytes會(huì)有一個(gè)很陡的上升趨勢(shì)而Handle Count不會(huì)同步變化現(xiàn)在句柄數(shù)同步上天說(shuō)明泄漏的粒度和“每次循環(huán)/每次請(qǐng)求造一個(gè)對(duì)象”高度相關(guān)。這里有個(gè)判斷口訣我用了很多年內(nèi)存漲句柄不漲優(yōu)先查堆和緩存內(nèi)存漲句柄也漲基本就是資源沒(méi)釋放。反過(guò)來(lái)句柄漲但內(nèi)存不漲其實(shí)更危險(xiǎn)因?yàn)樗考?jí)更隱蔽等你發(fā)現(xiàn)時(shí)可能已經(jīng)逼近系統(tǒng)上限了。2.2 句柄表為什么會(huì)同時(shí)壓到兩個(gè)緩沖池很多人不理解為什么GODService一個(gè)用戶態(tài)進(jìn)程的句柄泄漏能讓W(xué)in11的“分頁(yè)緩沖池”和“非分頁(yè)緩沖池”同時(shí)上漲。這要回到Windows對(duì)象管理器的工作方式。進(jìn)程創(chuàng)建第一個(gè)內(nèi)核對(duì)象時(shí)系統(tǒng)會(huì)為它建立一張句柄表。句柄表本身是分頁(yè)的里面存放句柄條目比如對(duì)象指針、訪問(wèn)掩碼、屬性標(biāo)記這些數(shù)據(jù)落在分頁(yè)緩沖池里。而句柄對(duì)應(yīng)的內(nèi)核對(duì)象本體比如一個(gè)Event對(duì)象它的對(duì)象頭和核心數(shù)據(jù)結(jié)構(gòu)是需要常駐物理內(nèi)存的因?yàn)樗鼈円獏⑴c等待調(diào)度和事件通知不能被換出——所以從非分頁(yè)緩沖池分配。每次CreateEvent成功等于同時(shí)向分頁(yè)池和非分頁(yè)池各借了一塊地。CloseHandle就是還地。如果你光借不還兩個(gè)池都會(huì)漲。所以GODService在Win11上表現(xiàn)出來(lái)的“分頁(yè)緩沖池和非分頁(yè)緩沖池內(nèi)存泄漏”本質(zhì)上是同一個(gè)句柄泄漏的一體兩面。2.3 當(dāng)時(shí)做的兩個(gè)排除試驗(yàn)鎖定方向后我做了兩個(gè)快速排除試驗(yàn)?zāi)康氖谴_認(rèn)不是別的東西在搗亂。第一個(gè)試驗(yàn)是把Process Explorer里的列調(diào)出來(lái)加了User Objects、GDI Objects、Handles三列觀察GODService的GDI對(duì)象和用戶對(duì)象是否同時(shí)增長(zhǎng)。結(jié)果GDI Objects穩(wěn)定在一個(gè)值附近User Objects也只有小幅波動(dòng)只有Handles在飛速上漲。這說(shuō)明問(wèn)題出在內(nèi)核對(duì)象句柄不是GUI相關(guān)資源。第二個(gè)試驗(yàn)更狠一點(diǎn)我在一臺(tái)測(cè)試機(jī)上直接把GODService進(jìn)程殺掉再重啟。如果是堆緩存膨脹重啟后內(nèi)存會(huì)回落到正常水平但運(yùn)行一段時(shí)間后又會(huì)慢慢漲如果是文件映射或者磁盤緩存問(wèn)題DropCache之后可能會(huì)緩解。而試驗(yàn)結(jié)果是重啟后句柄數(shù)回到基線運(yùn)行一個(gè)小時(shí)后又開(kāi)始一路向上斜率基本和之前一致。這說(shuō)明代碼路徑是每次運(yùn)行時(shí)都在反復(fù)觸發(fā)不是偶發(fā)性的。到這里問(wèn)題已經(jīng)很明確GODService進(jìn)程內(nèi)部存在規(guī)律性的句柄創(chuàng)建并且沒(méi)有對(duì)應(yīng)釋放。接下來(lái)要找出是哪一行代碼。3. 用windbg的htrace把泄漏代碼揪出來(lái)3.1 為什么選htrace而不是直接翻代碼團(tuán)隊(duì)里有人提了個(gè)建議直接用代碼平臺(tái)搜索看一下有沒(méi)有忘了CloseHandle的地方。這思路沒(méi)錯(cuò)但GODService是一個(gè)幾萬(wàn)行代碼的工程涉及插件通信、超時(shí)調(diào)度、文件監(jiān)聽(tīng)、網(wǎng)絡(luò)連接池手動(dòng)掃一遍少說(shuō)也得大半天而且像句柄泄漏這種問(wèn)題單看代碼不一定看得出來(lái)——因?yàn)椤斑@塊代碼看著有釋放其實(shí)在一個(gè)異常分支里繞過(guò)去了”的情況太常見(jiàn)了。我更推薦動(dòng)態(tài)追蹤直接問(wèn)系統(tǒng)哪些句柄被創(chuàng)建了創(chuàng)建時(shí)的調(diào)用棧是什么最后有沒(méi)有被關(guān)閉。Windows調(diào)試工具的!htrace命令就是干這個(gè)的。它會(huì)記錄進(jìn)程里句柄操作的調(diào)用棧通過(guò)兩次快照對(duì)比能精確列出“這個(gè)時(shí)間段內(nèi)創(chuàng)建但沒(méi)關(guān)閉的句柄清單”。3.2 完整操作路徑用任務(wù)管理器轉(zhuǎn)儲(chǔ)之類的方法都不夠我當(dāng)時(shí)的操作是這樣的你可以在自己的環(huán)境里復(fù)現(xiàn)!gflag htrace !htrace -enable這兩條命令在windbg里對(duì)live進(jìn)程執(zhí)行即可。!gflag htrace是打開(kāi)當(dāng)前進(jìn)程的句柄追蹤標(biāo)志!htrace -enable開(kāi)始記錄句柄操作。需要注意開(kāi)啟追蹤是有性能開(kāi)銷的所以不要在全部生產(chǎn)機(jī)上都開(kāi)最好找一臺(tái)流量較小的灰度機(jī)確認(rèn)問(wèn)題存在但不會(huì)影響業(yè)務(wù)。等GODService運(yùn)行一段時(shí)間比如15分鐘或者一個(gè)小時(shí)先做第一次快照!htrace -snap快照做完之后再等一段時(shí)間讓泄漏繼續(xù)累積。然后再做第二次快照!htrace -snap !htrace -diff!htrace -diff會(huì)把兩次快照之間新增的句柄操作列出來(lái)包含創(chuàng)建句柄的完整調(diào)用棧。看到的就是這段窗口期內(nèi)創(chuàng)建的、尚未關(guān)閉的句柄指紋。3.3 快照對(duì)比中看到的調(diào)用棧diff的結(jié)果出來(lái)時(shí)數(shù)據(jù)非常明顯。新句柄幾乎都集中在一個(gè)模塊里調(diào)用棧反復(fù)出現(xiàn)這樣的路徑kernel32!CreateEventW godservice!CFsmTimer::CheckPluginHeartbeat godservice!CWorkerThread::ProcessTimeoutQueue也就是說(shuō)每一次心跳檢測(cè)超時(shí)代碼都會(huì)創(chuàng)建一個(gè)Event然后這個(gè)Event沒(méi)有在等待結(jié)束后被關(guān)掉。反過(guò)來(lái)看那些正常的執(zhí)行路徑在信號(hào)正常返回的case下是有CloseHandle的只有超時(shí)分支漏了。這正好解釋了為什么監(jiān)測(cè)期間GPK包越多、超時(shí)越頻繁內(nèi)存漲得越快半夜業(yè)務(wù)低峰超時(shí)少但第二天高峰一到又一輪快速爬升。我后來(lái)還在dumps里用!handle掃過(guò)進(jìn)程句柄列表看到大量類型為Event的句柄對(duì)象名基本都是空的確認(rèn)無(wú)誤。4. 根因事件句柄在超時(shí)分支上沒(méi)關(guān)4.1 觸發(fā)場(chǎng)景和當(dāng)時(shí)的代碼寫法把調(diào)用棧對(duì)應(yīng)回代碼問(wèn)題很快就暴露了。GODService里有一條插件心跳檢查邏輯負(fù)責(zé)定期確認(rèn)外部組件的存活狀態(tài)。組件的心跳信號(hào)是動(dòng)態(tài)注冊(cè)的一次性通知所以代碼不能直接復(fù)用一個(gè)全局事件只能每次檢測(cè)時(shí)創(chuàng)建一個(gè)臨時(shí)事件對(duì)象等插件上報(bào)或者超時(shí)然后釋放。下面是精簡(jiǎn)過(guò)的原始寫法相信不少做過(guò)Windows服務(wù)開(kāi)發(fā)的人看一眼就會(huì)有共鳴void CWorkerThread::CheckPluginHeartbeat() { HANDLE hEvent ::CreateEventW(nullptr, TRUE, FALSE, nullptr); if (hEvent nullptr) { return; } DWORD dwWait ::WaitForSingleObject(hEvent, 3000); if (dwWait WAIT_TIMEOUT) { // 插件沒(méi)在3秒內(nèi)上報(bào)心跳跳過(guò)本次檢查 continue; // 問(wèn)題就出在這里句柄沒(méi)有關(guān)閉 } if (dwWait WAIT_OBJECT_0) { ::ResetEvent(hEvent); // 這里處理插件上報(bào)的數(shù)據(jù) } ::CloseHandle(hEvent); }這段代碼寫的人當(dāng)時(shí)應(yīng)該也認(rèn)真考慮過(guò)資源釋放因?yàn)檎7种Ш托盘?hào)到達(dá)分支都有關(guān)閉操作唯獨(dú)超時(shí)分支里寫了個(gè)continue提前跳出。手一抖一個(gè)CloseHandle就漏掉了。4.2 修復(fù)前的資源生命周期分析我后來(lái)又把問(wèn)題代碼的運(yùn)行路徑完整捋了一遍發(fā)現(xiàn)這個(gè)泄漏的放大效應(yīng)比單看代碼更嚴(yán)重。正常邏輯下插件如果在3秒內(nèi)上報(bào)心跳WaitForSingleObject返回WAIT_OBJECT_0代碼會(huì)走處理流程然后CloseHandle萬(wàn)事大吉。但一旦插件響應(yīng)慢或者網(wǎng)絡(luò)抖動(dòng)WaitForSingleObject在3秒后返回WAIT_TIMEOUT代碼立刻continue跳到循環(huán)的下一次迭代重新CreateEvent。每次超時(shí)都創(chuàng)建一個(gè)新Event對(duì)象但舊對(duì)象永遠(yuǎn)留在句柄表里。這個(gè)場(chǎng)景有多頻繁呢心跳檢查周期是5秒而GODService同時(shí)管理幾十個(gè)插件維度每個(gè)維度都要做一次檢查。如果一個(gè)周期里有10個(gè)插件超時(shí)一分鐘就是120個(gè)泄漏句柄一天就是17萬(wàn)左右。你想象一下任何一個(gè)Windows常駐服務(wù)如果每天往非分頁(yè)池里塞十幾萬(wàn)個(gè)Event對(duì)象內(nèi)存不炸才怪。而且這種泄漏還有個(gè)隱蔽性它平時(shí)不會(huì)立刻暴露服務(wù)剛啟動(dòng)的前幾小時(shí)一切正常內(nèi)存增長(zhǎng)也很平緩??芍灰獦I(yè)務(wù)波動(dòng)一次、超時(shí)頻率上來(lái)斜率立刻變陡。因?yàn)楹蜆I(yè)務(wù)高峰期強(qiáng)相關(guān)很容易被誤讀成“業(yè)務(wù)量大了內(nèi)存占用高正常”這也是很多內(nèi)存泄漏線報(bào)一直沒(méi)被重視的原因。4.3 修復(fù)后的正確寫法修復(fù)本身并不復(fù)雜重點(diǎn)不是補(bǔ)一行CloseHandle而是改變資源管理的習(xí)慣。我的修復(fù)版本長(zhǎng)這樣void CWorkerThread::CheckPluginHeartbeat() { wil::unique_handle hEvent(::CreateEventW(nullptr, TRUE, FALSE, nullptr)); if (!hEvent) { return; } DWORD dwWait ::WaitForSingleObject(hEvent.get(), 3000); if (dwWait WAIT_TIMEOUT) { // 插件沒(méi)心跳跳過(guò)本次資源由 RAII 自動(dòng)釋放 continue; } if (dwWait WAIT_OBJECT_0) { ::ResetEvent(hEvent.get()); // 正常處理 } }核心改動(dòng)是引入了RAII封裝讓句柄的生命周期跟著局部作用域走。無(wú)論函數(shù)從哪里return無(wú)論是continue還是break還是異常只要出了作用域析構(gòu)函數(shù)會(huì)統(tǒng)一調(diào)用CloseHandle。這是C資源管理最樸素也最有效的方案。如果你用的是正規(guī)Windows C開(kāi)發(fā)環(huán)境微軟提供的wil庫(kù)可以直接用wil::unique_handle不想引庫(kù)的話自己封裝一個(gè)SafeHandle模板類也沒(méi)問(wèn)題??傊瓌t只有一條誰(shuí)創(chuàng)建誰(shuí)負(fù)責(zé)并且要在所有出口都保證釋放。順帶建議這類事件檢測(cè)邏輯其實(shí)也沒(méi)必要每次循環(huán)都新建Event更好的設(shè)計(jì)是復(fù)用一個(gè)常駐信號(hào)對(duì)象配合ResetEvent和WaitForSingleObject這樣連“反復(fù)創(chuàng)建”這個(gè)成本都省了。不過(guò)這是事后重構(gòu)話題了先把泄漏堵住才是首要任務(wù)。5. 回歸驗(yàn)證與上線策略觀察哪幾個(gè)指標(biāo)5.1 灰度期間的對(duì)照表格修復(fù)完成后我沒(méi)有直接全量發(fā)布而是選了兩臺(tái)機(jī)器做灰度對(duì)照一臺(tái)保留舊版本繼續(xù)跑一臺(tái)部署新版本。然后對(duì)比24小時(shí)和48小時(shí)的關(guān)鍵指標(biāo)。下面這個(gè)表是灰度測(cè)試后的實(shí)際數(shù)據(jù)整理指標(biāo)舊版本修復(fù)前48h新版本修復(fù)后48h進(jìn)程句柄數(shù)穩(wěn)定上升約每秒新增2-3個(gè)啟動(dòng)后爬升到3000左右然后回落穩(wěn)定Private Bytes以約200MB/天的速度增長(zhǎng)基本穩(wěn)定波動(dòng)幅度在幾十MB以內(nèi)Pool Nonpaged Bytes線性上漲48小時(shí)增加約660MB小范圍波動(dòng)無(wú)持續(xù)上漲趨勢(shì)Pool Paged Bytes同步上漲略有波動(dòng)無(wú)異常爬升插件處理隊(duì)列周期性堆積無(wú)堆積延遲恢復(fù)正常最直觀的差異就是句柄數(shù)。舊版本是新版本一晚漲好幾萬(wàn)始終不回落新版本啟動(dòng)時(shí)會(huì)有一個(gè)正常預(yù)熱的過(guò)程句柄數(shù)漲到幾千后開(kāi)始出現(xiàn)明顯的鋸齒形——上漲一批、釋放一批、再上漲??吹戒忼X形就說(shuō)明釋放動(dòng)作已經(jīng)恢復(fù)了。5.2 “先漲后穩(wěn)”是健康信號(hào)這里想單獨(dú)說(shuō)一個(gè)觀察結(jié)論修復(fù)后的服務(wù)啟動(dòng)初期內(nèi)存和句柄數(shù)會(huì)有一個(gè)快速上升的階段不懂的人可能會(huì)誤以為“還在泄漏”。其實(shí)這是正常的預(yù)熱過(guò)程。GODService啟動(dòng)時(shí)要建立插件連接池、讀取配置、注冊(cè)各種通知事件這些對(duì)象都是需要?jiǎng)?chuàng)建的。只要上升曲線到達(dá)一個(gè)平臺(tái)后開(kāi)始震蕩而不是繼續(xù)走高就是健康的。判斷泄漏與否關(guān)鍵不在絕對(duì)值大小而在斜率有沒(méi)有歸零。我在灰度測(cè)試時(shí)專門看了第二天和第三天的數(shù)據(jù)句柄數(shù)始終維持在同一區(qū)間上下波動(dòng)沒(méi)有出現(xiàn)第二天比第一天高一截、第三天再高一截的情況。Pool Nonpaged Bytes也穩(wěn)定在固定區(qū)間。到這里才能說(shuō)修復(fù)有效。5.3 回滾預(yù)案和長(zhǎng)穩(wěn)驗(yàn)證因?yàn)镚ODService涉及業(yè)務(wù)狀態(tài)同步我還定了兩個(gè)保底措施。第一灰度機(jī)保留舊版本鏡像一旦新版本出現(xiàn)異??梢园胄r(shí)內(nèi)切回第二把修復(fù)版本壓在一個(gè)模擬仿真環(huán)境里連續(xù)跑七天模擬高峰流量和插件大量超時(shí)的場(chǎng)景。長(zhǎng)穩(wěn)驗(yàn)證期間我額外加了一個(gè)自動(dòng)化監(jiān)控腳本用的是Windows自帶的Performance Counter好處是不用裝額外agentGet-Counter ( \Process(GODService*)\Handle Count, \Process(GODService*)\Private Bytes, \Memory\Pool Nonpaged Bytes, \Memory\Pool Paged Bytes ) -SampleInterval 30 -MaxSamples 100腳本每30秒采集一次連續(xù)采集100次輸出到CSV后直接用Excel畫趨勢(shì)圖一眼就能看出有沒(méi)有新的上漲斜率。這套腳本我現(xiàn)在還留在團(tuán)隊(duì)的運(yùn)維工具箱里后來(lái)排查別的問(wèn)題也反復(fù)用到。6. 復(fù)盤Windows常駐服務(wù)還有哪些池泄漏偽裝術(shù)6.1 容易被誤判的幾種池泄漏GODService這次是Event句柄泄漏但Windows常駐服務(wù)里的池泄漏還遠(yuǎn)不止這一種。我借這個(gè)機(jī)會(huì)把過(guò)去踩過(guò)的坑一起復(fù)盤一下方便你在排查時(shí)少走彎路。第一種是GDI/USER對(duì)象泄漏。這類泄漏在任務(wù)管理器里通常表現(xiàn)為分頁(yè)緩沖池上漲但Handle Count不一定漲得兇因?yàn)镚DI句柄走的是另一套句柄表。排查工具要用Process Explorer單獨(dú)看GDI Objects列或者用!gditable命令檢查GDI句柄表。第二種是線程對(duì)象泄漏。每次創(chuàng)建線程系統(tǒng)都會(huì)創(chuàng)建線程內(nèi)核對(duì)象保護(hù)結(jié)構(gòu)落在非分頁(yè)緩沖池。如果你發(fā)現(xiàn)非分頁(yè)池上漲但句柄數(shù)穩(wěn)定可以數(shù)一下進(jìn)程里的線程數(shù)。很多隱藏的線程池泄漏就是這樣代碼里_beginthreadex開(kāi)了線程卻沒(méi)有在所有出口都做WaitForSingleObject和CloseHandle。第三種是Timer隊(duì)列泄漏。Windows的Timer Queue Timer創(chuàng)建后沒(méi)有調(diào)用DeleteTimerQueueEx或者每次CreateThreadPoolTimer都新分配一個(gè)上下文也會(huì)造成分頁(yè)池上漲。這類問(wèn)題在代碼靜態(tài)掃描里經(jīng)常發(fā)現(xiàn)不了因?yàn)閯?chuàng)建和釋放可能分布在不同的類里。還有一種最容易搞的烏龍是.NET/P/Invoke場(chǎng)景。GODService雖然是C但團(tuán)隊(duì)里還有其他語(yǔ)言寫的Windows服務(wù)。用C#調(diào)Win32 API時(shí)如果返回的IntPtr沒(méi)有包裝成SafeHandleGC是不知道你需要釋放這個(gè)句柄的。結(jié)果是托管堆很干凈非分頁(yè)池卻一路狂飆。排查這類問(wèn)題務(wù)必先看有沒(méi)有SafeHandle再看有沒(méi)有漏掉的CloseHandle。6.2 把句柄審計(jì)做成日常能力修復(fù)GODService用到的這一整套排查鏈路其實(shí)可以沉淀成團(tuán)隊(duì)日常能力。我現(xiàn)在到一個(gè)新環(huán)境處理Windows常駐服務(wù)內(nèi)存問(wèn)題的固定套路是先看三件事Handle Count、GDI Objects、線程數(shù)。這三項(xiàng)定性快60秒內(nèi)就能判斷是不是資源泄漏。再看系統(tǒng)級(jí)內(nèi)存Pool Nonpaged Bytes和Pool Paged Bytes重點(diǎn)觀察斜率而不是絕對(duì)值。最后用windbg的!htrace或其他窮舉工具抓調(diào)用棧定位具體代碼位置。同時(shí)強(qiáng)烈建議把“進(jìn)程句柄數(shù)”加入監(jiān)控告警項(xiàng)。內(nèi)存使用率可以靠物理內(nèi)存和業(yè)務(wù)負(fù)載兜底但句柄數(shù)是硬指標(biāo)Windows對(duì)每個(gè)進(jìn)程的句柄數(shù)限制是明確的一旦接近上限不只是內(nèi)存爆掉的問(wèn)題整個(gè)服務(wù)都會(huì)處于卡死狀態(tài)。6.3 這次踩完坑我留下的三條硬規(guī)矩第一所有涉及內(nèi)核對(duì)象的代碼一律不寫裸句柄。要么用RAII封裝要么用SafeHandle嚴(yán)禁在業(yè)務(wù)函數(shù)里直接傳遞HANDLE變量。這次事件證明人的記憶會(huì)出錯(cuò)但作用域邊界不會(huì)。第二超時(shí)分支是資源管理的重災(zāi)區(qū)。不管是CreateEvent、CreateFile還是WaitForSingleObject凡是帶超時(shí)參數(shù)的邏輯寫完之后就要立刻檢查超時(shí)返回路徑上有沒(méi)有留下未釋放的資源。可以把這段檢查當(dāng)成和空指針判斷一樣的必備動(dòng)作時(shí)間久了就養(yǎng)成肌肉記憶。第三定期拿生產(chǎn)環(huán)境的一個(gè)副本開(kāi)啟htrace跑一遍。不需要每個(gè)版本都跑但任何涉及線程、事件、信號(hào)量、定時(shí)器的大版本變更都應(yīng)該做一次句柄級(jí)回歸。成本不高卻能避免內(nèi)存泄漏這種慢性病拖到線上暴發(fā)。這次GODService的修復(fù)報(bào)告寫到最后我最想說(shuō)的一句話是Windows服務(wù)的“內(nèi)存泄漏”四個(gè)字很多時(shí)候是表象真正的病灶藏在句柄、線程和內(nèi)核對(duì)象里。多看一眼分頁(yè)緩沖池和非分頁(yè)緩沖池的斜率比盯著任務(wù)管理器里那個(gè)不斷翻新的MB數(shù)字要靠譜得多。至少對(duì)這個(gè)服務(wù)來(lái)說(shuō)從“看到緩沖池漲”到“找到那一行continue”中間只隔了一條!htrace -diff的距離。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九月丁香婷婷| 国产一线二线三线av| 天天澡天天爽日日av| 青草成人免费视频一com| 六月激情婷婷| 欧美91在线| 亚av顶级裸体一区二区三区四区五区| 亚洲二区精品在线观看| 亚洲AV色图一区| 成人欧美一区二区三区黑人一| 性欧美999| 天天日日夜夜| a男人的天堂久久一级A毛片| heyZO天然素人无码AⅤ专区| 日日黄色三级网站| 亚洲国产午夜真人一级片中文字幕精品黄网站| 97久久超碰日韩精品| 素颜老阿姨乱情色| 五月丁香激情综合| 国产亚州高清国产拍精| 激情抓乳插进去啪啪啪日韩| 欧美日韩亚洲少妇寂寞影院正在播放 | 久久超碰亚洲人| 26uuu国产免费观看| 天天夜夜久久| 日韩精品区二区三区不卡| 97干在线| 香蕉欧美| 大香蕉性欧美| 日韩78m视频| 欧美日韩婷婷中文| 丁香六月婷婷久久综合| 国产精品亚洲一区二区三区四区| 日韩亚洲国产视频| 亚洲色图欧美一区二区不卡| 日本一久是| 色噜噜婷婷| а√天堂资源官网在线资源| 国产精品69久久久久孕妇欧美 | 97在线观看视频| 久久人妇| 欧美亚州综合网图片| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 伊人久久青青草| 插日本熟女视频| 国产亚洲精品av一区| 无码78| 久久 久久国内精品亚洲| 九九热精品| 日韩亚洲中文字幕在线| 日韩性色b| 3d成人精品一区二区| 亚洲欧洲日韩天堂av| 日韩视频精品在线观看| 丰满人妻一区二区三区| 亚洲熟久久| 亚洲综合 欧美| 色在线69堂| 久久9免费视频| 久操视频在线观看| 亚洲综合另类小说色区亚洲成av人片在www | 妇女乱色二区| 夜夜嗨视频| 麻豆视频一区二区| 天堂成人网| 97操97干| 久久性爱网站| 国产成人综合网| 91狠| 91殴美大片| 久操B网| 男人的天堂欧美| 伊人久久亚洲中文字幕| 丰满人妻一区二区三区免费,| 大香蕉在线视频15| 欧美桃色网| 国产和美国毛片| 亚洲第91页| 亚洲美女黄色| 你懂的在线观看区国产| 亚洲综合成人网| 亚洲国产日韩欧美熟妇在线| 97天天做| 亚洲在线欧美| 91丨九色丨国产打屁股| 淫乱图区| 人妻另类 专区 欧美 制服| 中文一区二区三区影院| 日韩欧美中文| 大香蕉乱伦视频网| 色婷婷一区二区三区久久午夜| 久久爱超碰网| 精品高潮| 久久精品国产亚洲AV无码做| 亚洲偷91色| 国产呦精品系列在线观看| 国产福利一区二| 天天综合网入口~91| 人妻喷水| 国产亚洲精品农村妇女| 日本一区二区三区欧美日韩中文字幕 | 区二区亚洲婷| 天天射天天| 五月丁香啪啪| 91在线免费精品视频| 乱伦av麻豆| 青青草视频在线观看一区二区| 婷婷激情一区二区三区俺也去| 91老熟女91老女人| 日韩精品-原创伙伴| 久久久久久电影| 天天天天操| 熟女高潮精品一区二区| 男女真人网18| 东京热av男人的天堂| 高清无码人妻久久久一区二区三区aⅴ| 五月丁香拍拍激情综合三级| 日韩人人精品| 亚洲综合婷婷| 久久精品国产亚洲av水密被窝| 久久成人午夜精品影院| 久久久久久裸体| 亚洲国产尤物yw在线观看| 激情第四色| 99草精| 深夜激情无码| 91精片| 人妻天天爽夜夜爽爽| 色香天天| av久日| 人人操,操人人| 人妻无码一区二区三区久久99| 久久精品国产亚洲AV片多多| 日本日皮视频逼| 亚洲一本色码中文字幕| 日本国产高清色www视频在线| 伦在线97| 亚洲aV性爱| 青青草在线视频播放器| 国产欧美精品日韩区二区麻豆天美| 日本天堂网| a男人的天堂久久一级A毛片| 婷婷精品国产一区二区三区日韩| 色色色色电影网| 国产精品天干天干综合网麻豆| 人人操人人插人人摸人人干| 欧美人妻制服| 思思热在线视频精品| 亚洲欧美第一页| www.99热在线只有精品| 久久久中文| 最新亚洲黄色免费电影 | 9丨亚洲一区二区在线| 操亚州| 香蕉人人操tv| 黄色视频高清无码网站| 欧美激情久久久久| 国产日逼视频| 91成人在线免费视频| 久操免费观看| 中文操逼字幕| 蜜屁Av| 免费中文在线| 久久毛卡| 亚洲欧美自拍偷拍| 酒色综合网| 国模不卡一本二本三电影| 欧美黑人精品一区二区| 我要去看2个日本美女.com曹逼| 加勒比日本在线| 亚洲天堂 视频你懂的| 97爱| 十八禁啪啪视频| Av手机版天堂网| 黑人精品欧美一区二区蜜桃| 人妻社区男人天堂| 国产免费大片| 色婷婷网| 国产av美女被艹的乱叫| 亚洲日韩视频二区| 一牛影视久久久一区二区三区| 精品一区二区综合熟妇| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 色欲天天综合网| 国产一级高跟丝袜| 情趣丝袜无码操逼视频| 欧美v日韩v亚洲v最新在线| 97精品网站| 久久伊人网视频一区二区三区| 欧洲熟妇xxXx欧美老妇裸体| 日本操BAV| 欧美αv.com| 2017超碰| 国产丰满少妇久久久精品影院| 久久综合婷婷| 国产精品嫩草影院午夜两性| 日韩15p| 91中出视频| 伊人午夜福利视频| 国产精品大屁股999| 超碰久在线天天做| 亚热日本熟女| 香蕉免费一区二区三区不读| 97网址97| 人人操肉肉| 99re免费| 国产精品视频内谢女人| 色欲av国内精品久久久久久| 国产精品福利视频| 国产午夜精品理论片a大结局| 日韩猛交| 黄色香蕉视频网站一区| 亚洲欧美变态| 欧美BT 亚洲色图| 麻豆黄四叶草网站| 99热导航| 欧美 日韩第一性色| 屁股久久久久久久久| 欧洲精品网| 天综合网欧美| 久久精品久久久久久久| 综合97| 一区二区三区国产在线播放| 日本人妻伦在线中文字幕| 内射老妇BBWX0C0CK| 色色色色日本| 99久久综合网| 国产熟女一区二区丰满| 五月天人妻综合| 丰满人妻一区二区三区四区| 欧美性爱无码一区二区三区| av日韩手机在线影视| 99久久久久久久久| 亚洲自拍另类丝袜综合| 丰满丝袜少妇AV| 91熟女丨老女人| 97国产人人| heyZO天然素人无码AⅤ专区| 日韩激情啪啪| 欧美后进式| 丝袜无码a片| 色哟哟av| 92性色国产午夜福利在线661| 成人a级高清视频在线观看| 久久一级无码精品毛片6| 久久婷色| 超碰1024久久| 综合色区偷拍| 国产对白刺激视频| A V少妇特黄三级| 亚洲官网在线| 变态综合色| 国产操伦| 艳美熟妇先锋一二三区| 综合色久欲| 国产精品电影大全| 日本黄 R色 成 人网站| 老司机午夜精品福利视频一区二区| 欧美色网络| 日韩 欧美 另类 人妻| 久久久999日本大片| 免看60秒涩涩视频| 在线看的av| 欧美第一页性| 91制服丝袜中文字幕| 亚洲囯产精品女人久久久| 能看的av| 国产欧美另类久久久精品课程| 奇米四色网| 人妻少妇色综合| 蘋果手機免費看成人Av| a级免费在线观看| 九九这里只有精品| 国产又长又大又粗的视频| 女人与公拘交酡2020视频| 欧美黄色片AAAAA| 人妻熟女一区二区三区在线| 欧美日韩插逼视频| 久久免费老司机精品| 啊啊啊操死我了| 最新三级网址| 91爱看| 老熟女搡BBBB搡BBBB视频| 日韩精品区二区三区不卡| 97资源站国产精品| 亚洲免费人妻在| 动漫av中文| 欧美日韩黄片精品在线| 无码视频一区二区| 91快色色色色色| 亚洲Av噜噜一区二区三区妖精| 在线视频 亚洲精品| 少妇一线天久久久久久| 成人羞羞视频国产| 超碰爽人妻熟女Av| 日韩三级伦理中文字幕| 一区二区三区日韩欧美| 在线视频 亚洲精品| 男人的天堂在线有码| 99av| 99re这里只有精品3| 色女免费在线观看视频网址| 欧美特大黄一级片片免费| 久久人妻一区二区三区高清| 岛园激情| 麻豆精品一区二区三区四区免费观看| 日本在线不卡123| av中亚| 刺激性视频黄页| 欧洲黄色网| 精品人妻视频一区二区三区蜜桃视频| 大香蕉黄色一级片免费看| www.高清无码诱惑一区.com | 黑操B| 天天综合官网| 在线视频五十市| 欧美老妇曰批的视频| 丰满人妻一区| 日韩97视频!在线| 日韩一区二区精彩视频| 天天操熟妇| 夜夜操二区| 日熟女| 成人欧美日超碰| 亚欧性爱ab| 玖玖久久久| 欧美性区| av一区二区三区 中文| 色约约一区=区三区| 综合网,亚洲,欧美| 欧美aaaaaaa| 97超碰影音| 九色 人妻 大香蕉| 你想操日本小逼吗| 国产精品白丝| 中文无线日韩一区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | www.狠狠干.coom| 午夜激情成人在线观看| 春色91| 偷拍超碰| 婷婷久草一区二区三区| 国产黄片在线免费观看| 狠狠干91| 在线五区| 97精品综合久久网| 亚洲天堂色图| 无码又爽又硬又激情免费视频| 91精品人妻偷情| 91综合天天看| 久久人妻少妇| 日日A∨| 天天肏美女| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 美女91网址 | 手机在线免费看的av| 五十路成人在线视频二区三区| 7月婷婷综合| 日日碰狠狠添天天爽超| 久久久久久人妻一区精品色欧美| 激情小说亚洲色图| 伊人麻豆传媒| 97资源站日韩| 性欧美第一页| 91国产在线精品| 日韩内射视频| 乱理日韩中文| 欧美日韩国产传媒在线精品| 天天天天操| 久久性视频| av日韩在线观看电影| 中文字幕美女91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 6080YYY午夜理论片在线观看| 熟妇女伦乱视频| 亚洲天堂一二| 久久久久久人体| 91黄射| 欧美最大综合网| 成人在线视频一区| 97超碰久| 精品妇操一区二区三区| 欧美九一精品久久久熟妇| 台湾一区国产高清在线| 免费精品国偷自产在线在线| 中文乱码字字幕在线第5页| 国产400孕妇孕交群| 蜜臀99久| 国产精品乱码久久| 中文字幕一区二区视频在线观看| 91精片| 日本在线观看网址| 老司机天天操| 超碰99re| 97久久久| 在线观看无码三级少妇| 精品v日韩欧美国产| 一本一道波多野毛片中文在线| 日本免费一级AAA大片器| 国产高清免费不卡av| 中文字幕国产| 色色五月婷| 日韩人妻精品久久久久| 亚洲人妻熟妇三十三区| 在线情色电影 91大| 亚洲欧美内射| 亚洲性网| 国产尤物AV尤物在线观看不卡| 一区二区三区 日韩欧美| 丰满人妻av一区二区三区| 日本久久网| 久久国产视频专区一二三| 亚洲97p| 后入福利| 乱伦一二三| 国产操偷| 欧美久久草熟女| 中文字幕文字幕无码一区二区三区电影99| 少妇丝袜在线观看AV| 久啪视频| 精品毛片av一区二区| 亚洲一本大道中文字幕无码在线| 精品久久青青草| 91欧美丨精品丨入口| 欲色综合| 蜜乳Av成人片网站| 最新AVzaixian| 少妇内射www在线观看视频 | 婷婷色综合| 啊啊啊啊在线观看网址| 亚洲国产97在线精品一区| 日韩熟女三十乱伦| 91GD.COM| 国产成人自拍视频视频| 六十路日本| 91爰爱欧美| 尤物网站91| 国产高清成人传媒影视| 在线精品福利免费播放| 亚洲综合888| 97爱爱官网| 思思热免费在线视频| 人妻嗯啊啊在线播放| 国产精品视频| 国产精品不卡av免费在线观看| 亚洲中文日韩精品| 青青草玖玖爱| 国产精品永久免费10000| 极品丝袜无码| 久久久久久久唑| 亚洲欧美日韩夜夜| 国产热av| Blackedraw视频一区二区| 中文有码第五页| 射综合网| 亚洲最大91网| 色婷婷国产精品一区在线观看| 久久肏大逼| 亚洲国产亚洲天堂| 亚洲97久久精品亚洲| 久久九七| 亚洲精品尤物yw在线影院| 奸色色 男人天堂 天天射| 男人天堂新在线| 91精品黄在线观看| 蜜桃臀av一区二区| 91超级碰碰碰| 亚洲黄色AV电影| 91性高潮久久久久久久久| 欧美久久久| 中文字幕一区电影在线观看| 91男同| 精品亚洲国产成人精品| 97操在线| 免费啪啪一级视频| 成人区人妻精品一| 久久男人的天堂国产| 国产精品诱惑| 天天日天天射天天干| 玖玖爱在线视频免费观看| 麻豆天美制片厂网站视频| 韩国免费播放一级毛片| 男生女生啊啊啊啊| 特级丰满少妇一级AAAA爱毛片| 亚洲国产亚洲天堂| 呻吟 欧美 日本 中出| 欧美国产伊人久久久久| 大香蕉中文网| 欧美在线伊人色| 91亚洲色人| 久久超碰av在线| 亚卅熟女乱色| 美女裸体无遮挡永久免费观看网站 | 午夜毛片高清免费不卡| 色爱三区| 中文视频在线观看| 亚洲自拍一区夜夜操| 欧洲成人性爱视频| 午夜欧美精品久久久| 久久久久久久久久久六六| 无码一区免费在线不卡| 欧美天堂亚洲电影院一区在线播放| 成人网站 免费观看| 日本二三四区| 日韩精品人妻中文字幕久久久| 在线一道啪| 成人三级片一区二区三区视频| 色综合91| 日韩视频啪啪| 欧美在线播放| 欧美激情亚洲情色| 91美女在线精品视频| 中日韩熟女| 国产精品视频在线观看| 亚洲性少妇| 久久男人的天堂国产| 高潮毛片无遮挡高清免费| 欧美偷| 欧美日本久久精品一区 | 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 午夜美女诱惑电源网| 午夜性| 欧美国产日韩高清在线| 五月天久久综合网| 超碰人妻97| 97精选久久| 精品久久久久9999| 丁香五月天激情综合| 日韩在线性爱免费视频| 亚洲欧美大| 国产综合网站在线播放 | 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 国产精品懂色tv影视免费观看| 丰满人妻一区二区中文| 神马久久久久久久久久久久| 国产精品一二三免费网站| 超碰成人最新最好看| 欧美亚洲自拍另类人妻| 啊啊啊啊网站| 日本大香蕉综合网红本杳社区| 美女黑人91神马| 欧美色图中文字幕| 人妻日日夜夜精品| 婷婷香蕉欧美在线一区二区三区| 人人考人人摸人人干| 美國A片| 性久久| 操操吧亚洲乱伦视频| 日韩成人高清一区二区| 欧美91精品国产自产| 超碰九区| 夜夜爽夜夜| 九九九九国产| 色香AV| 女性91网站| 久久久久久九九九| 人妻一区二区三区四区视频| 色汉综合| 91色色网站| 丁香色狠狠色综合久久小说| 日韩熟女三十乱伦| 亚洲欧美电影| 久污| 色妺妺AⅤ| 怡红院怡春院| 欧美熟妇精品黑人巨大一二三区| 国产欧美伊人| 混色激情av| 极品五月天噜噜| 激情四射婷婷四五月天| 久久久一热在线播放| 四虎永久在线精品免费网址| 日韩情色视频| 97超碰逼| 日本黄色XXX| 91中文字幕在线观看| 91在线观看,天天综合| 性爱Av免费| 少妇一区二区三区高速| 成人免费在线网站| 五月婷婷色色| 观看视频图片一区二区三区| 国产成人主播| 夜夜高潮夜夜爽国产伦精品| 九九九精品美女| 日本视频在线中文字幕| 成人一级性爱| 免费看日产一区二区三区| 伊人久久88国产女| 91在线丝袜视频| 精品女同一区| 一区二区三区国产在线播放| 日韩操逼HD| 91精品大奶人妻| 久久久久久久久久久97| 久久久久久久久久久久九| 激情另类激情| 国产黄色视频久久| 黑人黄片在线免费观看| 久久天天摸| 亚洲图片 激情小说| 风韵犹存大大大大香蕉| 内射老妇BBWX0C0CK| 蜜臀AV网站| 射丝袜高跟鞋99| 啊啊啊不要嗯嗯在线观看| 九七超碰人人乐| 人人看人人插| 2020中文字幕| 日韩av情韩国爱禁区av一区二区| 91老熟妇| 免费视频a级毛片免费视频| 麻豆黄四叶草网站| 97超碰9| 人人操人人搞人人草| 人妻嗯啊啊在线播放| 一二三四视频在线社区中文字幕| 综合久久99| 91精品啪在线观看国产城中村| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 在线综合色| 啊a一区在线| 91少妇高潮| 日本成人电影资源网| 9热9热综合网| 亚洲无码com| 超碰国产在线| 91大香蕉伊人| 爱做久久久久久| 亚洲自拍欧美色综合| 在线观看不卡一区二区三区| 亚洲图片 91| 91少妇高潮| 国产粉嫩出水在线播放| 激情人妻另类| 麻豆福利视频导航| av亚欧| 美女啊啊啊啊啊啊啊| 一本色道熟妇| 91蜜桃婷婷狠狠久久综合9色| 亚洲 无码 有码 中文字幕| 久久久久人妻二区精品叶可怜| 欧美日韩资源在线| 高清国产精品福利网站| 久久久亚洲精品电影免费看| 久久男人的天堂| 国产黄a三级三级三级av在线看| 男女啊啊啊啊啊| 色色色热| 欧美色涩| 中文字幕精品人妻丝袜| 国产成年女黄特黄| 欧美一区二区三区大综合| 无码动漫av中文字幕| 欧美美女在线高潮999| 青娱乐老司机视频| 亚洲永久永久永久永久一级一级一级精品| 中国AAAAAA黄色片| 神马久久网| 五十路三级片| 懂色AV网| 加勒比在线视频| 黄片视频观看| 伦在线97| 四色永久成人网站| 欧美日韩中文视频播放| 色一射色一射| ..日韩av毛片精品久久久| 韩国毛片一区二区三区| 中文字幕成人| 91欧洲国产成人久久精品网站| 天天弄欧美| 人人插人人摸人人| 日韩情色一区二区| 少妇人妻精品| 日本午夜福利影院| 日韩性爱啪啪视频| 亚洲天堂美臀在线| 思思99热| 日本三级A片网站com| 精品久久久久成人码免| 98一区二区精品| 一区操逼| 国产精品一区二区三区在线| 伊人97色天使| 欧美疯狂做爰xxxx| 亚洲中文字幕熟女| 国内一区二区三区| 蜜臀av中字字幕网站| 亚洲国产精品无码AV在线| 日本亚洲嫩草影院啪啪| 330Dv国产女人终合视频极品人与兽| 中文字幕精品日韩中文字幕| 97视频免费播放| 精品九九九九九九九| 色色丁香| 久久久久久国产手机AV| 国产一级内射高清视频| 操逼无毒无码免费视频| 熟妇最新先锋一二三区| 九九综合久久| 亚洲国产成人精品999| 噜噜噜噜天天狠狠| 久热久操| 欧美在线色图| 激情五月天网站| 日本性爱网址| 人人操人人摸avav| 亚洲国产精品无石码久久 | 青草草免费网站av| 九九九免费视频| 亚洲第二页| 激情四射五月天| 欧美九九99久久精品| 婷婷丁香在线| 全免费a敌肛交毛片免费| 欧美福利视频啊啊啊啊| 久久啊啊| 青草精品视频一日本久久久久网站| 亚洲97p| 中文字幕一区二区三区人妻少妇在线| 天天色播| 岛国精品视频在线观看| 91快色色色色色| 亚洲小电影免费涩涩成人在线高清| 屁股久久久久久| 国产精品久久久久久久久久久久久久吹| 日韩少妇在线视频| 91国产美女丝袜足交精品视频| 小草精彩毛片| 天美国产三级传媒| 日本在线一二 | 色69大色97香蕉| 欧美最大综合网| 一二三四视频在线社区中文字幕| 欧美一二在线| 91麻豆天美传媒HD| 少妇人妻无码| 国产丰满熟夫69mpp| 欧美欲色| 97免费免费视频网| 91九九九小逼| 99久久久无码国产精品性啊聊| 欧美日韩亚洲少妇寂寞影院正在播放| 黄色十八禁| 麻豆黄站| 亚洲中文sv| 日本男人天堂| 操国产逼| 国产极品精品美女视频| 成年人黄色小视频网站| 性色av蜜臀av色欲aV| 日韩国产成人自拍视频| 精品一区二区亚洲国产| 国产精品老师| 久久黄黄| 香港成人一级视频在线青青草| 老熟妇综合| 欧美综合 站| 色原狠狠天天天| 91成人无码| 中文AV制服乱伦| 岛国免费黄色网址| 欧美日韩国内不卡| 色色色色色色色色色色色色色色综合 | 加勒比伊人影院| 狠久久| 国产视频人人网| 再深点灬舒服灬太大了添视频 | 日韩噜噜69| 爱丝福利| 久久男人天堂| 日本性爱网址| 欧美成人9797| 亚精品无码毛片一区二区三区| 欧亚韩国999| 91性色| 国产精品无套内谢| renqi久久久久久久久久久久| 嗯……啊…嗯嗯…啊…好舒服| 九九九九九九视频| 久久国产乱子伦精品免费女,网站| 成人五级久久| 色色色999| 亚洲狼狼干综合1| 日韩精品人妻中文字幕不卡乱码| 免费精品无码一级毛片牛牛影视 | 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 国产11页| 狠狠躁天天躁日日躁97| 青青草毛片| 日韩欧美综合激情| 99999无码| 成人aⅴ一区二区三区| 日本大片日本一区二区免费高清| 99国产精品免费| 中国熟妇| 欧美成人黄网色网站| 亚洲丝袜B诱惑| 亚洲天堂另类| 国产精品一区二区三区,亚洲综合| 国产天美欧美| 亚洲丨在线| 色婷婷视频| 曰本精品久久久| 久草资源在线| 亚洲中文字幕三级在线| 97亚洲欧美日韩| 久久专区| 色色亚洲| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | A级国产欧美激情在线| 五月丁香啪啪| 久草电影网| 户外裸露刺激视频第一区| 久久久久一本一区二区青青蜜月| 78超碰| 精品少妇一区二区三区在线视频| 欧美熟妇亚洲版| 亚洲日韩视频二区| 高清不卡一二三区视频......| 91精品导航| 免费精品福利在线观看| 91视频综合在线| 国产精品视频麻豆入口| 九X超碰| 国内精品嫩模A∨私拍小视频| 中文字幕在线播放2中文字幕在线观看2| 男人成人黄色视频在线观看免费下载| 91在线超高颜值国产| 久久综合女优| 日本精品网站在线中文| 色婷婷综合久久久久中文一区二区| 国产精品第一页国产大屁股视频免费区| 极品尤物在线观看| 国语精品av| 国产 码在线成人网站| 96精品久久久| 久久九九网| v91av| 天天综合亚在线| 91欧美亚洲| 99r九九| 日本1区2区不卡视频| 久草婷婷| 51一区二区三区| 超碰在线成人电影| 五月天激情小说网| 蜜臀99久久| 青青草原综合久久大伊人精品| 无码动漫av中文字幕| 双插在线| 日韩精品永久在线观看| 啊啊啊水好多| 不卡超碰护士AV在线免费播放| 久久精品国产精品一区| 秋霞午夜视频一区二区| 国产熟女免费观看久久| 一卡二卡在线播放| 欧美 亚洲 制服 精品| 26uuu最新| 91丨精品丨国产丨丝袜| 国产精品久久久久av| 偷拍盗拍亚洲色图图片 | 日韩一级久久毛片| 九九九影院| 巨爆乳肉感一区二区三区竹菊影视| 性色综合网| 东北女人的毛片| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 久久久久久性爱视频| 性影在线视频| 一区二区视频在看| 少妇与黑人高潮在线| 日本成人电影资源网| 天天干人人乐| 日本啊啊啊啊啊视频| 亚洲最大网站av| 欧美亚洲综合高清在线| 四季AV一区二区凹凸精品小说| 被体育老师抱着c到高潮| 国产福利合集| 亚洲人久久久网| 国产超碰国产97| 久久av成人无码免费| 久久久久久九| 天天操天天7| 人人操天天爽| 丁香五月天激情| 草莓精品视频在线免费观看| 欧美亚洲中文字幕| 欧美中文狠| 天堂九九九九九九九九九| 国产高清在线观看欧美| 懂色aV一区二区天美传媒| 少妇内射视频| 91精品人妻一区二区三区蜜桃臀| 国模精品一区二区三区苹果色戒| 亚洲 小说 欧美 激情 另类| 久久久久久十| 欧美日韩97在线| 丝袜综合| 欧美美女啪啪视频| 久草五月| 手机在线看片免费人成视频| 久久久久亚洲三级电影| 大香蕉中文| 又黄又硬又粗又长国产视频| 国产十八禁视频| xxx亚洲午夜天堂| 狠狠操狠狠| 国产精品一区二区 尿失禁| 日熟女| 亚州熟女乱伦| 精品99999| 99999久久精| 尤物视频新赏网鲜网色诱网| 日韩精品电影| 欧美视频激情久久久久久| 男人的天堂成人的社区| 96精品在线| 人人摸人人干| 人人操AV| 亚州国产精品乱| 亚洲综合五月天| 欧美婷婷五月天| 国产成人久久久精品免费AV| 婷婷五月天激情网| 免费强奸av| 图片区小说区| 日韩成人大片一区二区| 午夜寂寞欧美| 人人射人人操人人摸| 国产日韩欧美亚洲精品95| 国产女人高潮嗷嗷嗷叫小说| 午夜福利一区二区影院| 亚洲欧洲日本精品中文a∨| 少妇熟女1区2区3区| 日韩一级久久毛片| 无码操逼视频一下| {男男暴菊gay无套网站| 欧美日韩国产一区二区小黄片大全| 超碰在线人人射| 青青操网| 久综合国内精品自在自线| 免费无码国产精品v片在线观看| 天天操人人操狠狠插| 五月婷婷六月丁香网址| 操高情无码| 不卡啪啪视频| 色五月婷婷五月天| 婷婷国产精品九区| 久久av色| 欲色啪| 91中出视频| 亚洲无992tv| 欧美一级美片在线观看免费| 国产特级毛片AAAAAA高潮流水 | 加勒比无码一区二区三区| 欧美日韩国产中文精品字幕自在自线,| 亚洲色人妻综合| 日本一区99| 97操综合| 国产老女人久久毛| 天天躁日日躁成人字幕aⅴ| 亚洲αv一区二区三区| 中文字幕在线观看视频www| 人妻碰碰碰碰碰碰| 另类视频在线| 亚洲国产日韩精品久久久| 看日韩黄片| 很黄很色的视频在线观看| 国产精品自产拍在线观看社区| 亚洲天堂中文字幕无码男同| 中文字幕久久精视频久久大全| 国产欧洲精品亚洲午夜拍精品| 国产激情在线| 久久精品国产亚洲AV高清演员表| 日韩中文字幕视频在线观看| 91国产精品熟女| 毛片麻豆91糖心精品毛情片| 国产精品熟女一区二区三区| 欧美日韩国产黄色片| 精品色色| 熟女网站最新| 97色亚洲| 五月丁香社区婷婷日韩欧美精品影院| 国产精品一区二区三区在线密挑| 蜜臀AV成人精品蜜臀| 国产精品在线免费| 八戒无码国产午夜福利| 99热只有| 亚洲综合一| 久久久新亚洲AV| 熟妇操花| 亚洲欧洲色情高清| 日日爱99| 婷婷精品视频| 亚洲国产精品久久久男人的天堂| 亚洲综合有码| 色婷婷激一区二区三区 | 99久久久无码国产精品性啊聊| 人人干人人搞人人摸| 欧美18禁91| 亚洲熟女综合一区二区| 成人 日本A片无码8888| 乱理日韩中文| 大香蕉久久| www.色综合| 夜夜免费视频| 中文字幕,人妻,日韩| 欧美黑人猛交春色影视大全| 人妻天天爽夜夜爽2| 国产精品99精品视频网站| 亚洲人妻一区二区三区| 素人伊尹大香蕉免费下载视频| 成人av影院在线观看| 人妻插插人妻人| 超碰97亚洲| 99在线精品视频| 99re这里只有精品2| 国产AV无码AV| 成人黄页| 国产女人与拘做受视频免费| 吉川爱美98堂在线| 亚洲国产精品久久AV| 久久99操天天日| 熟妇人妻丰满久久久久久久无码| 欧美自拍偷拍免费观看| 精品中文日韩字幕视频| 亚洲精品三区在线观看| 女生自91网站| 8x福利精品第一福利视频导航| 91网亚洲| 人人看人人插| 国产精品视频播放| 国产精品麻豆免费视频| 97超碰色屌| 久久伊人亚洲AV无码网站| 欧美狠狠操| 青青免费在线视频一区| 情色av电影| 操婢日韩| 亚洲黄色网址| 欧美系列在线一区二区| 91美女高潮| 色99色| 亚洲福利影院一区久久| 午夜呻吟欧美| 成人精品久久久午夜福利| 亚洲永久永久永久永久一级一级一级精品 | 亚洲一区二区三区在线激情| 久久一二三级一一一| 2019精品国产无码成人| 久久国产精品熟女人妻| 玖玖资源综合在线视频| 天天综合网亚洲综合网| 亚洲中文字幕网| 青青草中文字幕| 成人网欧美风情| 精品日韩中文在线| 久久九九精品一区二区 | 91精品91久久久中77777| 99热超碰| 亚欧视频在线| 综合亚州欧美| 午夜久久一区二区无码中出| 欧美日韩国产另类综合| 精品9999| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 一道本久久棕合爱| 国产精品日本无码A片| 色偷综合| 亚洲精品 大香蕉| 国产精品久久久久久高清无码免费看 | 啊啊啊啊,啊啊好多水| 99热这里是精品| 欧美中文字幕日韩在线| 熟妇乱伦一区二区| 8x福利精品第一福利视频导航| 大香蕉男人的天堂| 91精品国产高清久久久久久,亚洲成人 | 精久久久| 蜜臀久久久久久999| 中文日本免费高清| 99热在线只有精品| 麻豆福利视频导航| 国产超碰人人操| 人人干人人操人人爱| 久久精品91| 北京专精特新企业招聘信息| 特级毛片特黄久久免费看| 中文字幕精品码亚洲| www.AV有限公司一区| 五月婷婷激情| 人人摸人人摸人人干| 国产精品爆乳懂色蜜乳| 久久久久极品| 狠狠干精品一二三四五六2022| 日本在线激情一区二区三区 | 久久久久久久久久黄色网| 久久激情视频| 男女性感激情网站| 国产一区二区二区按摩精品啪视频| 国产和美国毛片| 亚洲淫乱骚妇AV| 天天操狠狠日夜夜干超碰撸com视频在线观看| 99国产精品视频尤物| 大JI巴好深好爽又大又粗视频| 欧美综合在线第一页| 亚洲综合小视频小说在线观看| 操操啪| 日韩一性一交一A片俄罗斯| 丁香色狠狠色综合久久小说| 欧美成人贴图| 色偷综合| 97超碰巨乳| 综合激情97| 久久久久久夜夜夜夜夜| 国产亚洲99久久精品| av日韩在线观看电影| 国产女人高潮嗷嗷嗷叫小说 | 射 色综合| 可以免费观看的av| 无码少妇精品一区二区60岁老人| 波多野结衣被操50分钟免费视频| 欧美18老人禁| 国产免费一区2区3区| 色噜噜国产精品视频一区二区| 精品人妻一区二区三区蜜桃视频| SUV一区二区在线看| 中国黑人三级片网站上区| 精品国产网站| 欧美专利1区2区3区4区5区免费| 五月激情在线| 六月丁香网| 久久草大香蕉| 啪啪一区| 婷婷五月天丁香| 99热官网| 狠狠操狠狠| 99国产人成精品| 碰碰在线视频| 亚洲国产欧美日韩人妻日中文| 色爱综合网| 日韩人妻资源网| 美女啊啊啊啊pc| 久久久久久久久久久久久久久乱码| 日本免费不卡二区| 好吊色一区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | AV天黑人| 人妻熟女一区二区在线视频| 亚洲图片小说欧洲| 亚州性色| jazzjazz国产精品麻豆| 综合伊人激情| 18禁免费视频| 日韩人成网站在线播放| 亚洲最大无码中文字幕网站 |