<table id="km2im"></table>
  • <bdo id="km2im"><center id="km2im"></center></bdo>
    • 自動秒收錄
    • 軟件:1973
    • 資訊:56265|
    • 收錄網站:185720|

    IT精英團

    深入了解Linux CPU上下文切換

    深入了解Linux CPU上下文切換

    瀏覽次數:
    評論次數:
    編輯: 陽煦
    信息來源: ITPUB
    更新日期: 2022-05-24 21:25:38
    摘要

    我們都知道Linux是一個多任務操作系統,它支持的任務同時運行的數量遠遠大于CPU的數量。當然,這些任務實際上并不是同時運行的(SingleCPU),而是因為系統在短時間內將CPU輪流分

    • 正文開始
    • 相關閱讀
    • 推薦作品

    我們都知道Linux是一個多任務操作系統,它支持同時運行的任務數量遠大于CPU數量。

    當然,這些任務實際上并不是同時運行的(單個CPU),而是因為系統在短時間內依次給任務分配CPU,造成多個任務同時運行的假象。

    CPU上下文(CPU上下文)

    在每個任務運行之前,CPU需要知道在哪里加載和啟動任務。這意味著系統需要幫助預先設置CPU寄存器程序計數器。

    CPU是內置在CPU中的一個很小但速度極快的內存。程序計數器用于存儲CPU正在執行的指令或下一條要執行的指令的位置。

    都是CPU在運行任何任務之前必須依賴的依賴環境,所以也叫“CPU上下文”。如下圖所示:

    知道了什么是CPU上下文,我想你就很容易理解CPU 上下文切換.“CPU上下文切換”是指保存上一個任務的CPU上下文(CPU寄存器和程序計數器),然后將新任務的上下文加載到這些寄存器和程序計數器中,最后跳轉到程序計數器。

    這些保存的上下文存儲在系統內核中,并在任務重新調度時再次加載。這確保了任務的原始狀態不受影響,并且任務看起來是連續運行的。

    CPU上下文切換的類型

    你可能會說CPU上下文切換無非就是更新CPU寄存器和程序計數器值,而這些寄存器是為了快速運行任務而設計的,那么為什么會影響CPU性能呢?

    在回答這個問題之前,你有沒有想過這些“任務”是什么?你可能會說任務是進程線程.是的,進程和線程只是最常見的任務,但除此之外還有其他類型的任務。

    不要忘記,硬件中斷也是一個共同的任務。硬件觸發信號會引起中斷處理程序的調用。

    因此,至少有三種不同類型的CPU上下文切換:

    過程上下文切換

    線程上下文切換

    中斷上下文切換

    讓我們看一看。

    過程上下文切換

    根據Linux權限級別,進程的運行空間分為內核空間和用戶空間,分別對應下圖中Ring 0和Ring 3的CPU權限級別。

    內核空間(Ring 0)擁有最高權限,可以直接訪問所有資源。

    用戶空間(環3)只能訪問受限資源,不能直接訪問內存等硬件設備。它必須通過系統調用嵌入陷入(trapped)內核才能訪問這些特權資源。

    從另一個角度來看,一個進程既可以在用戶空間運行,也可以在內核空間運行。當一個進程在用戶空間,運行時,它被稱為進程的用戶態,當它落入內核空間,時,它被稱為進程的內核態。

    來自用戶態

    rong>到內核態的轉換需要通過系統調用來完成。例如,當我們查看一個文件的內容時,我們需要以下系統調用:

    • open():打開文件
    • read():讀取文件的內容
    • write():將文件的內容寫入到輸出文件(包括標準輸出)
    • close():關閉文件

    那么在上述系統調用過程中是否會發生 CPU 上下文切換呢?當然是的。

    這需要先保存 CPU 寄存器中原來的用戶態指令的位置。接下來,為了執行內核態的代碼,需要將 CPU 寄存器更新到內核態指令的新位置。最后是跳轉到內核態運行內核任務。

    那么系統調用結束后,CPU 寄存器需要恢復原來保存的用戶狀態,然后切換到用戶空間繼續運行進程。

    因此,在一次系統調用的過程中,實際上有兩次 CPU 上下文切換。

    但需要指出的是,系統調用進程不會涉及進程切換,也不會涉及虛擬內存等系統資源切換。這與我們通常所說的“進程上下文切換”不同。進程上下文切換是指從一個進程切換到另一個進程,而系統調用期間始終運行同一個進程

    系統調用過程通常被稱為特權模式切換,而不是上下文切換。但實際上,在系統調用過程中,CPU 的上下文切換也是不可避免的。

    進程上下文切換 vs 系統調用

    那么進程上下文切換和系統調用有什么區別呢?首先,進程是由內核管理的,進程切換只能發生在內核態。因此,進程上下文不僅包括虛擬內存、全局變量等用戶空間資源,還包括內核棧寄存器等內核空間的狀態。

    所以進程上下文切換系統調用要多出一步:

    在保存當前進程的內核狀態和 CPU 寄存器之前,需要保存進程的虛擬內存、棧等;并加載下一個進程的內核狀態。

    根據 Tsuna 的測試報告,每次上下文切換需要幾十納秒至微秒的 CPU 時間。這個時間是相當可觀的,尤其是在大量進程上下文切換的情況下,很容易導致 CPU 花費大量時間來保存和恢復寄存器、內核棧、虛擬內存等資源。這正是我們在上一篇文章中談到的,一個導致平均負載上升的重要因素。

    那么,該進程何時會被調度/切換到在 CPU 上運行?其實有很多場景,下面我為大家總結一下:

    • 當一個進程的 CPU 時間片用完時,它會被系統掛起,并切換到其他等待 CPU 運行的進程。
    • 當系統資源不足(如內存不足)時,直到資源充足之前,進程無法運行。此時進程也會被掛起,系統會調度其他進程運行。
    • 當一個進程通過 sleep函數自動掛起自己時,自然會被重新調度。
    • 當優先級較高的進程運行時,為了保證高優先級進程的運行,當前進程會被高優先級進程掛起運行。
    • 當發生硬件中斷時,CPU 上的進程會被中斷掛起,轉而執行內核中的中斷服務程序。

    了解這些場景是非常有必要的,因為一旦上下文切換出現性能問題,它們就是幕后殺手。

    線程上下文切換

    線程和進程最大的區別在于,線程是任務調度的基本單位,而進程是資源獲取的基本單位。

    說白了,內核中所謂的任務調度,實際的調度對象是線程;而進程只為線程提供虛擬內存和全局變量等資源。所以,對于線程和進程,我們可以這樣理解:

    • 當一個進程只有一個線程時,可以認為一個進程等于一個線程
    • 當一個進程有多個線程時,這些線程共享相同的資源,例如虛擬內存和全局變量。
    • 此外,線程也有自己的私有數據,比如棧和寄存器,在上下文切換時也需要保存。

    這樣,線程的上下文切換其實可以分為兩種情況:

    • 首先,前后兩個線程屬于不同的進程。此時,由于資源不共享,切換過程與進程上下文切換相同。
    • 其次,前后兩個線程屬于同一個進程。此時,由于虛擬內存是共享的,所以切換時虛擬內存的資源保持不變,只需要切換線程的私有數據、寄存器等未共享的數據。

    顯然,同一個進程內的線程切換比切換多個進程消耗的資源要少。這也是多線程替代多進程的優勢。

    中斷上下文切換

    除了前面兩種上下文切換之外,還有另外一種場景也輸出 CPU 上下文切換的,那就是中斷。

    為了快速響應事件,硬件中斷會中斷正常的調度和執行過程,進而調用中斷處理程序。

    在中斷其他進程時,需要保存進程的當前狀態,以便中斷后進程仍能從原始狀態恢復。

    與進程上下文不同,中斷上下文切換不涉及進程的用戶態。因此,即使中斷進程中斷了處于用戶態的進程,也不需要保存和恢復進程的虛擬內存、全局變量等用戶態資源。

    另外,和進程上下文切換一樣,中斷上下文切換也會消耗 CPU。過多的切換次數會消耗大量的 CPU 資源,甚至嚴重降低系統的整體性能。因此,當發現中斷過多時,需要注意排查它是否會對您的系統造成嚴重的性能問題。

    小結

    • CPU上下文切換,是保證Linux系統正常工作的核心功能之一,一般情況下不需要我們特別關注。
    • 但過多的上下文切換,會把CPU時間消耗在寄存器,內核棧以及虛擬內存等數據的保存和恢復上,從而縮短進程真正運行的時間,導致系統的整體性能大幅下降。
    • 自愿上下文切換變多了,說明進程都在等待資源,有可能發生了 I/O 等其他問題
    • 非自愿上下文切換變多了,說明進程都在被強制調度,也就是都在爭搶 CPU,說明 CPU 的確成了瓶頸
    • 中斷次數變多了,說明 CPU 被中斷處理程序占用,還需要通過查看 /proc/interrupts 文件來分析具體的中斷類型。

    參考:https://medium.com/geekculture/linux-cpu-context-switch-deep-dive-764bfdae4f01


    原文

    嵌入式系統登錄的簡單方法
    ? 上一篇 2022-05-24
    • 嵌入式系統登錄的簡單方法
      0閱讀 0條評論 個贊
      來源|我姓梁很多場景都需要記錄日志,在嵌入式系統中,特別是單片機這種存儲資源有限的環境下,就需要一種輕量級的存儲方法。系統日志在嵌入式設備應用場景中,系統日志時??梢员O控設備軟件的運行狀態,及時記錄……
    • 全網最全面的云原生存儲OpenEBS用戶指南
      0閱讀 0條評論 個贊
      ?本文轉自weiliang的工作筆記,原文:https://weiliang-ms.github.io/wl-awesome/2.%E5%AE%B9%E5%99%A8/k8s/storage/Op……
    • SQL中左連接左表合并去重實用技巧
      0閱讀 0條評論 個贊
      zyc88.blog.csdn.net/article/details/83002882建表:CREATETABLE`table1`(`id`int(11)NOTNULLAUTO_INCREMENT,……
    • 運維入坑必看:Kubernetes平臺架構解讀
      0閱讀 0條評論 個贊
      Kubernetes是一個開源容器編排平臺,管理大規模分布式容器化軟件應用,是云計算發展演進的一次徹底革命性的突破。Kubernetes是谷歌的第三代容器管理系統,是Borg獨特的控制器和Omega靈……
    • 記得保命!捕捉Linux下的所有高危命令!
      0閱讀 0條評論 個贊
      1、rm-rf命令該命令可能導致不可恢復的系統崩壞。>rm-rf/#強制刪除根目錄下所有東西。>rm-rf*#強制刪除當前目錄的所有文件。>rm-rf.#強制刪除當前……
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    • Kubernetes 4000節點運維經驗分享
      0閱讀 0條評論 個贊
      1摘要在PayPal,我們最近開始試水Kubernetes。我們大部分的工作負載都運行在ApacheMesos上,而作為遷移的一部分,我們需要從性能方面了解下運行Kubernetes集群……
    • 碼頭工人常見問題處理技巧
      0閱讀 0條評論 個贊
      本文列舉Docker常見問題24個及解決方法:▍1.Docker遷移存儲目錄默認情況系統會將Docker容器存放在/var/lib/docker目錄下[問題起因]今天通過監控系統,發現公……
    • 全網最全面的云原生存儲OpenEBS用戶指南
      0閱讀 0條評論 個贊
      ?本文轉自weiliang的工作筆記,原文:https://weiliang-ms.github.io/wl-awesome/2.%E5%AE%B9%E5%99%A8/k8s/storage/Op……
    • MySQL 5.7 和 8.0 幾處細節上的差異
      9閱讀 0條評論 個贊
      MySQL8.0相對于MySQL5.7,有很多新特性,比如:快速加列、原子DDL、不可見索引、額外端口、角色管理等。這一節內容,就不講這些新特性了,只來聊聊最近在工作學習過程中遇到的幾處細節……
    • PostgreSQL并行框架分析
      3閱讀 0條評論 個贊
      作者簡介施博文,目前就職于騰訊云PG團隊概覽PostgreSQL并行框架提供了一系列方便的函數,支持在插件或內核中直接調用相關函數,啟動若干個后臺進程進行并行操作。目前,PG的并行框架主要用來……
    • 談談復雜項目代碼的應用分層
      1閱讀 0條評論 個贊
      —1—背景說起應用分層,大部分人都會認為這個不是很簡單嘛就controller,service,mapper三層??雌饋砗唵?,很多人其實并沒有把他們職責劃分開,在很多代碼中,controller做……
    • 卡夫卡3.0新功能全暴露 好香??!
      1閱讀 0條評論 個贊
      以下文章來源于云加社區,作者屈志平導語|kafka3.0的版本已經試推行去zk的kafka架構了,如果去掉了zk,那么在kafka新的版本當中使用什么技術來代替了zk的位置呢,接下來我們一起來一探究竟……
    • Java處理異常的9個最佳實踐 你做得對嗎?
      1閱讀 0條評論 個贊
      原文:https://dzone.com/articles/9-best-practices-to-handle-exceptions-in-java譯者:颯然Hang譯文:http://www.r……
    • MySQL的行格式是什么?
      1閱讀 0條評論 個贊
      行格式(rowformat)決定了我們插入的一行數據,是如何存儲在數據庫中的,MySQL有4種行格式,分別是REDUNDANT,COMPACT,DYNAMIC,COMPRESSED。不同行格式區別:……
    • Linux的10個最危險的命令
      0閱讀 0條評論 個贊
      rm-rf命令該命令可能導致不可恢復的系統崩壞。>rm-rf/#強制刪除根目錄下所有東西。>rm-rf*#強制刪除當前目錄的所有文件。>rm-rf.#強制刪除當前文件夾及其子文件夾。執行rm-r……
    • 可以解決80%問題的故障排除思路
      1閱讀 0條評論 個贊
      在講解事件、故障處理思路前,先講一個故障場景(以呼叫中心系統作為一例子):業務人員反映呼叫中心系統運行緩慢,部份電話在自助語言環節系統處理超時,話務轉人工座席,人工座席出現爆線情況。運維人員開始忙活了……
    • 臉書數據庫項目負責人:我從做基礎設施中學到的42件事
      2閱讀 0條評論 個贊
      最近讀到了分布式系統研究者MaheshBalakrishnan的一篇博客《42thingsIlearnedfrombuildingaproductiondatabase》。同樣做……
    • 如何在Linux中向scp命令傳遞密碼
      1閱讀 0條評論 個贊
      將文件和目錄從一個系統拷貝到另一個系統是任何系統管理員的常見任務。scp,也稱為安全拷貝(securecopy),是一種Linux命令行實用程序,用于將文件從一臺服務器安全地拷貝或傳輸到另一臺服……
    • 碼頭工人搭建彈性搜索集群教程
      1閱讀 0條評論 個贊
      寫在前面:為什么要用ElasticSearch?我們的應用經常需要添加檢索功能,開源的ElasticSearch是目前全文檢索引擎的首選。它可以快速的存儲、搜索和分析海量數據。ElasticSear……
    • Python字符串深度摘要
      2閱讀 0條評論 個贊
      以下文章來源于公眾號-蘿卜大雜燴,作者周蘿卜今天我們來學習字符串數據類型相關知識,將討論如何聲明字符串數據類型,字符串數據類型與ASCII表的關系,字符串數據類型的屬性,以及一些重要的字符串方法和……
    • 解決緩存崩潰問題的一行代碼
      1閱讀 0條評論 個贊
      以下文章來源于公眾號-孤獨煙,作者孤獨煙引言今天,重新回顧一下緩存擊穿這個問題!之所以寫這個文章呢,因為目前網上流傳的文章落地性太差(什么布隆過濾器啊,布谷過濾器啊,嗯,你們懂的),其實這類方案并不適……
    • 內存數據庫如何利用內存?
      1閱讀 0條評論 個贊
      與以磁盤存儲為主的普通數據庫相比,內存數據庫的數據訪問速度可以高出幾個數量級,能大幅提高運算性能,更適合高并發、低延時的業務場景。不過,當前大部分內存數據庫仍然采用SQL模型,而SQL缺乏一些……
    • 運維入坑必看:Kubernetes平臺架構解讀
      0閱讀 0條評論 個贊
      Kubernetes是一個開源容器編排平臺,管理大規模分布式容器化軟件應用,是云計算發展演進的一次徹底革命性的突破。Kubernetes是谷歌的第三代容器管理系統,是Borg獨特的控制器和Omega靈……
    • 2022年大數據五大發展趨勢
      7閱讀 0條評論 個贊
      2021年,我們看到圍繞現代數據棧的興起出現了相當大的加速效應。我們現在有一個海嘯般的通訊、影響者、投資者、專門的網站、會議和活動來宣揚它。圍繞現代數據棧的概念(盡管仍處于早期階段)與云中數據工具的爆……
    • Spring云應用的優雅下線和灰度發布
      2閱讀 0條評論 個贊
      前言在生產環境中,如何保證在服務升級的時候,不影響用戶的體驗,這個是一個非常重要的問題。如果在我們升級服務的時候,會造成一段時間內的服務不可用,這就是不夠優雅的。那什么是優雅的呢?主要就是指在服務升級……
    • 采訪者:告訴我們SpringAOP的底層代理模型
      2閱讀 0條評論 個贊
      來源|Java技術指北(ID:javanorth)代理模式相信大家經常聽說,在設計模式中相對而言是比較難理解的。這次指北君來給大家通俗的介紹介紹。1、什么是代理模式Provideasurrog……
    • 柯富美母公司楊東鑫生物赴港IPO:毛利率高達87% 營銷“花錢如流水”而非研發;D.
      1閱讀 0條評論 個贊
      又一家美容護膚公司被女性“買到”上市??蓮兔?、可麗金等品牌的母公司西安巨子生物基因技術股份有限公司(“巨子生物”)正式向港交所遞交招股說明書??恐蓮兔赖染W紅產品,巨子生物近3年收入37億元,毛利率更是高達87%,可以說是超強印鈔機。然而在手握70多億現金流的情況下,巨子生物卻更急于上市了?!?/div>
    • 網站的哪些操作會影響seo的優化效果?
      1閱讀 0條評論 個贊
      網站很多細節因素如果把握不到位,則會大大的影響seo的執行效果,那么哪些操作會影響seo的優化效果?本文就給大家帶來詳細介紹,一起來看看吧……
    • 吉利汽車將投資雷諾韓國汽車 持股比例34.02%
      1閱讀 0條評論 個贊
      5月10日,吉利汽車宣布,將與法國雷諾集團的韓國子公司雷諾韓國汽車簽訂股份認購協議,持股比例為34.02%?!?/div>
    • 信貸進一步放松 廣州四大行部分房貸利率低至4.8%
      1閱讀 0條評論 個贊
      近期,四大銀行廣州分行有部分進一步降低了首套房貸利率,從之前的5.2%或5.4%下降到4.8%。要知道,去年廣州首套房貸利率的高點達到過6%?!?/div>
    • 業績壓力之下 騰訊開始做“艱難而正確的事”
      1閱讀 0條評論 個贊
      低速換擋,騰訊在下一盤大棋?!?/div>
    • 新世界一季度凈利潤8400萬元 同比下滑19% 2021年凈利潤7億元 同比增長55%
      0閱讀 0條評論 個贊
      為商戶提供第三方支付服務、金融服務的上市公司新大陸(SZ:000997)公布2021年年度報告和2022年第一季度報告。2022年第一季度,實現營業總收入17.91億元,同比增長 5.29%,歸屬于上市公司股東的凈利潤為0.84億元,同比減少19.22%;剔除公司持有的股權資產價格變動等非經營性擾動,歸屬于上市公司股東的扣除非經常性損益的凈利潤為1.81億元,同比增長54.95%?!?/div>
    • 金誠消費金融2021年營收9.98億元 同比增長33%:19家同業排名第十
      0閱讀 0條評論 個贊
      今日,成都銀行公布2021年年報披露了聯營公司錦程消費金融的業績情況,2021年末,四川錦程消費金融有限責任公司(簡稱:錦程消費金融)總資產1,132,112.45萬元,凈資產134,517.31萬元,營業收入99,794.04萬元,報告期內實現凈利潤25,071.42萬元。值得一提的是,據金融虎網此前了解,成都銀行曾披露錦程消費金融2021年凈利潤2.51億元,但并未披露其營收情況?!?/div>
    • 易信汽車新零售為什么失???
      0閱讀 0條評論 個贊
      4月14日,互聯網汽車金融平臺易鑫集團發布財報。當天,其股價下跌3.5%,最低至0.71港元,創下上市以來……
    • 助力小微經濟發展 做貸款做小微業務全鏈條服務
      0閱讀 0條評論 個贊
      小微服務也正支撐起金融科技企業新的增長點?!?/div>
    • 全國公安機關三年破獲經濟犯罪案件24萬起 挽回經濟損失1905億元
      5閱讀 0條評論 個贊
      三年來,全國公安機關共破獲經濟犯罪案件24萬起,挽回經濟損失1905億元;連續組織開展打擊非法集資犯罪專項行動,依法辦理P2P網貸平臺案件300余起;組織開展打擊地下錢莊犯罪“殲擊”專項行動,對危害經濟安全的非法資金通道、職業犯罪團伙實施集中打擊,摧毀2825個跨區域犯罪團伙?!?/div>
    • 戰“疫”時刻彰顯創業本色  恒昌蓄力破局謀發展
      1閱讀 0條評論 個贊
      近期,國內多地疫情頻發。為此,各地政府針對本輪疫情及時采取相應防控措施,部分城市地區甚至按下了“暫停鍵”,這無疑對企業發展帶來了一定的困難。但這并不能阻擋創業者前進的步伐,以恒昌為代表的諸多創業公司上下團結一心,唱響了一首堅守初心的戰“疫”之歌。恒昌一方面積極進行抗疫部署,按照相關規定有序推進員工疫情防控工作;另一方面,持續遠程在線推進業務開展,堅持做好客戶服務,彰顯了創業者在特殊時期初心不改、以勤補拙的奮斗精神和責任擔當?!?/div>
    • JD.COM科技斥資2億元收購JD.COM國際融資租賃100%股權
      12閱讀 0條評論 個贊
      今日,京東物流發布公告稱,公司的直接全資子公司(賣方)與京東科技的間接全資子公司訂立股權轉讓協議(買方)。據此,賣方已有條件同意出售,而買方已有條件同意收購京東國際融資租賃有限公司(于公告日期為公司全資子公司)100%股權,代價為3000萬美元(相當于約人民幣2.03億元)?!?/div>
    • 談如何設計未來的倉庫建筑
      4閱讀 0條評論 個贊
      編輯:數據社全文共3758個字,建議10分鐘閱讀大家好,我是峰哥,夏天已經來了,小麥馬上要豐收了,今天分析一篇關于未來數倉架構發展方向的文章。Linked大佬JayKreps曾發表過一篇博客,簡單闡……
    • 誤操作離線丟棄和恢復場景測試的業務影響——來自“血”的教訓
      0閱讀 0條評論 個贊
      在數據庫恢復過程中,比如我們用了第三方的備份工具,在實施恢復操作時會導出需要的某個表空間這樣可以大大減少恢復時間,是十分值得推薦的做法,這個過程中由于修改控制文件中數據文件的相關信息,需要執行alte……
    • 一天一技能:協調與多流程的完美結合
      7閱讀 0條評論 個贊
      我們知道,協程本質上是單線程單進程,通過充分利用IO等待時間來實現高并發。在IO等待時間之外的代碼,還是串行運行的。因此,如果協程非常多,多少每個協程內部的串行代碼運行時間超過了IO請求的等待時間,那……
    • 估值超百億 股東300余人 天圖資本沖刺IPO
      1閱讀 0條評論 個贊
      2022年5月20日,在新三板掛牌的天圖投資發布停牌公告,表示已向證監會報送了H股上市的申報材料,一時引發了業內關注?!?/div>
    • 老板電器財報烏龍背后:年利潤首次下滑 已過度依賴廚電 將迎接組織考驗
      2閱讀 0條評論 個贊
      作為上市公司對外的重要窗口,財報披露通常會格外嚴謹審慎。而老板電器日前公布的2021年年報,卻出現了18處低級錯誤,讓人大跌眼鏡?!?/div>
    • 累計放貸超1400億!哈銀消費金融接下來做這個
      4閱讀 0條評論 個贊
      截至2022年5月20日,哈銀消費金融累計放款超1400億元,同比增長40%,累計服務人次超3100萬,同比增長93.75%;在過去一年里,哈銀消費金融不斷深耕普惠金融,進一步有效滿足下沉用戶的金融需求,二線及以下城市用戶占比規模由87%上升至94%?!?/div>
    • 中青寶連續兩年虧損 被監管質疑 《釀酒大師》元宇宙概念能落地嗎?
      1閱讀 0條評論 個贊
      對于游戲業務發展乏力、連續兩年虧損的中青寶而言,即便《釀酒大師》趕上了“元宇宙”的熱潮,但如果這一概念不能真正落地,榮光終會散去?!?/div>
    最近發布資訊
    更多
    国产H视频在线播放,国产毛多水多的老女人,国产成人午夜福利电影在线播放
    <table id="km2im"></table>
  • <bdo id="km2im"><center id="km2im"></center></bdo>