TWI544328B - 用於經由背景虛擬機器的探測插入的方法及系統 - Google Patents

用於經由背景虛擬機器的探測插入的方法及系統 Download PDF

Info

Publication number
TWI544328B
TWI544328B TW100141285A TW100141285A TWI544328B TW I544328 B TWI544328 B TW I544328B TW 100141285 A TW100141285 A TW 100141285A TW 100141285 A TW100141285 A TW 100141285A TW I544328 B TWI544328 B TW I544328B
Authority
TW
Taiwan
Prior art keywords
virtual machine
instrumented
production
tracking
information
Prior art date
Application number
TW100141285A
Other languages
English (en)
Other versions
TW201227289A (en
Inventor
巴漢保羅
費古洛喬瑟夫N
斯普德林耶利米C
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201227289A publication Critical patent/TW201227289A/zh
Application granted granted Critical
Publication of TWI544328B publication Critical patent/TWI544328B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

用於經由背景虛擬機器的探測插入的方法及系統
本發明係關於電腦的資源配置,特定言之係關於經由背景虛擬機器的探測插入的資源監視和分配技術。
分散式系統的複雜性及測試機制已經被廣泛地探索了許多年。在分散式系統中存在許多固有的挑戰,諸如非同步通訊的等待時間、差錯恢復、時鐘漂移以及服務分區,從而導致眾多問題,包括鎖死、爭用條件以及許多其他困難。測試和監視此類複雜的系統提出了巨大挑戰。在幾年中,已經調查並實現了許多自動測試產生、部署以及執行方法。然而,在監視和維護此類系統的領域中仍然需要大量努力。
對資料中心或生產設定中的伺服器的效能和行為進行監視是十分有用的。大多數的當代作業系統具有用於此目的的事件追蹤或效能計數器機制,但是啟動該等機制經常會造成效能過載-消耗CPU和磁碟/網路IO來寫該等機制的日誌檔。若在容量設計時沒有考慮到該等問題,這就會引起生產伺服器將過載,導致故障及/或低下的效能。因此,很少在生產中使用追蹤機制。
許多資料中心現在使用虛擬機器來允許多個生產應用軟體來在單個伺服器上執行,每個應用軟體在虛擬環境中,使得每個應用軟體認為本身具有對該機器的獨佔使用。替代地,應用軟體通常具有虛擬機器的獨佔使用。虛擬機器為應用軟體提供了有保證的硬體資源量,例如CPU速度、記憶體大小、磁碟容量、網路頻寬等。能夠允許多個虛擬機器並行在同一電腦上執行的系統管理程式廣泛用於商用硬體。系統管理程式多工(並且有時排程)對諸如CPU、記憶體、磁碟、網路的實體資源的存取。系統管理程式提供了用於CPU和IO資源兩者的排程器,排程器能夠在兩個或更多個虛擬機器之間提供所有資源的固定分區。這可以以許多方式完成,例如使用硬實時排程演算法。
監視虛擬機器內的效能遭遇到與監視實體機內相同的挑戰。開啟效能計數器、記日誌和其它監視工具將花費一些數量的虛擬機器資源,並且可能改變應用軟體的行為。對具有高保證的正常執行時間的應用軟體來說,該應用軟體的操作者不能冒這種類型的干擾的風險。在一些情況中,應用軟體可以經由始終開啟監視、在假設監視負荷將經常存在的情況下開發和測試系統來解決這個風險。然而,這將增加預言性,這種影響還是可以引起應用軟體比期望的要執行得更慢,而且涉及到規劃以及購買比別的方式所使用到的更多的硬體資源。許多應用軟體面臨著在經常監視但伴隨著低的應用軟體效能或者不監視但伴隨著在診斷問題和監視行為方面的困難這兩者中進行選擇。
在此描述了一種與系統管理程式一起工作以保留虛擬機器外部的資源來監視在虛擬機器中執行的應用軟體的效能的效能監視系統。應用軟體接收由虛擬機器規範所指定的保證量的資源,並且監視花費了與虛擬機器不關聯的但在同一實體機上潛在執行的資源。在虛擬機器中執行的應用軟體已經被系統管理程式從實體機中隔離,這樣,在實體機上的允許系統管理程式繼續滿足對虛擬機器的保證的附加負載將不會影響應用軟體的效能。效能監視系統提供了部署應用軟體的儀控(instrumentation),資訊技術(IT)人員可以在不影響部署的應用軟體的效能的情況下動態地開啟或關閉該儀控。而且,系統可以在對應用軟體的效能沒有任何可量測的影響的情況下提供附加的探測或儀控點。這樣,效能監視系統提供了一種用於在執行期間不影響生產應用軟體的效能的情況下監視該等應用軟體的穩健框架。
提供本發明內容以便以簡化形式介紹在以下具體實施方式中進一步描述的一些概念。本發明內容既不意欲標識所要求保護的標的的關鍵特徵或必要特徵,也不意欲用於限制所要求保護的標的的範圍。
在此描述了一種與系統管理程式一起工作以保留虛擬機器外部的資源來監視在虛擬機器中執行的應用軟體的效能的效能監視系統。應用軟體接收由虛擬機器規範所指定的保證量的資源,並且監視花費了與虛擬機器不關聯的但在同一實體機上潛在執行的資源。在虛擬機器中執行的應用軟體已經被系統管理程式從實體機中隔離,這樣,在實體機上的允許系統管理程式繼續滿足對虛擬機器的保證的附加負擔將不會影響應用軟體的效能。效能監視系統提供了部署應用軟體的儀控,資訊技術(IT)人員可以在不影響部署的應用軟體的效能的情況下動態地開啟或關閉該儀控。而且,系統可以在對應用軟體的效能沒有任何可測量的影響的情況下提供附加的探測或儀控點。
效能監視系統經由提前保留使用虛擬化技術的每個生產伺服器的處理能力、儲存和I/O容量的某小部分來工作。生產應用軟體在具有固定量的資源的虛擬機器(VM)中執行,並且儀控/日誌/監視子系統在隱藏/不可見的VM中或在使用保留能力的系統管理程式級執行。儀控VM可以將監視點動態地添加/啟用到生產VM中,該等監視點允許儀控VM記錄有關生產VM的資訊而不會影響生產VM的效能。在一些實施例中,系統管理程式限制了儀控VM的規範,使得系統管理程式可以保證儀控VM對實體機的有限影響。儀控VM可以以比生產VM更低的優先順序(例如,背景)執行以允許生產VM對實體機的充分使用。部署的應用軟體可以沒有注意到正在執行的儀控的存在。儀控VM可以經由測量可用於儀控VM的資源來動態地選擇一組儀控。
替換地或者另外地,系統管理程式可以在具有保留的實體記憶體和磁碟區域(甚至可能是專用的附加儲存裝置)的專用CPU(或超線程)上執行儀控VM。替換地或者另外地,系統管理程式可以使用硬體效能計數器來改變提供給生產系統的資源以維持一致的效能等級。在一些實施例中,效能監視系統修改在生產VM中的現有的事件追蹤子系統(例如Windows中ETW)以記錄到在兩個VM之間共享的記憶體區域(或其它機制)。這允許生產VM使用普通的效能監視工具,但卸載了對儀控VM的資源影響。替換地或者另外地,現有的事件追蹤子系統能夠被修改,使得每個儀控點包括系統管理程式易於截取的指令(例如特殊指令或存取引起「VMEXIT」的特定記憶體位址)。隨後,系統管理程式將通知提供給任意監聽儀控VM。系統管理程式可以有選擇地過濾該等通知。使用諸如Strace(Solaris)以及Dtrace(MSR-SVC)的工具來將儀控經由二進位重寫添加到執行的核心中。可以在該系統中使用類似的技術,該等技術具有將重寫代碼和儀控對使用虛擬位址技術的生產VM隱藏的能力。這樣,效能監視系統提供了一種用於在執行期間不影響生產應用軟體的效能的情況下監視該等應用軟體的穩健框架。
圖1是圖示在一個實施例中的效能監視系統的各元件的方塊圖。系統100包括排程元件110、VM通訊元件120、事件過濾元件130、生產追蹤元件140、探測插入元件150、資源保留元件160、日誌元件170以及追蹤資料儲存180。該等元件中的每一個皆在此處進一步詳細討論。
排程元件110、VM通訊元件120和事件過濾元件130在系統管理程式中工作,該系統管理程式多工在兩個或更多個虛擬機器之間共享的實體資源的存取。
排程元件110提供對實體機上的資源使用以及在兩個或更多個虛擬機器之間的資源隔離的排程,該虛擬機器包括生產虛擬機器和儀控虛擬機器。排程元件110可以在系統管理程式中工作,並且提供了虛擬機器隔離使得每個虛擬機器可以以滿足提供給每個虛擬機器的資源可用性的任意保證的方式來使用實體機的資源。例如,若實體機具有2GHz處理器,並且,兩個虛擬機器的每個被保證有相等的某個百分比的CPU分配,則排程元件110可以確保每個虛擬機器獲得使用一半或其它量的實體機的處理器的時間。排程元件110可以提供類似的實體機記憶體、磁碟空間、網路頻寬以及其它資源的劃分。
VM通訊元件120在兩個或更多個虛擬機器之間提供了一或多個通訊通道。對於交叉-VM通訊存在各種技術,包括共享實體記憶體、調用系統管理程式的超調用、將檔儲存在實體磁碟上的公共位置等等。VM通訊元件120通常接收從生產VM傳出的追蹤資訊,並將追蹤資訊儲存在可由儀控VM存取的位置中。與處理資料相比較而言,儲存在使用資源方面通常低廉,並且生產VM可以快速寫追蹤資料並返回生產工作而對生產VM的操作帶來可以忽略不計的影響,同時,儀控VM分開地處理追蹤資料。系統管理程式可以管理共享通訊通道,並且在儀控VM上施加安全性或其它限制。儀控VM可註冊到系統管理程式,並提供滿足系統管理程式的儀控VM被授權截取從生產VM傳出的資訊的身份碼。
事件過濾元件130在事件資料到達儀控虛擬機器之前對事件資料進行過濾。在一些情況中,出於效能原因,一些虛擬機器可能不具有對某些生產機器存取的授權,或者系統管理程式可以接收並預處理事件資訊。例如,生產VM可以始終提供追蹤輸出,但儀控VM可以不監聽並擷取該追蹤輸出。這樣,系統管理程式可以先接收資訊,決定是否有任意儀控VM將接收追蹤輸出,並且若沒有,則丟棄該追蹤輸出。在一些實施例中,儀控VM可以設定感興趣接收的追蹤輸出的等級或類別,並且事件過濾元件130可以避免將不匹配的追蹤資訊發送到儀控VM。儀控VM在處理追蹤資訊時導致資源成本,因此,對儀控VM接收的內容進行過濾能夠提升效能。
生產追蹤元件140和探測插入元件150可以在生產虛擬機器中工作,由系統管理程式管理,在系統管理程式中執行了目標生產應用軟體。
生產追蹤元件140在生產虛擬機器中工作以擷取追蹤資訊並將追蹤資訊提供給VM通訊元件。生產追蹤元件140可以截取調用或使用其它的現有追蹤技術,例如,由作業系統提供的該等技術。例如,微軟的WINDOWS提供了事件日誌、效能計數器以及應用軟體可以用於提供追蹤資訊的其它事件追蹤功能。此類功能的使用通常導致某些效能成本,但經由僅僅用少量工作來擷取生產VM中的追蹤資訊並將追蹤資訊的更重的處理卸載到儀控VM,效能監視系統100就能消除該成本。生產追蹤元件140是擷取追蹤資訊的生產VM中的前線元件。在一些實施例中,生產追蹤元件140在系統管理程式級工作,並且截取到追蹤應用軟體程式設計介面(API)的調用,而不需要瞭解生產VM或在其中執行的應用軟體。
探測插入元件150將一或多個探測插入到生產虛擬機器中以截取與在生產虛擬機器內發生的事件相關的一或多個活動。探測插入元件150允許問題調查器將一或多個特定探測放置在生產VM中,該探測擷取超出經由追蹤資訊可用的內容的資訊。例如,調查器可以對針對特定API的調用感興趣,該調用伴隨有傳入的參數和輸出結果。探測插入元件允許生產VM的動態儀控以截取此類調用,並經由VM通訊元件120將探測資訊發送給儀控VM。
資源保留元件160、日誌元件170以及追蹤資料儲存180可以在儀控虛擬機器中工作,由系統管理程式管理,儀控軟體代碼在儀控虛擬機器中執行。
資源保留元件160為儀控虛擬機器保留資源以用於擷取追蹤資訊。保留資源確保了儀控VM以可預測的對實體機資源的影響來工作,並允許儀控VM處理追蹤和探測資訊,而不影響生產VM的效能。系統管理程式和排程元件110確保了生產VM和儀控VM兩者共享實體機資源的使用,隔絕了彼此對實體機的實際使用。資源保留元件160可以簡單地作為普通VM規範工作以請求來自系統管理程式的期望的一組資源能力,或可以請求專用的資源,例如專用處理器、磁碟或其它資源。處理追蹤資訊通常是資源密集的,並且提供專用資源可以允許更加有效的處理同時確保由系統管理程式管理的其它任務不受影響。
日誌元件170將由儀控虛擬機器接收並處理的追蹤資訊儲存在追蹤資料儲存180中。日誌元件170可以儲存一或多個檔或其它追蹤輸出,這允許由問題調查器,例如測試器、IT人員或與在生產VM中執行的生產應用軟體相關聯的開發者,對在生產VM中發生的事件進行後續分析。追蹤資訊可以提供輸入、輸出、效能特性、操作時間以及其它對分析問題或確保應用軟體的正確操作有用的資訊。在一些實施例中,日誌元件170提供IT人員或其它人可以用作應用軟體效能的實例的應用軟體的定期快照。例如,若應用軟體接收基於Web的電子商務訂單,則日誌元件170可以從一千個訂單中詳細擷取一個訂單,這樣,人員可以瀏覽該訂單的處理並確保正確的行為。
追蹤資料儲存180接收所儲存的追蹤資訊並持久保存該資訊以用於後續手動或自動的分析。追蹤資料儲存180可包括一或多個記憶體內的資料結構、檔、檔案系統、硬碟、資料庫、儲存區域網(SAN)、基於雲端的儲存服務或其它用於儲存資料的設施。追蹤資料儲存180擷取經由日誌元件170儲存的資訊並保留該資訊以供對生產應用軟體的診斷和監視感興趣的IT人員或其它人進行查閱和分析。
在上面實現了效能監視系統的計算設備可包括中央處理單元、記憶體、輸入裝置(例如,鍵盤和指示設備)、輸出設備(例如,顯示裝置),以及儲存裝置(例如,磁碟機或其他非揮發性儲存媒體)。記憶體和儲存裝置是可以用實現或啟用該系統的電腦可執行指令(例如,軟體)來編碼的電腦可讀取儲存媒體。此外,資料結構和訊息結構可被儲存或經由諸如通訊鏈路上的信號等資料傳送媒體發送。可以使用各種通訊鏈路,諸如網際網路、區域網路、廣域網、點對點撥號連線、蜂巢式電話網路等。
該系統的實施例可以在各種操作環境中實現,該等操作環境包括個人電腦、伺服器電腦、掌上型或膝上型設備、多處理器系統、基於微處理器的系統、可程式設計消費電子產品、數碼照相機、網路PC、小型電腦、大型電腦、包括任何上述系統或設備、機上盒、片上系統(SOC)等中任一種的分散式運算環境等。電腦系統可以是蜂巢式電話、個人數位助理、智慧型電話、個人電腦、可程式設計消費電子設備、數碼相機等。
該系統可以在由一或多個電腦或其他設備執行的諸如程式模組等電腦可執行指令的通用上下文中描述。一般而言,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。通常,程式模組的功能可在各個實施例中依須求進行組合或分佈。
圖2是說明在一個實施例中效能監視系統建立對生產虛擬機器中的儀控虛擬機器的追蹤的處理的流程圖。在方塊210開始,系統接收包括用於監視生產虛擬機器的軟體指令的儀控虛擬機器。系統可以經由使用者在生產環境中安裝VM來接收儀控VM,或者系統管理程式供應商可以將儀控VM作為用於虛擬化的作業系統的一部分而提供。儀控VM可以包括用於將自身與系統管理程式進行設置、與其它VM進行通訊以及從生產VM擷取追蹤資料以用於隨後分析的一或多個工具。
在方塊220中繼續,系統經由系統管理程式註冊儀控虛擬機器,使得系統管理程式可以許可儀控虛擬機器擷取來自生產虛擬機器的追蹤資訊。系統管理程式可以施加與擷取追蹤資料有關的安全授權,並且儀控提供授權資訊使得系統管理程式允許儀控監視生產VM中的活動。隔離VM是系統管理程式的典型工作,並且註冊步驟允許儀控VM存取生產VM的活動。
在方塊230中繼續,系統為儀控虛擬機器保留一或多個資源以用於擷取和處理追蹤資訊。例如,系統可以為儀控VM保留處理器時間、記憶體空間、磁碟空間、網路頻寬或其它資源,以便以不干擾先前其它VM(包括生產VM)的保留請求的方式來使用。系統管理程式可以分配專用實體資源或經由為儀控VM排程使用來分配分區共享資源。在此類方式中,由儀控所使用的資源對於生產VM來說是未知的,並且對生產VM執行任意正常生產處理的能力來說沒有影響。
在方塊240中繼續,系統在儀控虛擬機器和生產虛擬機器之間建立共享通訊通道,經由該通道,儀控VM可以從生產VM接收追蹤資訊。追蹤資訊的傳遞是一種對生產VM的效能沒有顯著影響的有效操作,並且儀控VM可以以僅影響儀控VM的方式隨後處理追蹤資訊。這樣,系統將處理追蹤資訊的負擔卸載到生產應用軟體的執行環境外部。
在方塊250中繼續,系統插入用於擷取在生產虛擬機器內的與特定活動有關的資訊的一或多個探測。當在生產VM中存在特定條件時,探測使得系統管理程式告知儀控VM。例如,當在生產VM中執行的應用軟體調用特定API時,探測可以告知儀控VM。探測亦可以包括用將追蹤資訊重新路由到(或將資訊複製到)儀控VM的掛鉤來蓋寫生產VM中的正常追蹤API。探測允許儀控VM監視特定活動,而對生產VM的正常處理僅有小的或沒有影響。
在方塊260中繼續,系統啟動追蹤以開始接收在生產虛擬機器中擷取的追蹤資訊並將追蹤資訊傳遞到儀控虛擬機器。啟動可以包括啟動生產VM、啟動生產應用軟體、啟動儀控VM、通知系統管理程式儀控VM準備好接收追蹤資訊,及/或其它對系統進行準備以接收追蹤資訊的步驟。在方塊260之後,該等步驟結束。
圖3是說明在一個實施例中效能監視系統接收來自儀控虛擬機器中的生產虛擬機器的追蹤輸出的處理的流程圖。在方塊310中開始,系統偵測在生產虛擬機器中的追蹤事件。例如,系統可以偵測對生產VM中的追蹤API的調用,偵測對反映應用軟體活動的其它API的調用、偵測已經被觸發的先前插入的探測指令、接收來自儀控VM的開始追蹤的外部指示等等。
在方塊320中繼續,系統將有關偵測到的追蹤事件的事件細節寫入到共享通訊通道,經由該通道,儀控虛擬機器可以存取由生產虛擬機器所共享的資訊。例如,系統可以建立共享記憶體緩存或使用系統管理程式VM共享API來跨從生產VM到儀控VM的多個VM共享資訊。從生產VM擷取的追蹤資訊可以由儀控VM來處理以從生產VM減少或消除追蹤處理的負擔。
在決定方塊330中繼續,系統決定是否應當過濾事件或將事件提供給儀控VM。若事件要被過濾,則系統完成並等待下一追蹤事件,否則,系統在方塊340處繼續以通知儀控VM。在一些實施例中,系統管理程式先擷取追蹤資料並基於一或多個追蹤準則來決定是否將追蹤資料傳送到一或多個儀控決策。追蹤準則可以決定儀控VM是否具有足夠的授權以接收追蹤資訊,該追蹤資料是否是儀控VM所請求的類別或等級,該儀控VM是否正在執行並準備接收追蹤資料或任意其它由系統的使用者來配置的條件。系統可以為管理員或其它使用者提供靈活的配置選項以設置正被監視的應用軟體的基於追蹤的特定需求。
在方塊340中繼續,系統向儀控虛擬機器通知偵測到的追蹤事件。系統可以直接通知儀控VM,例如經由向儀控VM提供訊息、API調用或其它通知,或者間接通知儀控VM,例如經由將資料寫入到儀控VM監視的檔或共享記憶體區域中。
在方塊350中繼續,系統從儀控虛擬機器存取來自共享通訊通道的從生產虛擬機器寫入的事件細節。經由此類方式,從生產VM將資料傳遞到儀控VM以使用儀控VM的資源來進行處理。生產VM繼續執行,而不需要處理追蹤資訊的負擔。
在方塊360中繼續,系統在儀控虛擬機器中處理所存取的事件細節。處理可以包括決定是否發生錯誤、分析資料中的歷史趨勢,決定插入探測以擷取附加資料,或作為所接收的追蹤事件的結果由儀控VM所採取的任意其它行動。在一些實施例中,使用者可以查閱所擷取的資料並指示系統擷取附加資料並監視附加類型的資訊以取得有關可能的問題的更多細節。
在方塊370中繼續,系統可選地將所處理的事件細節儲存在追蹤資料儲存中。例如,系統可以收集追蹤活動的歷史日記,該歷史日記被提供給一或多個用於偵測追蹤資料中的異常以建議進一步調查的手動或自動工具。系統可以基於所儲存的事件細節產生報告或警告以提供給系統的監視生產應用軟體的行為的一或多個操作者。對於高可用性應用軟體,公司通常使用專用的操作中心來監視該應用軟體並快速回應任何錯誤。效能監視系統可以為此類操作中心提供資訊以監視應用軟體行為並當發生不期望的事件時接收通知。在方塊370之後,該等步驟結束。
在一些實施例中,效能監視系統基於請求依須求啟動儀控虛擬機器。例如,儀控VM可以被安裝在資料中心中的每個電腦系統上,這樣在發生問題之後,操作者可以啟動儀控VM並查看追蹤輸出,而不會打亂生產VM的處理。操作者可以開啟儀控VM以及特定類型的追蹤資料擷取,包括請求經由可以被安置在執行的生產VM中的探測來擷取任意特定的資訊。在操作者具有有關該問題的足夠細節之後,操作者可以關閉追蹤資訊的擷取並關閉儀控VM或使儀控VM閒置。
在一些實施例中,效能監視系統使用遠端儀控VM來進一步減輕生產VM上的負擔。例如,系統可執行在此述及之步驟以從生產VM擷取追蹤資訊,但系統管理程式或其它元件可以在網路上或其它通訊通道上將擷取的追蹤資訊傳遞給遠端的實體或虛擬機器,該遠端的實體或虛擬機器執行通常包含在儀控VM中的追蹤處理邏輯。這允許追蹤資訊的處理被進一步從執行生產VM的實體機上移除。
在一些實施例中,效能監視系統將驅動或其它元件安裝到生產VM中以協助儀控VM在對生產VM有微小影響的情況下擷取追蹤資訊。許多虛擬工具套裝提供了可以被安裝在虛擬機器中使得虛擬機器在主存該虛擬機器的實體硬體上更有效操作的驅動包。例如,驅動可以將圖形調用轉發給圖形硬體以便更快速地處理,而不是類比實體硬體上的虛擬圖形硬體。類似的技術可以用於擷取生產VM作業系統中的追蹤調用並將該資訊轉發給系統管理程式或直接轉發給儀控VM。
從前面的描述中可以看出,可以理解,此處描述的效能監視系統的特定實施例只是為了說明,但是,在不偏離本發明的精神和範圍的情況下,可以進行各種修改。因此,本發明只受所附申請專利範圍限制。
100...系統
110...排程元件
120...VM通訊元件
130...事件過濾元件
140...生產追蹤元件
150...探測插入元件
160...資源保留元件
170...日誌元件
180...追蹤資料儲存
210...方塊
220...方塊
230...方塊
240...方塊
250...方塊
260...方塊
310...方塊
320...方塊
330...方塊
340...方塊
350...方塊
360...方塊
370...方塊
圖1是圖示在一個實施例中的效能監視系統的各元件的方塊圖。
圖2是說明在一個實施例中效能監視系統建立對生產虛擬機器中的儀控虛擬機器的追蹤的處理的流程圖。
圖3是說明在一個實施例中效能監視系統接收來自儀控虛擬機器中的生產虛擬機器的追蹤輸出的處理的流程圖。
100...系統
110...排程元件
120...VM通訊元件
130...事件過濾元件
140...生產追蹤元件
150...探測插入元件
160...資源保留元件
170...日誌元件
180...追蹤資料儲存

Claims (20)

  1. 一種用於建立從一生產虛擬機器到一儀控虛擬機器的追蹤的電腦實現的方法,該方法包括以下步驟:接收包括用於監視一生產虛擬機器的軟體指令的一儀控虛擬機器;將該儀控虛擬機器註冊到一系統管理程式,使得該系統管理程式能許可該儀控虛擬機器擷取來自該生產虛擬機器的追蹤資訊;為該儀控虛擬機器保留一或多個資源以用於擷取和處理追蹤資訊,保留一或多個資源之該步驟進一步包括以下步驟:從該系統管理程式接收給該儀控虛擬機器使用的一專用實體資源的分配,其中分配該專用實體資源而使得該儀控虛擬機器的操作不影響該生產虛擬機器的操作;在該儀控虛擬機器和該生產虛擬機器之間建立共享通訊通道,經由該共享通訊通道,該儀控虛擬機器從該生產虛擬機器接收追蹤資訊;插入一或多個用於擷取與該生產虛擬機器中的特定活動有關的資訊的探測;及啟動追蹤以開始接收在該生產虛擬機器中擷取的追蹤資訊並將該資訊傳遞給該儀控虛擬機器;其中前面的各步驟由至少一個處理器來執行。
  2. 如請求項1之方法,其中接收儀控虛擬機器的步驟包括 以下步驟:偵測一使用者將該虛擬機器安裝在一生產環境中。
  3. 如請求項1之方法,其中接收該儀控虛擬機器的步驟包括以下步驟:將所提供的一儀控虛擬機器標識為用於虛擬化的一作業系統的一部分。
  4. 如請求項1之方法,其中註冊該儀控虛擬機器的步驟包括以下步驟:提供授權資訊,使得該系統管理程式允許該儀控虛擬機器監視該生產虛擬機器中的活動。
  5. 如請求項1之方法,其中該儀控虛擬機器在系統管理程式級上執行。
  6. 如請求項1之方法,其中建立該共享通訊通道的步驟包括以下步驟:建立允許該生產虛擬機器以不顯著影響該生產虛擬機器的效能的一方式來有效共享資訊的一通道。
  7. 如請求項1之方法,其中建立該共享通訊通道允許該生產虛擬機器將追蹤資訊的處理卸載到在一生產應用軟體執行環境外部的該儀控虛擬機器上。
  8. 如請求項1之方法,其中插入一或多個探測的步驟包括 以下步驟:若在該生產虛擬機器中存在特定條件使得該系統管理程式通知該儀控虛擬機器。
  9. 如請求項1之方法,其中插入一或多個探測的步驟包括以下步驟:用將追蹤資訊重新路由到該儀控虛擬機器的一或多個掛鉤來蓋寫該生產虛擬機器中的正常追蹤應用軟體程式設計介面(API)。
  10. 如請求項1之方法,其中啟動追蹤的步驟包括以下步驟中的至少一個:啟動該生產虛擬機器、啟動該生產應用軟體、啟動該儀控虛擬機器以及通知該系統管理程式該儀控虛擬機器準備接收追蹤資訊。
  11. 如請求項1之方法,其中為該儀控虛擬機器保留一或多個資源之該步驟分配專用實體資源給該儀控虛擬機器,而使得該儀控虛擬機器的效能僅由專用實體資源之該分配所影響。
  12. 一種用於經由一背景儀控虛擬機器來監視一生產虛擬機器中的應用軟體效能的電腦系統,該系統包括:一處理器和記憶體,經配置以執行在以下元件內的軟體指令,該等軟體指令造成該處理器與記憶體實例化以下元件;一排程元件,該排程元件提供對一實體機上的資源使用以 及在兩個或更多個虛擬機器之間的資源隔離的排程,該虛擬機器包括一生產虛擬機器和一儀控虛擬機器;一VM通訊元件,該VM通訊元件在兩個或更多個虛擬機器之間提供一或多個通訊通道;一生產追蹤元件,該生產追蹤元件在該生產虛擬機器中工作以擷取追蹤資訊並將該追蹤資訊提供給該VM通訊元件;一探測插入元件,該探測插入元件將一或多個探測插入到該生產虛擬機器中以截取與在該生產虛擬機器內發生的事件相關的一或多個活動;一資源保留元件,該資源保留元件藉由從系統管理程式接收由該儀控虛擬機器使用的一專用實體資源的分配,為該儀控虛擬機器使用保留一實體機的資源以用於擷取追蹤資訊,其中分配該專用實體資源而使得該儀控虛擬機器的操作不影響該生產虛擬機器的操作;一日誌元件,該日誌元件儲存由該儀控虛擬機器接收並處理的追蹤資訊;及一追蹤資料儲存,該追蹤資料儲存接收所儲存的追蹤資訊並持久保存該資訊以用於後續手動或自動的分析。
  13. 如請求項12之系統,其中該排程元件在一系統管理程式中工作,並且提供了虛擬機器隔離使得每個虛擬機器可以以滿足提供給每個虛擬機器的資源可用性的任意保證的一方式來使用實體機的資源。
  14. 如請求項12之系統,其中該VM通訊元件提供了該儀控虛擬機器和該生產虛擬機器兩者皆可存取的一共享記憶體區域。
  15. 如請求項12之系統,其中該VM通訊元件接收一或多個系統管理程式應用軟體程式設計介面調用(超調用),該調用使用該系統管理程式來在該儀控虛擬機器和該生產虛擬機器之間共享資訊。
  16. 如請求項12之系統,其中該VM通訊元件經由該系統管理程式施加安全性限制,該安全性限制決定哪些虛擬機器能存取從該生產虛擬機器傳遞的資訊。
  17. 如請求項12之系統,該系統更進一步包括一事件過濾元件,該事件過濾元件基於一或多個過濾準則在事件資料到達一儀控虛擬機器之前對該事件資料進行過濾。
  18. 如請求項12之系統,其中該生產追蹤元件截取在該生產虛擬機器中到現有事件追蹤應用軟體程式設計介面的調用並經由該VM通訊元件將該調用資料提供給該儀控虛擬機器。
  19. 如請求項12之系統,其中該資源保留元件確保了該儀 控虛擬機器以一可預測的對該實體機資源的影響來工作,並允許該儀控虛擬機器處理追蹤和探測資訊,而不影響該生產虛擬機器的效能。
  20. 一種用於控制一電腦系統以接收來自一儀控虛擬機器中的一生產虛擬機器的追蹤輸出的電腦實現方法,該方法包含以下步驟:偵測該生產虛擬機器中的一追蹤事件;將有關該偵測到的追蹤事件的事件細節寫入到一共享通訊通道,經由該共享通訊通道,該儀控虛擬機器可以存取由該生產虛擬機器所共享的資訊;決定該追蹤事件是否應被過濾或提供給該儀控虛擬機器;當決定該追蹤事件應被過濾時,等待下一個追蹤事件;當決定該追蹤事件應提供給該儀控虛擬機器時:決定該儀控虛擬機器是否正在運行,並是否已準備好接收追蹤資料;當決定該儀控虛擬機器正在運行時:向該儀控虛擬機器通知該偵測到的追蹤事件;從該儀控虛擬機器存取來自該共享通訊通道的從該生產虛擬機器寫入的該事件細節;在該儀控虛擬機器中處理該存取的事件細節;及將該處理的事件細節儲存在一追蹤資料儲存中。
TW100141285A 2010-12-20 2011-11-11 用於經由背景虛擬機器的探測插入的方法及系統 TWI544328B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/972,531 US10203974B2 (en) 2010-12-20 2010-12-20 Probe insertion via background virtual machine

Publications (2)

Publication Number Publication Date
TW201227289A TW201227289A (en) 2012-07-01
TWI544328B true TWI544328B (zh) 2016-08-01

Family

ID=46236223

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100141285A TWI544328B (zh) 2010-12-20 2011-11-11 用於經由背景虛擬機器的探測插入的方法及系統

Country Status (6)

Country Link
US (1) US10203974B2 (zh)
EP (1) EP2656206B1 (zh)
CN (1) CN102541634B (zh)
AR (1) AR084437A1 (zh)
TW (1) TWI544328B (zh)
WO (1) WO2012087852A2 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
KR101459868B1 (ko) * 2011-03-15 2014-11-12 현대자동차주식회사 통신 테스트 장치 및 방법
US8910146B2 (en) * 2012-06-09 2014-12-09 International Business Machines Corporation Automated time-to-value measurement
US9146758B2 (en) * 2012-06-29 2015-09-29 Vmware, Inc. Simultaneous probing of multiple software modules of a computer system
US8996853B2 (en) 2012-06-29 2015-03-31 Vmware, Inc. Probing the boot sequence of a computer system
US9678816B2 (en) * 2012-06-29 2017-06-13 Vmware, Inc. System and method for injecting faults into code for testing thereof
US10089126B2 (en) 2013-03-21 2018-10-02 Vmware, Inc. Function exit instrumentation for tail-call optimized code
US8789055B1 (en) * 2012-08-01 2014-07-22 Kabam, Inc. Maintaining time fidelity for an instance of a virtual space placed in a background state
CN103078870A (zh) * 2013-01-18 2013-05-01 浪潮电子信息产业股份有限公司 一种云数据中心操作系统中虚拟机关联-反关联系统及其方法
US9954757B2 (en) 2013-01-23 2018-04-24 Hewlett Packard Enterprise Development Lp Shared resource contention
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8843901B2 (en) * 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US10223139B2 (en) * 2013-03-15 2019-03-05 The Trustees Of The University Of Pennsylvania Dynamically deployable wireless infrastructure in cloud environment
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9344349B2 (en) 2013-07-12 2016-05-17 Nicira, Inc. Tracing network packets by a cluster of network controllers
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9361202B2 (en) 2013-07-18 2016-06-07 International Business Machines Corporation Filtering system noises in parallel computer systems during thread synchronization
US9811435B2 (en) * 2013-09-03 2017-11-07 Cisco Technology, Inc. System for virtual machine risk monitoring
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
KR102033009B1 (ko) * 2013-09-13 2019-10-16 한국전자통신연구원 가상 물리 시스템 및 그의 가상 머신 모니터링 방법
US9264330B2 (en) 2013-10-13 2016-02-16 Nicira, Inc. Tracing host-originated logical network packets
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC Application execution path tracing with configurable origin definition
JP6221701B2 (ja) * 2013-12-03 2017-11-01 富士通株式会社 制御プログラム、制御装置及び制御方法
US10158538B2 (en) 2013-12-09 2018-12-18 Nicira, Inc. Reporting elephant flows to a network controller
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9419889B2 (en) 2014-03-07 2016-08-16 Nicira, Inc. Method and system for discovering a path of network traffic
US9135437B1 (en) * 2014-03-24 2015-09-15 Amazon Technologies, Inc. Hypervisor enforcement of cryptographic policy
US9996442B2 (en) * 2014-03-25 2018-06-12 Krystallize Technologies, Inc. Cloud computing benchmarking
US9419874B2 (en) 2014-03-27 2016-08-16 Nicira, Inc. Packet tracing in a software-defined networking environment
US10205648B1 (en) * 2014-05-30 2019-02-12 EMC IP Holding Company LLC Network monitoring using traffic mirroring and encapsulated tunnel in virtualized information processing system
US9379956B2 (en) 2014-06-30 2016-06-28 Nicira, Inc. Identifying a network topology between two endpoints
US9553803B2 (en) 2014-06-30 2017-01-24 Nicira, Inc. Periodical generation of network measurement data
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9495193B2 (en) * 2014-12-05 2016-11-15 International Business Machines Corporation Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US9658942B2 (en) * 2015-04-02 2017-05-23 International Business Machines Corporation Dynamic tracing framework for debugging in virtualized environments
US9594904B1 (en) * 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
CA2987933A1 (en) * 2015-06-01 2016-12-08 Draios Inc. Implicit push data transfer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US11138029B2 (en) 2015-07-22 2021-10-05 Microsoft Technology Licensing, Llc Mitigation of impact of intermittent storage unavailability on virtual machines
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
CN105426291B (zh) * 2015-12-08 2018-05-25 中国航空工业集团公司西安航空计算技术研究所 一种基于PowerPC处理器的性能监视方法
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10503626B2 (en) * 2018-01-29 2019-12-10 Oracle International Corporation Hybrid instrumentation framework for multicore low power processors
CN108449569B (zh) * 2018-03-13 2019-04-05 重庆虚拟实境科技有限公司 虚拟会议方法、系统、装置、计算机装置及存储介质
US11481240B2 (en) * 2018-11-30 2022-10-25 International Business Machines Corporation Capturing traces of virtual machine objects combined with correlated system data
US11151015B2 (en) 2019-02-22 2021-10-19 Microsoft Technology Licensing, Llc Machine-based recognition and dynamic selection of subpopulations for improved telemetry
TWI791929B (zh) * 2019-11-28 2023-02-11 瑞昱半導體股份有限公司 通用分析裝置與方法
CN112965782A (zh) * 2019-12-13 2021-06-15 天翼电子商务有限公司 针对Docker容器的智能监控方法、装置、存储介质及电子设备
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11677645B2 (en) 2021-09-17 2023-06-13 Vmware, Inc. Traffic monitoring
US20230097838A1 (en) * 2021-09-24 2023-03-30 Dell Products L.P. System and method of determining resource utilizations of virtual machines
US12081629B1 (en) * 2021-12-10 2024-09-03 Amazon Technologies, Inc. Machine learning pipeline management for automated software deployment

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
US6760903B1 (en) * 1996-08-27 2004-07-06 Compuware Corporation Coordinated application monitoring in a distributed computing environment
US6263491B1 (en) 1998-10-02 2001-07-17 Microsoft Corporation Heavyweight and lightweight instrumentation
EP1135727A1 (en) * 1998-11-25 2001-09-26 Sun Microsystems, Inc. A method for enabling comprehensive profiling of garbage-collected memory systems
US6598012B1 (en) 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
CA2315449A1 (en) * 2000-08-10 2002-02-10 Ibm Canada Limited-Ibm Canada Limitee Generation of runtime execution traces of applications and associated problem determination
US6694507B2 (en) 2000-12-15 2004-02-17 International Business Machines Corporation Method and apparatus for analyzing performance of object oriented programming code
US7266810B2 (en) * 2002-04-09 2007-09-04 Hewlett-Packard Development Company, Lp. Runtime profiling of platform-independent software applications
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7568025B2 (en) 2003-06-27 2009-07-28 Bank Of America Corporation System and method to monitor performance of different domains associated with a computer system or network
US7275241B2 (en) * 2003-11-21 2007-09-25 International Business Machines Corporation Dynamic instrumentation for a mixed mode virtual machine
US7590521B2 (en) 2004-04-07 2009-09-15 Microsoft Corporation Method and system for probe optimization while instrumenting a program
US7568185B1 (en) * 2004-04-13 2009-07-28 Sun Microsystems, Inc. Mechanism for program-assisted tracing actions
US7574709B2 (en) 2004-04-30 2009-08-11 Microsoft Corporation VEX-virtual extension framework
US20060089984A1 (en) 2004-10-22 2006-04-27 International Business Machines Corporation Process and implementation for autonomous probe enablement
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7661095B2 (en) 2005-04-14 2010-02-09 Hewlett-Packard Development Company, L.P. System and method to build a callgraph for functions with multiple entry points
US7810075B2 (en) * 2005-04-29 2010-10-05 Sap Ag Common trace files
US7689558B2 (en) 2005-09-09 2010-03-30 Sap Ag Application monitoring using profile points
US7818721B2 (en) * 2006-02-01 2010-10-19 Oracle America, Inc. Dynamic application tracing in virtual machine environments
CN101021800A (zh) 2006-02-16 2007-08-22 Sap股份公司 虚拟机监控
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
JP4240062B2 (ja) * 2006-05-31 2009-03-18 日本電気株式会社 計算機システムおよび性能計測方法ならびに管理サーバ装置
US20080126828A1 (en) 2006-06-07 2008-05-29 Janice Marie Girouard Dynamic enablement and customization of tracing information in a data processing system
US7957934B2 (en) * 2007-05-15 2011-06-07 Dynatrace Software Gmbh Method and system for processing application performance data ouside of monitored applications to limit overhead caused by monitoring
US20080243970A1 (en) * 2007-03-30 2008-10-02 Sap Ag Method and system for providing loitering trace in virtual machines
US8601469B2 (en) * 2007-03-30 2013-12-03 Sap Ag Method and system for customizing allocation statistics
US8209684B2 (en) 2007-07-20 2012-06-26 Eg Innovations Pte. Ltd. Monitoring system for virtual application environments
US8763115B2 (en) * 2007-08-08 2014-06-24 Vmware, Inc. Impeding progress of malicious guest software
WO2009058042A1 (en) * 2007-10-29 2009-05-07 Intel Corporation A method of external performance monitoring for virtualized environments
TW200925995A (en) 2007-12-14 2009-06-16 Inventec Corp Mobile device and method for loading operating system thereof
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
US8832682B2 (en) * 2008-03-28 2014-09-09 Vmware, Inc. Trace collection for a virtual machine
TWI559227B (zh) 2009-01-12 2016-11-21 幸福居福爾摩沙股份有限公司 具有內建雙可隨機關閉開啟電源作業裝置的電腦系統
US20100211958A1 (en) * 2009-02-17 2010-08-19 Sun Microsystems, Inc. Automated resource load balancing in a computing system
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US20110061050A1 (en) * 2009-09-04 2011-03-10 Sahita Ravi L Methods and systems to provide platform extensions for trusted virtual machines
US8495427B2 (en) * 2009-10-14 2013-07-23 International Business Machines Corporation Detecting defects in deployed systems
US8381033B2 (en) * 2009-10-30 2013-02-19 International Business Machines Corporation Fault management in virtual computing environments
WO2012039726A1 (en) * 2009-11-04 2012-03-29 Georgia Tech Research Corporation Systems and methods for secure in-vm monitoring
CN101719081B (zh) 2009-12-01 2012-10-10 北京大学 一种虚拟机调度方法
US8195984B2 (en) * 2010-05-26 2012-06-05 Telcordia Technologies, Inc. System and method for a staggered execution environment
US8650564B2 (en) * 2010-10-19 2014-02-11 Vmware, Inc. Method and system for synchronizing fault-tolerant virtual machines and adjusting CPU resource limit based on execution latency
US8910155B1 (en) * 2010-11-02 2014-12-09 Symantec Corporation Methods and systems for injecting endpoint management agents into virtual machines

Also Published As

Publication number Publication date
EP2656206B1 (en) 2019-01-23
AR084437A1 (es) 2013-05-15
WO2012087852A2 (en) 2012-06-28
CN102541634B (zh) 2015-10-07
EP2656206A4 (en) 2016-05-04
CN102541634A (zh) 2012-07-04
EP2656206A2 (en) 2013-10-30
US10203974B2 (en) 2019-02-12
WO2012087852A3 (en) 2012-11-01
US20120159454A1 (en) 2012-06-21
TW201227289A (en) 2012-07-01

Similar Documents

Publication Publication Date Title
TWI544328B (zh) 用於經由背景虛擬機器的探測插入的方法及系統
US20180039507A1 (en) System and method for management of a virtual machine environment
US10346283B2 (en) Dynamically identifying performance anti-patterns
JP6419787B2 (ja) マルウェアコンテンツ検出システム内の仮想マシンへの最適化されたリソース割当て
US9246773B2 (en) System, method, and graphical user interface for application topology mapping in hosted computing environments
US9906548B2 (en) Mechanism to augment IPS/SIEM evidence information with process history snapshot and application window capture history
US8365020B2 (en) Mechanism for saving crash dump files of a virtual machine on a designated disk
US20130013953A1 (en) Health monitoring of applications in a guest partition
US8793688B1 (en) Systems and methods for double hulled virtualization operations
US9223598B1 (en) Displaying guest operating system statistics in host task manager
US9122793B2 (en) Distributed debugging of an application in a distributed computing environment
US11379290B2 (en) Prioritizing and parallelizing the capture of data for debugging computer programs
US10657027B2 (en) Aggregating data for debugging software
US20170147483A1 (en) Tracking asynchronous entry points for an application
CN111158945A (zh) 内核故障处理方法、装置、网络安全设备和可读存储介质
US9785492B1 (en) Technique for hypervisor-based firmware acquisition and analysis
US9471367B1 (en) Virtual machine usage data collection using securely loaded virtual firmware
US9841960B2 (en) Dynamic provision of debuggable program code
US11656888B2 (en) Performing an application snapshot using process virtual machine resources
US20200117482A1 (en) Dynamic loading of a java agent into a running process through direct process memory manipulation
Pătraşcu et al. Digital forensics in Cloud computing
US20230315560A1 (en) Automatic node crash detection and remediation in distributed computing systems
US20240012736A1 (en) Real-time application log collection and log analytics using a single runtime entry-point
US20240118990A1 (en) Monitoring a computer system
Suneja Non-intrusive virtual systems monitoring

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees