整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Windows 虛擬地址 到底是如何映射到 物理地址 的?

          :背景

          1. 講故事

          我發現有很多的 .NET程序員 寫了很多年的代碼都沒弄清楚什么是 虛擬地址,更不用談什么是 物理地址 以及Windows是如何實現地址映射的了?這一篇我們就來聊一聊這兩者之間的聯系。

          二:地址映射研究

          1. 找虛擬地址

          怎么去找 虛擬地址 呢?相信很多朋友都知道應用程序用的是虛擬地址,所以從應用程序中取一個就好了,這里就拿 notepad 舉例子吧。

          開啟一個裝有 win10 的虛擬機,然后打開 notepad.exe,使用 windbg 進行它的內核態調式,參考代碼如下:

          
          0: kd> !process 0 0 notepad.exe
          PROCESS ffffe0011f9c9840
              SessionId: 1  Cid: 11a8    Peb: 7ff63d8ff000  ParentCid: 0bf4
              DirBase: 23c6d000  ObjectTable: ffffc00088bdcbc0  HandleCount: <Data Not Accessible>
              Image: notepad.exe
          
          0: kd> .process /i /p ffffe0011f9c9840
          You need to continue execution (press 'g' <enter>) for the context
          to be switched. When the debugger breaks in again, you will be in
          the new process context.
          
          0: kd> g
          Break instruction exception - code 80000003 (first chance)
          nt!DbgBreakPointWithStatus:
          fffff801`bed59c50 cc              int     3
          
          1: kd> .reload /user
          Loading User Symbols
          ....................................
          
          Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
          Run !sym noisy before .reload to track down problems loading symbols.
          
          ......
          
          1: kd> lm
          start             end                 module name
          00007ff6`3e1e0000 00007ff6`3e21a000   notepad    (deferred)             
          00007ff9`83e60000 00007ff9`83fac000   UIAutomationCore   (deferred)             
          ...
          
          1: kd> dB 00007ff6`3e1e0000+0x50 L30
          00007ff6`3e1e0050  69 73 20 70 72 6f 67 72-61 6d 20 63 61 6e 6e 6f  is program canno
          00007ff6`3e1e0060  74 20 62 65 20 72 75 6e-20 69 6e 20 44 4f 53 20  t be run in DOS 
          00007ff6`3e1e0070  6d 6f 64 65 2e 0d 0d 0a-24 00 00 00 00 00 00 00  mode....$.......
          
          

          從卦中可以看到 00007ff63e1e0050 處是一段字符串,接下來我們就以它為例吧。

          2. 如何用 Windbg 推算

          到底是如何映射的呢?如果你了解 Windows 的源碼可能你就很清楚,不了解也沒關系,我們可以用 WinDbg 幫我們計算,在 windbg 中有一個 !vtop 命令可以一鍵查找,輸出如下:

          
          1: kd> !vtop 0 00007ff63e1e0050
          Amd64VtoP: Virt 00007ff63e1e0050, pagedir 0000000023c6d000
          Amd64VtoP: PML4E 0000000023c6d7f8
          Amd64VtoP: PDPE 000000002360aec0
          Amd64VtoP: PDE 000000000b910f80
          Amd64VtoP: PTE 000000001fa51f00
          Amd64VtoP: Mapped phys 000000000ad38050
          Virtual address 7ff63e1e0050 translates to physical address ad38050.
          
          1: kd> !dB ad38050 L30
          # ad38050 69 73 20 70 72 6f 67 72-61 6d 20 63 61 6e 6e 6f is program canno
          # ad38060 74 20 62 65 20 72 75 6e-20 69 6e 20 44 4f 53 20 t be run in DOS 
          # ad38070 6d 6f 64 65 2e 0d 0d 0a-24 00 00 00 00 00 00 00 mode....$.......
          
          

          從卦中可以清晰的看到,虛擬地址 00007ff63e1e0050 所對應的物理地址為 ad38050,然后用 !dB 去觀察物理地址也確實如此。

          這里要提醒一下,如果你還想知道這個物理地址所屬的 PDE (頁目錄項) 和 PTE (頁表項) ,可以用 !pte 命令幫我們一鍵顯示,輸出如下:

          
          1: kd> !pte 00007ff63e1e0050
                                                     VA 00007ff63e1e0050
          PXE at FFFFF6FB7DBED7F8    PPE at FFFFF6FB7DAFFEC0    PDE at FFFFF6FB5FFD8F80    PTE at FFFFF6BFFB1F0F00
          contains 009000002360A867  contains 00E000000B910867  contains 00F000001FA51867  contains 810000000AD38025
          pfn 2360a     ---DA--UWEV  pfn b910      ---DA--UWEV  pfn 1fa51     ---DA--UWEV  pfn ad38      ----A--UR-V
          
          

          從卦中可以看到,x64的地址有四級結構,不僅有 PDE,PTE,還有 PXE, PPE,并且從 pfn ad38 可以清楚的看到它的物理頁號是 ad38,加上虛擬地址后的 12bit(050) 偏移,最后的物理地址也就是 ad38050。

          用 WinDbg 推算雖然簡單,但不利于我們了解原理,為了加深理解,我們需要手工的去推算。

          3. 如何手工推算

          要明白手工推算,在腦子中一定要有一張架構圖,有了這張架構圖就方便行事了。

          卦圖中有幾點要解釋。

          1. 二進制怎么出來的?

          可以用 windbg 的 .formats 命令。

          
          1: kd> .formats 00007ff63e1e0050
          Evaluate expression:
            Hex:     00007ff6`3e1e0050
            Decimal: 140695580835920
            Binary:  00000000 00000000 01111111 11110110 00111110 00011110 00000000 01010000
          
          
          1. CR3 是什么?

          CR3 是Windows的控制寄存器,它記錄著這個進程所屬的虛擬地址首地址,專業點就是 BaseDir (基目錄) 地址,參考如下輸出:

          
          1: kd> !process 0 0 notepad.exe
          PROCESS ffffe0011f9c9840
              SessionId: 1  Cid: 11a8    Peb: 7ff63d8ff000  ParentCid: 0bf4
              DirBase: 23c6d000  ObjectTable: ffffc00088bdcbc0  HandleCount: <Data Not Accessible>
              Image: notepad.exe
          
          
          1. 各級頁表占用多少bit位數?
          • PXE 占用 9bit(39-47)
          • PPE 占用 9bit(30-38)
          • PDE 占用 9bit(21-29)
          • PTE 占用 9bit(12-20)

          有了這些信息之后,最后就是手工推算了,這里要提醒一下,每個表的首地址都把后 12bit 抹為0,因為他們是表的meta信息,詳細輸出如下:

          
          1: kd> !process 0 0 notepad.exe
          PROCESS ffffe0011f9c9840
              SessionId: 1  Cid: 11a8    Peb: 7ff63d8ff000  ParentCid: 0bf4
              DirBase: 23c6d000  ObjectTable: ffffc00088bdcbc0  HandleCount: <Data Not Accessible>
              Image: notepad.exe
          
          1: kd> r cr3
          cr3=0000000023c6d000
          
          1: kd> !dp 23c6d000 + (0y011111111*8) L1
          #23c6d7f8 00900000`2360a867
          
          1: kd> !dp 2360a000+(0y111011000*8) L1
          #2360aec0 00e00000`0b910867
          
          1: kd> !dp 0b910000 + (0y111110000*8) L1
          
          # b910f80 00f00000`1fa51867
          
          1: kd> !dp 1fa51000+(0y111100000*8) L1
          #1fa51f00 81000000`0ad38025
          
          

          從卦中可以看到最后推算出來的是 810000000ad38025 ,抹掉 高32bit 和 末 12bit 之后就變成了 ad38,這個就是我們的 pfn (頁幀號) ,如果你想核算一下 !dp 出來的值對不對,可以看下 !pte 命令中的 contains xxx 是不是這個值? 輸出如下:

          
          1: kd> !pte 00007ff63e1e0050
                                                     VA 00007ff63e1e0050
          PXE at FFFFF6FB7DBED7F8    PPE at FFFFF6FB7DAFFEC0    PDE at FFFFF6FB5FFD8F80    PTE at FFFFF6BFFB1F0F00
          contains 009000002360A867  contains 00E000000B910867  contains 00F000001FA51867  contains 810000000AD38025
          pfn 2360a     ---DA--UWEV  pfn b910      ---DA--UWEV  pfn 1fa51     ---DA--UWEV  pfn ad38      ----A--UR-V
          
          

          從卦中可以看到,四個地址和pfn都是對的,最后 pfn+頁內偏移 = ad38050 ,也就是我們苦苦尋找的 物理地址,再次輸出一下結果。

          
          1: kd> !dB ad38050 L30
          # ad38050 69 73 20 70 72 6f 67 72-61 6d 20 63 61 6e 6e 6f is program canno
          # ad38060 74 20 62 65 20 72 75 6e-20 69 6e 20 44 4f 53 20 t be run in DOS 
          # ad38070 6d 6f 64 65 2e 0d 0d 0a-24 00 00 00 00 00 00 00 mode....$.......
          
          

          三:總結

          手工推算是不是非常的有意思,可以讓我們更加的理解Windows底層玩法,WinDbg在手,天下我有!

          需要監控 Linux 服務器的性能嗎?試試用這些內置命令和附加工具吧!大多數 Linux 發行版都附帶了大量的監控工具。這些工具提供了獲取系統活動的相關指標。您可以使用這些工具來查找性能問題的可能原因。本文提到的是一些基本的命令,用于系統分析和服務器調試等,例如:


          1. 找出系統瓶頸
          2. 磁盤(存儲)瓶頸
          3. CPU 和內存瓶頸
          4. 網絡瓶頸


          1. top – 進程活動監控命令


          top 命令會顯示 Linux 的進程。它提供了一個運行中系統的實時動態視圖,即實際的進程活動。默認情況下,它顯示在服務器上運行的 CPU 占用率最高的任務,并且每五秒更新一次。


          圖 01:Linux top 命令


          top 的常用快捷鍵


          常用快捷鍵列表:



          2. vmstat – 虛擬內存統計


          vmstat 命令報告有關進程、內存、分頁、塊 IO、中斷和 CPU 活動等信息。


          # vmstat 3

          輸出示例:



          顯示 Slab 緩存的利用率


          # vmstat -m

          獲取有關活動和非活動內存頁面的信息


          # vmstat -a

          3. w – 找出登錄的用戶以及他們在做什么


          w 命令 顯示了當前登錄在該系統上的用戶及其進程。


          # w username

          # w vivek


          輸出示例:



          4. uptime – Linux 系統運行了多久


          uptime 命令可以用來查看服務器運行了多長時間:當前時間、已運行的時間、當前登錄的用戶連接數,以及過去 1 分鐘、5 分鐘和 15 分鐘的系統負載平均值。


          # uptime

          輸出示例:


          18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00

          1 可以被認為是最佳負載值。不同的系統會有不同的負載:對于單核 CPU 系統來說,1 到 3 的負載值是可以接受的;而對于 SMP(對稱多處理)系統來說,負載可以是 6 到 10。


          5. ps – 顯示系統進程


          ps 命令顯示當前運行的進程。要顯示所有的進程,請使用 -A 或 -e 選項:


          # ps -A


          ps 與 top 類似,但它提供了更多的信息。


          顯示長輸出格式


          # ps -Al

          顯示完整輸出格式(它將顯示傳遞給進程的命令行參數)


          # ps -AlF

          顯示線程(輕量級進程(LWP)和線程的數量(NLWP))


          # ps -AlFH

          在進程后顯示線程


          # ps -AlLm

          顯示系統上所有的進程


          # ps ax

          # ps aux


          顯示進程樹


          # ps -ejH

          # ps axjf

          # pstree


          顯示進程的安全信息


          # ps -eo euser,ruser,suser,fuser,f,comm,label

          # ps axZ

          # ps -eM


          顯示指定用戶(如 vivek)運行的進程


          # ps -U vivek -u vivek u

          設置用戶自定義的輸出格式


          # ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm

          # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

          # ps -eopid,tt,user,fname,tmout,f,wchan


          顯示某進程(如 lighttpd)的 PID


          # ps -C lighttpd -o pid=


          # pgrep lighttpd


          # pgrep -u vivek php-cgi

          顯示指定 PID(如 55977)的進程名稱


          # ps -p 55977 -o comm=

          找出占用內存資源最多的前 10 個進程


          # ps -auxf | sort -nr -k 4 | head -10

          找出占用 CPU 資源最多的前 10 個進程


          # ps -auxf | sort -nr -k 3 | head -10

          6. free – 內存使用情況


          free 命令顯示了系統的可用和已用的物理內存及交換內存的總量,以及內核用到的緩存空間。


          # free

          輸出示例:


          total used free shared buffers cached

          Mem: 12302896 9739664 2563232 0 523124 5154740

          -/+ buffers/cache: 4061800 8241096

          Swap: 1052248 0 1052248


          7. iostat – CPU 平均負載和磁盤活動


          iostat 命令用于匯報 CPU 的使用情況,以及設備、分區和網絡文件系統(NFS)的 IO 統計信息。


          # iostat

          輸出示例:



          8. sar – 監控、收集和匯報系統活動


          sar 命令用于收集、匯報和保存系統活動信息。要查看網絡統計,請輸入:


          # sar -n DEV | more

          顯示 24 日的網絡統計:


          # sar -n DEV -f /var/log/sa/sa24 | more


          您還可以使用 sar 顯示實時使用情況:


          # sar 4 5

          輸出示例:



          9. mpstat – 監控多處理器的使用情況


          mpstat 命令顯示每個可用處理器的使用情況,編號從 0 開始。命令 mpstat -P ALL 顯示了每個處理器的平均使用率:


          # mpstat -P ALL

          輸出示例:



          10. pmap – 監控進程的內存使用情況


          pmap 命令用以顯示進程的內存映射,使用此命令可以查找內存瓶頸。


          # pmap -d PID

          顯示 PID 為 47394 的進程的內存信息,請輸入:


          # pmap -d 47394

          輸出示例:



          最后一行非常重要:


          • mapped: 933712K 映射到文件的內存量
          • writeable/private: 4304K 私有地址空間
          • shared: 768000K 此進程與其他進程共享的地址空間


          11. netstat – Linux 網絡統計監控工具


          netstat 命令顯示網絡連接、路由表、接口統計、偽裝連接和多播連接等信息。


          # netstat -tulpn

          # netstat -nat


          12. ss – 網絡統計


          ss 命令用于獲取套接字統計信息。它可以顯示類似于 netstat 的信息。不過 netstat 幾乎要過時了,ss 命令更具優勢。要顯示所有 TCP 或 UDP 套接字:


          # ss -t -a


          # ss -u -a

          顯示所有帶有 SELinux 安全上下文Security Context的 TCP 套接字:


          # ss -t -a -Z

          13. iptraf – 獲取實時網絡統計信息


          iptraf 命令是一個基于 ncurses 的交互式 IP 網絡監控工具。它可以生成多種網絡統計信息,包括 TCP 信息、UDP 計數、ICMP 和 OSPF 信息、以太網負載信息、節點統計信息、IP 校驗錯誤等。它以簡單的格式提供了以下信息:


          • 基于 TCP 連接的網絡流量統計
          • 基于網絡接口的 IP 流量統計
          • 基于協議的網絡流量統計
          • 基于 TCP/UDP 端口和數據包大小的網絡流量統計
          • 基于二層地址的網絡流量統計


          圖 02:常規接口統計:基于網絡接口的 IP 流量統計


          圖 03:基于 TCP 連接的網絡流量統計


          14. tcpdump – 詳細的網絡流量分析


          tcpdump 命令是簡單的分析網絡通信的命令。您需要充分了解 TCP/IP 協議才便于使用此工具。例如,要顯示有關 DNS 的流量信息,請輸入:


          # tcpdump -i eth1 'udp port 53'

          查看所有去往和來自端口 80 的 IPv4 HTTP 數據包,僅打印真正包含數據的包,而不是像 SYN、FIN 和僅含 ACK 這類的數據包,請輸入:


          # tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

          顯示所有目標地址為 202.54.1.5 的 FTP 會話,請輸入:


          # tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'

          打印所有目標地址為 192.168.1.5 的 HTTP 會話:


          # tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'

          使用 wireshark 查看文件的詳細內容,請輸入:


          # tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

          15. iotop – I/O 監控


          iotop 命令利用 Linux 內核監控 I/O 使用情況,它按進程或線程的順序顯示 I/O 使用情況。


          $ sudo iotop

          輸出示例:



          16. htop – 交互式的進程查看器


          htop 是一款免費并開源的基于 ncurses 的 Linux 進程查看器。它比 top 命令更簡單易用。您無需使用 PID、無需離開 htop 界面,便可以殺掉進程或調整其調度優先級。


          $ htop

          輸出示例:



          17. atop – 高級版系統與進程監控工具


          atop 是一個非常強大的交互式 Linux 系統負載監控器,它從性能的角度顯示最關鍵的硬件資源信息。您可以快速查看 CPU、內存、磁盤和網絡性能。它還可以從進程的級別顯示哪些進程造成了相關 CPU 和內存的負載。


          $ atop


          18. ac 和 lastcomm


          您一定需要監控 Linux 服務器上的進程和登錄活動吧。psacct 或 acct 軟件包中包含了多個用于監控進程活動的工具,包括:


          1. ac 命令:顯示有關用戶連接時間的統計信息
          2. lastcomm 命令:顯示已執行過的命令
          3. accton 命令:打開或關閉進程賬號記錄功能
          4. sa 命令:進程賬號記錄信息的摘要


          19. monit – 進程監控器


          monit 是一個免費且開源的進程監控軟件,它可以自動重啟停掉的服務。您也可以使用 Systemd、daemontools 或其他類似工具來達到同樣的目的。


          20. NetHogs – 找出占用帶寬的進程


          NetHogs 是一個輕便的網絡監控工具,它按照進程名稱(如 Firefox、wget 等)對帶寬進行分組。如果網絡流量突然爆發,啟動 NetHogs,您將看到哪個進程(PID)導致了帶寬激增。


          $ sudo nethogs


          21. iftop – 顯示主機上網絡接口的帶寬使用情況


          iftop 命令監聽指定接口(如 eth0)上的網絡通信情況。它顯示了一對主機的帶寬使用情況。


          $ sudo iftop


          22. vnstat – 基于控制臺的網絡流量監控工具


          vnstat 是一個簡單易用的基于控制臺的網絡流量監視器,它為指定網絡接口保留每小時、每天和每月網絡流量日志。


          $ vnstat


          23. nmon – Linux 系統管理員的調優和基準測量工具


          nmon 是 Linux 系統管理員用于性能調優的利器,它在命令行顯示 CPU、內存、網絡、磁盤、文件系統、NFS、消耗資源最多的進程和分區信息。


          $ nmon


          24. glances – 密切關注 Linux 系統


          glances 是一款開源的跨平臺監控工具。它在小小的屏幕上提供了大量的信息,還可以工作于客戶端-服務器模式下。


          $ glances


          25. strace – 查看系統調用


          想要跟蹤 Linux 系統的調用和信號嗎?試試 strace 命令吧。它對于調試網頁服務器和其他服務器問題很有用。


          26. /proc 文件系統 – 各種內核信息


          /proc 文件系統提供了不同硬件設備和 Linux 內核的詳細信息。更多詳細信息,請參閱 Linux 內核 /proc 文檔。常見的 /proc 例子:


          # cat /proc/cpuinfo

          # cat /proc/meminfo

          # cat /proc/zoneinfo

          # cat /proc/mounts


          27. Nagios – Linux 服務器和網絡監控


          Nagios 是一款普遍使用的開源系統和網絡監控軟件。您可以輕松地監控所有主機、網絡設備和服務,當狀態異常和恢復正常時它都會發出警報通知。FAN 是“全自動 Nagios”的縮寫。FAN 的目標是提供包含由 Nagios 社區提供的大多數工具包的 Nagios 安裝。FAN 提供了標準 ISO 格式的 CD-Rom 鏡像,使安裝變得更加容易。除此之外,為了改善 Nagios 的用戶體驗,發行版還包含了大量的工具。


          28. Cacti – 基于 Web 的 Linux 監控工具


          Cacti 是一個完整的網絡圖形化解決方案,旨在充分利用 RRDTool 的數據存儲和圖形功能。Cacti 提供了快速輪詢器、高級圖形模板、多種數據采集方法和用戶管理功能。這些功能被包裝在一個直觀易用的界面中,確保可以實現從局域網到擁有數百臺設備的復雜網絡上的安裝。它可以提供有關網絡、CPU、內存、登錄用戶、Apache、DNS 服務器等的數據。


          29. KDE 系統監控器 – 實時系統報告和圖形化顯示


          KSysguard 是 KDE 桌面的網絡化系統監控程序。這個工具可以通過 ssh 會話運行。它提供了許多功能,比如可以監控本地和遠程主機的客戶端-服務器模式。前端圖形界面使用傳感器來檢索信息。傳感器可以返回簡單的值或更復雜的信息,如表格。每種類型的信息都有一個或多個顯示界面,并被組織成工作表的形式,這些工作表可以分別保存和加載。所以,KSysguard 不僅是一個簡單的任務管理器,還是一個控制大型服務器平臺的強大工具。


          圖 05:KDE System Guard {圖片來源:維基百科}


          30. GNOME 系統監控器


          系統監控程序能夠顯示系統基本信息,并監控系統進程、系統資源使用情況和文件系統。您還可以用其修改系統行為。雖然不如 KDE System Guard 強大,但它提供的基本信息對新用戶還是有用的:


          • 顯示關于計算機硬件和軟件的各種基本信息
          • Linux 內核版本
          • GNOME 版本
          • 硬件
          • 安裝的內存
          • 處理器和速度
          • 系統狀況
          • 可用磁盤空間
          • 進程
          • 內存和交換空間
          • 網絡使用情況
          • 文件系統
          • 列出所有掛載的文件系統及其基本信息


          圖 06:Gnome 系統監控程序


          福利:其他工具


          更多工具:


          • nmap – 掃描服務器的開放端口
          • lsof – 列出打開的文件和網絡連接等
          • ntop 基于網頁的工具 – ntop 是查看網絡使用情況的最佳工具,與 top 命令之于進程的方式類似,即網絡流量監控工具。您可以查看網絡狀態和 UDP、TCP、DNS、HTTP 等協議的流量分發。
          • Conky – X Window 系統下的另一個很好的監控工具。它具有很高的可配置性,能夠監視許多系統變量,包括 CPU 狀態、內存、交換空間、磁盤存儲、溫度、進程、網絡接口、電池、系統消息和電子郵件等。
          • GKrellM – 它可以用來監控 CPU 狀態、主內存、硬盤、網絡接口、本地和遠程郵箱及其他信息。
          • mtr – mtr 將 traceroute 和 ping 程序的功能結合在一個網絡診斷工具中。
          • vtop – 圖形化活動監控終端

          解CPU統計信息

          在esxtop或vtop中找到的第一行以當前系統時間開始。正常運行時間表示主機已啟動多長時間。

          下一個選項表示主機當前托管的虛擬機數量。vCPUS表示主機虛擬CPU,最后一行表示平均CPU負載。目前,如果它達到1.00則意味著我們的主機的物理CPU已被完全消耗。同樣,如果它表示平均CPU負載為0.75,則表示vSphere主機系統正在使用75%的CPU。如果平均負載大于您擁有的CPU核心,則表明vSphere主機的CPU資源過載,并且需要將CPU加倍。

          PCPU section表示單個物理CPU的百分比。您可以看到物理CPU的使用情況、平均值。PCPU顯示所有CPU中的總平均百分比。CPU的理想用量應高達80%。如果PCPU的平均百分比達到90%,則CPU被視為過載,但并非都是如此。但是,使用90%及以上顯然是CPU資源將會過載。如果在啟用了超線程的計算機上安裝了vSphere主機,則PCPU字段還會顯示有關邏輯CPU(LCPU)使用情況的信息。如果群集中的vSphere主機出現故障,vSphere HA將嘗試為其他可用vSphere主機啟動虛擬機,但如果vSphere主機上的CPU資源已耗盡,則您的虛擬機將無法啟動。

          其余的指標在下面表格中一一解釋,其中大多數都是不言自明的。

          啟用更多esxtop字段

          執行以下步驟為CPU屏幕選擇更多字段:

          1.按f進入另一個名為“ Current Field Order”的屏幕。

          2.可以切換要顯示的任何字段。字段順序從A到J.

          3.按I選擇CPU Summary Statistics

          4.按Esc返回CPU統計屏幕。您將看到列數已增加。

          其他統計屏幕可以采用相同的過程,例如內存,網絡或磁盤。還可以使用e來獲取有關組的擴展統計信息。在esxtop以交互模式運行時按e鍵。輸入組IDGID) 您希望看到擴展統計信息,esxtop將顯示有關該資源組的擴展信息。

          按U將對所有資源按照利用率進行排序; 按R將按照%RDY狀態對所有資源排序。按V將顯示與虛擬機相關的資源,N將按GID列對其進行排序。

          注:在esxtop交互模式下隨時點擊h以獲取幫助菜單。使用extop –l鎖定特定的資源,它將綁定的esxtop利用CPU供電所需的量。

          CPU指標表格:


          主站蜘蛛池模板: 国模无码视频一区二区三区| 日本免费一区二区在线观看| 国产激情无码一区二区app| 综合久久一区二区三区| 中文激情在线一区二区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 免费萌白酱国产一区二区三区| 怡红院AV一区二区三区| 国产日韩精品视频一区二区三区| 农村人乱弄一区二区| 精品国产一区二区22| 日韩一区二区三区在线| 精品福利一区二区三区免费视频| 无码人妻一区二区三区免费n鬼沢| 激情啪啪精品一区二区| 国产免费一区二区三区VR| 久久精品无码一区二区三区不卡 | 日韩精品无码一区二区三区AV| 日本精品夜色视频一区二区| 国模吧一区二区三区精品视频| 亚洲综合一区无码精品| 波多野结衣一区二区| 亚洲熟妇AV一区二区三区浪潮| 3D动漫精品一区二区三区| 日本一区二区三区免费高清| 亚洲.国产.欧美一区二区三区| 一区二区亚洲精品精华液| 精品一区二区ww| 日韩经典精品无码一区| 精品伦精品一区二区三区视频| 亚洲日韩精品一区二区三区| 久久99国产精品一区二区| 亚洲AV无码一区二区三区人| 亚洲一区二区三区写真 | 日韩精品乱码AV一区二区| 亚洲香蕉久久一区二区| 国产一区二区三区在线看片 | 人妻少妇精品一区二区三区| 亚洲av无码一区二区三区乱子伦 | 国产精品分类视频分类一区| 国产精品乱码一区二区三|