虛擬化之Xen簡介

来源:http://www.cnblogs.com/xiaocheche/archive/2017/11/18/7858003.html
-Advertisement-
Play Games

1》相關知識簡介: 1>常用的磁碟IO調度器: CFQ:完全公平隊列演算法; deadline:最後期限演算法; anticipatory:順序讀寫隊列演算法/預期演算法; NOOP:no operation,最簡單的調度演算法; 2>如何替換IO調度演算法:預設演算法為CFQ; /sys/block/<devi ...


1》相關知識簡介:

      1>常用的磁碟IO調度器:

            CFQ:完全公平隊列演算法;

            deadline:最後期限演算法;

            anticipatory:順序讀寫隊列演算法/預期演算法;

            NOOP:no  operation,最簡單的調度演算法;

      2>如何替換IO調度演算法:預設演算法為CFQ;

            /sys/block/<device>/queue/scheduler

                

      3>記憶體相關:

              MMU:是Memory Management Unit的縮寫,中文名是記憶體管理單元,它是中央處理器(CPU)中用來管理虛擬存儲器、物理存儲器的控制線路,同時也負責虛擬地址                                                        映射為物理地址,以及提供硬體機制的記憶體訪問授權,多用戶多進程操作系統;

           TLB:是(Translation Lookaside Buffer)的縮寫,轉換檢測緩衝區是一個記憶體管理單元,用於改進虛擬地址到物理地址轉換速度的緩存;

           vm.swapiness={0..100}:使用交換分區的傾向性,預設為60,越小越不傾向;

           overcommit_memory=2:過量使用;

           overcommit_ratio=50:百分比

                      swap+RAM*ratio;

                      swap:2G   RAM:8G    可使用為:4+8*1/2=6G  

           如何充分使用物理記憶體:

                      1)將swap設定為與RAM物理記憶體一樣:swappiness=0;

                      2)overcommit_memory=2,overcommit_ratio=100,swappiness=0;

                            memory:swap+ram

                      3)   tcp_max_tw_buckets:調大,保存允許tcp連接的連接個數,儘量不要讓其溢出,tw為主動斷開的一方所產生的狀態;

              IPC:

              message:

                    msgmni,msgmax,msgmnb

              shm:

                     shmall,shmmax,shmmni

      4>性能監控的相關命令:

              sar,dstat,vmstat,mpstat,iostat,top,free,iotop,uptime,cat   /proc/meminfo,ss,netstat,lsof,time,perf,strace

              blktrace,blkparse,btt

              dd,iozone,io-stress,fio

      5>對於內核來說:

              CPU:全量CPU時間片;

              記憶體:連續的,且是全部的記憶體空間(必須要從0x0000開頭,);

              I/O:全部可用IO;

2》虛擬化技術基礎詳解:

      1>影子MMU來實現地址轉換:

              

                   Intel和AMD分別通過EPT(Extended  Page  Tables)和NPT(Nested  Page   Tables)為虛擬化應用提升影子MMU的性能,並通過標記(tagged)TLB來避免虛擬機切                                       換時頻繁清寫(flush)TLB以提高TLB緩存的命中率;         

      2>Intel和AMD的開啟虛擬化的內核選項:

            Intel:VT-x

            AMD:AMD-v

      3>IO虛擬化:

             虛擬機是通過軟體虛擬化的方式來虛擬出自己所需要的一干硬體設備;

              

      4>完全虛擬化與半虛擬化:

           半虛擬化比完全虛擬化性能好,跟硬體設備打交道時速度會快很多;

            完全虛擬化:

                CPU不支持硬體虛擬化技術:模擬特權指令;模擬

                 CPU支持硬體虛擬化技術:VMM運行ring-1,而GuestOS運行ring-0;HVM(Hardware-asistant   VM)

            半虛擬化:

                CPU,IO,MEMORY;

                   PV  on   HVM:即利用了CPU的輔助虛擬化技術,降低了自己的負荷,又利用了IO的pv能力,這樣結合起來的系統性能很好;

      5>虛擬化模型:

            1)Vmware   workstattion,Vmware   Server:

                  

            2)Vmware    ESX,Vmware   ESXi:

                   

                在物理機中不安裝任何操作系統,直接安裝Vmware;

            3)XEN虛擬化(QEMU:跨平臺虛擬):

                   

      6>KVM(Kernel-based  Virtual  Machine)虛擬化介紹:基於內核的虛擬機;KVM+Qemu

              

      7>虛擬化:

          Intel:IOMMU

          X86:VT-x,EPT,IOMMU   

      8>X86平臺:

          CPU:

              Intel:VT-x

              AMD:AMD-v

           MMU:

             Intel   EPT

             AMD  NPT

            IO:

             Intel  IOMMU 

3》Xen虛擬化及DomU的實現:

        1>Xen虛擬化工作示意圖:

               

              RHEL5.3:Xen

              RHEL5.4:Xen和KVM

              RHEL6.0:KVM(64bits)

              RHEL6.0:DomU,但不能運行Dom0

              Linux:2.6.24+  pvops  frameowrk

                  DomU

              Linux:2.6.37(3.0+)

                  Dom0

            Xen:

              kernel    /xen.gz

              module   /

              module  /

              Xen-4.0:

                  xend/xm

              Xen-4.1:

                  xl,xend/xm

              Xen-4.2:

                  xl  

        2>使紅帽6.4版本64位的能夠支持運行Dom0的方法:

              1)下載安裝內核最新版本;

             

                

                                                                    

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 開發一個項目時都會有一個蛋疼的問題——寫資料庫需求文檔,然後根據這個文檔來建資料庫,如果後來需求改了,要改資料庫還要改文檔,有時忙著忙著就忘改了,導致文檔是過期的。那麼我們自己寫個腳本在資料庫運行直接生產數據字典,這樣只要改資料庫就行了。目前在網上搜了下,發現sqlServer只有2005的生成工具 ...
  • 0. properties ####################################mysql########################################### db.mysql.driverClassName=com.mysql.jdbc.Driver db.m ...
  • CK21190-Mycat分散式架構之Mycat分散式架構實戰解析 Mycat是國內第一個賣電子書的開源軟體,參與的作者們平生第一次分到了一筆開源收入的酬勞,雖然微不足道,但那一刻,他們都堅信,Mycat會越來越好。如今,Mycat的穩定參與者人數已經超過10人,包括很多美女,而第三代新生志願者團隊 ...
  • 我們在(人工智慧搶80萬工人的飯碗,卻增加了350萬個新崗位?!)文章中概述了人工智慧帶來的便利之處,那麼越來越多的人對人工智慧趨之若鶩,那人工智慧的就業崗位如何呢?薪資待遇如何呢?又有哪些實力強大的AI公司呢? 最課程為大家分析各個招聘網站,python在智聯招聘上薪資待遇4k-50k不等;拉勾網 ...
  • cobbler-自動安裝系統 1.1 cobber簡介 1.1.1 cobbler說明 1.2 服務端部署 1.2.1 系統環境 系統:CentOS 7.4 ip: 外網:10.0.0.202 內網:172.16.1.202 1.2.2 安裝依賴包 1.2.3 修改配置文件 #備份、修改cobble ...
  • Windows常用的分區格式有三種,分別是FAT16、FAT32、NTFS格式。 在Linux操作系統里有Ext2、Ext3、Linux swap和VFAT四種格式。 FAT16: 作為一種文件名稱,FAT(File Allocation Table,文件分配表)自1981年問世以來,已經成為一個計 ...
  • In Doing We Learning 在操作中學習。如果只是光看教程,沒有實際的操作,對編程語言的理解很空泛,所以決定從單片機中學習C語言。 #include<reg52.h> //包含的頭文件。 sbit LED = P0^0; //這裡就是對P0寄存器進行位操作。相當於對P0^0位賦予了一個 ...
  • 會話保持的三種方式 Session sticky會話綁定:通過在前端調度器的配置中實現統一session發送至同一後髮端伺服器 Session cluster會話集群:通過配置Tomcat保持所有Tomcat的session的信息一致。 Session server 會話服務:將所有的session ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...