本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種64路服務(wù)器系統(tǒng)拓?fù)浍@得方法及裝置。
背景技術(shù):
64路服務(wù)器,多采用CC-NUMA(Cache-Coherent Non-Uniform Memory Architecture,高速緩存一致性非均勻存儲訪問)架構(gòu),該架構(gòu)可以有效的擴展系統(tǒng)規(guī)模。
通過服務(wù)器系統(tǒng)拓?fù)?,可以對系統(tǒng)資源的使用情況和系統(tǒng)運行情況進(jìn)行有效地監(jiān)控,并對系統(tǒng)故障進(jìn)行及時處理。但是,在復(fù)雜的系統(tǒng)架構(gòu)信息情況下,用戶態(tài)獲取服務(wù)器系統(tǒng)拓?fù)涑蔀橐粋€難點。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提供一種64路服務(wù)器系統(tǒng)拓?fù)浍@得方法及裝置。
一種64路服務(wù)器系統(tǒng)拓?fù)浍@得方法,包括:
通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,獲得所述服務(wù)器系統(tǒng)的節(jié)點信息,所述節(jié)點信息包括節(jié)點數(shù)量和節(jié)點編號;
針對所述服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲取該節(jié)點對應(yīng)的CPU資源信息;
通過讀取所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,獲得所述服務(wù)器系統(tǒng)的內(nèi)存信息;
根據(jù)所述節(jié)點信息和所述內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息。
在本發(fā)明的一種具體實施方式中,所述CPU資源信息包括CPU節(jié)點編號、CPU處理器編號、CPU座編號、CPU核編號和CPU超線程編號。
在本發(fā)明的一種具體實施方式中,所述針對所述服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲取該節(jié)點對應(yīng)的CPU資源信息,包括:
針對所述服務(wù)器系統(tǒng)的每個節(jié)點,將該節(jié)點的節(jié)點編號確定為CPU節(jié)點編號;
通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點子目錄下的處理器子目錄,將每個處理器子目錄的編號確定為CPU處理器編號;
在每個處理器子目錄下,讀取物理包標(biāo)識文件和核標(biāo)識文件,并根據(jù)讀取到的物理包標(biāo)識文件,確定CPU座編號,根據(jù)讀取到的核標(biāo)識文件,確定CPU核編號;
根據(jù)所述CPU節(jié)點編號、所述CPU座編號、所述CPU核編號,確定CPU超線程編號。
在本發(fā)明的一種具體實施方式中,所述通過讀取所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,獲得所述服務(wù)器系統(tǒng)的內(nèi)存信息,包括:
打開所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件的訪問句柄,獲得系統(tǒng)表文件;
在所述系統(tǒng)表文件中,根據(jù)預(yù)設(shè)關(guān)鍵字,查找所述服務(wù)器系統(tǒng)的內(nèi)存信息的入口地址;
通過所述內(nèi)存信息的入口地址對應(yīng)的表數(shù)據(jù),獲得內(nèi)存信息。
在本發(fā)明的一種具體實施方式中,所述根據(jù)所述節(jié)點信息和所述內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息,包括:
獲得所述內(nèi)存信息的地址句柄;
按照預(yù)設(shè)順序排列所述節(jié)點信息中的所有的節(jié)點編號及所述內(nèi)存信息中的所有的地址句柄;
根據(jù)節(jié)點編號和地址句柄的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的內(nèi)存座編號和內(nèi)存節(jié)點編號;
根據(jù)所述內(nèi)存信息中的內(nèi)存設(shè)備參數(shù)值,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的控制器參數(shù)值和組件參數(shù)值。
一種64路服務(wù)器系統(tǒng)拓?fù)浍@得裝置,包括:
節(jié)點信息獲得模塊,用于通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,獲得所述服務(wù)器系統(tǒng)的節(jié)點信息,所述節(jié)點信息包括節(jié)點數(shù)量和節(jié)點編號;
CPU資源信息獲取模塊,用于針對所述服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲取該節(jié)點對應(yīng)的CPU資源信息;
內(nèi)存信息獲得模塊,用于通過讀取所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,獲得所述服務(wù)器系統(tǒng)的內(nèi)存信息;
內(nèi)存資源信息確定模塊,用于根據(jù)所述節(jié)點信息和所述內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息。
在本發(fā)明的一種具體實施方式中,所述CPU資源信息包括CPU節(jié)點編號、CPU處理器編號、CPU座編號、CPU核編號和CPU超線程編號。
在本發(fā)明的一種具體實施方式中,所述CPU資源信息獲取模塊,具體用于:
針對所述服務(wù)器系統(tǒng)的每個節(jié)點,將該節(jié)點的節(jié)點編號確定為CPU節(jié)點編號;
通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點子目錄下的處理器子目錄,將每個處理器子目錄的編號確定為CPU處理器編號;
在每個處理器子目錄下,讀取物理包標(biāo)識文件和核標(biāo)識文件,并根據(jù)讀取到的物理包標(biāo)識文件,確定CPU座編號,根據(jù)讀取到的核標(biāo)識文件,確定CPU核編號;
根據(jù)所述CPU節(jié)點編號、所述CPU座編號、所述CPU核編號,確定CPU超線程編號。
在本發(fā)明的一種具體實施方式中,所述內(nèi)存信息獲得模塊,具體用于:
打開所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件的訪問句柄,獲得系統(tǒng)表文件;
在所述系統(tǒng)表文件中,根據(jù)預(yù)設(shè)關(guān)鍵字,查找所述服務(wù)器系統(tǒng)的內(nèi)存信息的入口地址;
通過所述內(nèi)存信息的入口地址對應(yīng)的表數(shù)據(jù),獲得內(nèi)存信息。
在本發(fā)明的一種具體實施方式中,所述內(nèi)存資源信息確定模塊,具體用于:
獲得所述內(nèi)存信息的地址句柄;
按照預(yù)設(shè)順序排列所述節(jié)點信息中的所有的節(jié)點編號及所述內(nèi)存信息中的所有的地址句柄;
根據(jù)節(jié)點編號和地址句柄的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的內(nèi)存座編號和內(nèi)存節(jié)點編號;
根據(jù)所述內(nèi)存信息中的內(nèi)存設(shè)備參數(shù)值,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的控制器參數(shù)值和組件參數(shù)值。
應(yīng)用本發(fā)明實施例所提供的技術(shù)方案,通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,可以獲得服務(wù)器系統(tǒng)的節(jié)點信息,針對每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點對應(yīng)的CPU資源信息,通過讀取服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,可以獲得服務(wù)器系統(tǒng)的內(nèi)存信息,并根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息,從而獲得用戶態(tài)64路服務(wù)器系統(tǒng)拓?fù)?。這樣,通過獲得的服務(wù)器系統(tǒng)拓?fù)洌梢詫ο到y(tǒng)資源的使用情況和系統(tǒng)運行情況進(jìn)行有效地監(jiān)控,并對系統(tǒng)故障進(jìn)行及時處理。
附圖說明
為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例中一種64路服務(wù)器系統(tǒng)拓?fù)浍@得方法的實施流程圖;
圖2為本發(fā)明實施例中一種64路服務(wù)器系統(tǒng)拓?fù)浍@得裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖1所示,為本發(fā)明實施例所提供的一種64路服務(wù)器系統(tǒng)拓?fù)浍@得方法的實施流程圖,該方法可以包括以下步驟:
S110:通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,獲得服務(wù)器系統(tǒng)的節(jié)點信息。
節(jié)點信息包括節(jié)點數(shù)量和節(jié)點編號。
通常,高端容錯計算機的每一路可以稱為NUMA的一個節(jié)點(node),在64路服務(wù)器中,一個節(jié)點包含了多個物理CPU,對同一個節(jié)點的多個物理CPU的內(nèi)存控制器統(tǒng)一集中管理。
通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,可以獲得服務(wù)器系統(tǒng)的節(jié)點編號和節(jié)點數(shù)量。
在Linux系統(tǒng)中,節(jié)點目錄為“/sys/devices/system/node”。在該節(jié)點目錄下,存在多個節(jié)點子目錄??梢允褂藐P(guān)鍵字“node”,查找該節(jié)點目錄下名字為“nodex”的節(jié)點子目錄,x即為節(jié)點編號,根據(jù)查找到的所有的“nodex”,即可確定節(jié)點數(shù)量。
S120:針對服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲取該節(jié)點對應(yīng)的CPU資源信息。
在節(jié)點目錄下,存在多個節(jié)點子目錄,每個節(jié)點子目錄與一個節(jié)點相對應(yīng)。針對服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,可以獲取該節(jié)點對應(yīng)的CPU資源信息。
在本發(fā)明實施例中,CPU資源信息包括CPU節(jié)點(chassis)編號、CPU處理器(processor)編號、CPU座(socket)編號、CPU核(core)編號和CPU超線程(thread)編號。
CPU資源信息的數(shù)據(jù)結(jié)構(gòu)如下所示:
在本發(fā)明的一種具體實施方式中,步驟S120可以包括以下步驟:
步驟一:針對服務(wù)器系統(tǒng)的每個節(jié)點,將該節(jié)點的節(jié)點編號確定為CPU節(jié)點編號;
步驟二:通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點子目錄下的處理器子目錄,將每個處理器子目錄的編號確定為CPU處理器編號;
步驟三:在每個處理器子目錄下,讀取物理包標(biāo)識文件和核標(biāo)識文件,并根據(jù)讀取到的物理包標(biāo)識文件,確定CPU座編號,根據(jù)讀取到的核標(biāo)識文件,確定CPU核編號;
步驟四:根據(jù)CPU節(jié)點編號、CPU座編號、CPU核編號,確定CPU超線程編號。
為便于描述,將上述四個步驟結(jié)合起來進(jìn)行說明。
在步驟S110通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,獲得了服務(wù)器系統(tǒng)的節(jié)點編號,可以將每個節(jié)點編號分別確定為CPU節(jié)點編號,即CPU chassis編號。
例1:在“/sys/devices/system/node”節(jié)點目錄下,通過關(guān)鍵字“node”查找到該節(jié)點目錄下名字為node0和node1的節(jié)點子目錄,節(jié)點編號為0和1,可以分別將這兩個節(jié)點編號確定為CPU節(jié)點編號。
在每個節(jié)點子目錄下,存在一個或多個處理器子目錄。通過遍歷每個節(jié)點子目錄,可以獲得每個節(jié)點子目錄下的處理器子目錄,將每個處理器子目錄的編號確定為CPU處理器編號。
具體的,針對每個節(jié)點子目錄“/sys/devices/system/node/nodex”,在該節(jié)點子目錄下,使用關(guān)鍵字“cpu”,可以查找該節(jié)點子目錄下名字為“cpuy”的處理器子目錄,y為數(shù)字,并分別將y記錄為CPU處理器編號,即CPU processor編號。
比如,在例1中,在“/sys/devices/system/node/node1”節(jié)點子目錄下,使用關(guān)鍵字“cpu”,可以查找到該節(jié)點子目錄下名稱為cpu1、cpu2的處理器子目錄,在“/sys/devices/system/node/node2”節(jié)點子目錄下,使用關(guān)鍵字“cpu”,查找到該節(jié)點子目錄下名稱為cpu3、cpu4的處理器子目錄。根據(jù)處理器子目錄編號,確定的CPU處理器編號分別為:
CPU chassis編號為0,CPU processor編號為1;
CPU chassis編號為0,CPU processor編號為2;
CPU chassis編號為1,CPU processor編號為3;
CPU chassis編號為1,CPU processor編號為4。
在每個處理器子目錄下,可以遍歷該處理器子目錄下的拓?fù)渥幽夸洠x取物理包標(biāo)識文件和核標(biāo)識文件,并根據(jù)物理包標(biāo)識文件,確定CPU座編號,即CPU socket編號,根據(jù)核標(biāo)識文件,確定CPU核編號,即CPU core編號。
針對每個處理器子目錄,其拓?fù)渥幽夸洖椋骸?sys/devices/system/node/nodex/cpuy/topology/”。在該拓?fù)渥幽夸浵拢梢宰x取“physical_package_id”物理包標(biāo)識文件,并將從該文件中獲取的參數(shù)記錄為CPU座編號。在該拓?fù)渥幽夸浵?,還可以讀取“core_id”核標(biāo)識文件,并將從該文件中獲取的參數(shù)記錄為CPU核編號。
比如,通過上述獲取方法,得到的CPU座編號和CPU核編號分別為:
CPU chassis編號為0,CPU processor編號為1,CPU socket編號為A1,CPU core編號為B1;
CPU chassis編號為0,CPU processor編號為2,CPU socket編號為A2,CPU core編號為B2;
CPU chassis編號為1,CPU processor編號為3,CPU socket編號為A3,CPU core編號為B3;
CPU chassis編號為1,CPU processor編號為4,CPU socket編號為A4,CPU core編號為B4;
當(dāng)CPU節(jié)點編號、CPU座編號和CPU核編號相同時,表明物理CPU的一個core含有多個超線程Hyper-threading。根據(jù)CPU節(jié)點編號、CPU座編號、CPU核編號,可以確定CPU超線程編號。具體的,可以將CPU節(jié)點編號、CPU座編號和CPU核編號相同的邏輯CPU,按照CPU處理器編號大小升序排列,CPU超線程編號從0開始,依次累加1,最小的CPU處理器編號對應(yīng)的CPU超線程編號為0。
如上例中,A1與A2相同、B1與B2相同時,確定的CPU線程編號可以為:
CPU chassis編號為1,CPU processor編號為1,CPU socket編號為A1,CPU core編號為B1,CPU thread編號為0;
CPU chassis編號為1,CPU processor編號為2,CPU socket編號為A2,CPU core編號為B2,CPU thread編號為1。
S130:通過讀取所述服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,獲得服務(wù)器系統(tǒng)的內(nèi)存信息。
通過讀取服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,可以獲得服務(wù)器系統(tǒng)的內(nèi)存信息。
在本發(fā)明的一種具體實施方式中,步驟S130可以包括以下步驟:
第一個步驟:打開服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件的訪問句柄,獲得系統(tǒng)表文件;
第二個步驟:在系統(tǒng)表文件中,根據(jù)預(yù)設(shè)關(guān)鍵字,查找服務(wù)器系統(tǒng)的內(nèi)存信息入口地址;
第三個步驟:通過內(nèi)存信息的入口地址對應(yīng)的表數(shù)據(jù),獲得內(nèi)存信息。
為便于描述,將上述三個步驟結(jié)合起來進(jìn)行說明。
服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件目錄為:/dev/mem,打開“/dev/mem”訪問句柄,可以獲得“/sys/firmware/efi/systab”系統(tǒng)表文件,在系統(tǒng)表文件中可以獲取SMBIOS(System Management BIOS,主板或系統(tǒng)制造者以標(biāo)準(zhǔn)格式顯示產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范)EPS(Entry Point Structure,入口結(jié)構(gòu))起始地址。在SMBIOS EPS起始地址匹配預(yù)設(shè)關(guān)鍵字,如“_DMI_”關(guān)鍵字。如果匹配不成功,則將該地址增加16位后,繼續(xù)匹配“_DMI_”關(guān)鍵字,直到找到SMBIOS EPS入口地址,即內(nèi)存信息的入口地址。
通過內(nèi)存信息的入口地址對應(yīng)的表數(shù)據(jù),可以獲得內(nèi)存信息。
當(dāng)讀取數(shù)據(jù)庫type等于16,將讀取數(shù)據(jù)記錄在“Physical Memory Array”中;當(dāng)讀取數(shù)據(jù)庫type等于17,將讀取數(shù)據(jù)記錄在“Memory Device”中;當(dāng)讀取數(shù)據(jù)庫type等于19,將讀取數(shù)據(jù)記錄在“Memory Array Mapped Address”中;當(dāng)讀取數(shù)據(jù)庫type等于20,將讀取數(shù)據(jù)記錄在“Memory Device Mapped Address”中。
S140:根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息。
在本發(fā)明實施例中,根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,可以確定每個節(jié)點對應(yīng)的內(nèi)存資源信息。內(nèi)存資源信息的結(jié)構(gòu)如下所示:
在本發(fā)明的一種具體實施方式中,步驟S140可以包括以下步驟:
步驟一:獲得內(nèi)存信息的地址句柄;
步驟二:按照預(yù)設(shè)順序排列節(jié)點信息中的所有的節(jié)點編號及內(nèi)存信息中的所有的地址句柄;
步驟三:根據(jù)節(jié)點編號和地址句柄的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的內(nèi)存座編號和內(nèi)存節(jié)點編號;
步驟四:根據(jù)內(nèi)存信息的內(nèi)存設(shè)備參數(shù)值,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的控制器參數(shù)值和組件參數(shù)值。
為便于描述,將上述四個步驟結(jié)合起來進(jìn)行說明。
在步驟S130,可以獲得服務(wù)器系統(tǒng)的內(nèi)存信息。進(jìn)一步可以從內(nèi)存信息的“Memory Array Mapped Address”中讀取到內(nèi)存信息的地址句柄,即Memory Array Mapped Address Handle。
在步驟S110,獲得了所有的節(jié)點編號。按照預(yù)設(shè)順序排列所有的節(jié)點編號及內(nèi)存信息的所有的地址句柄,根據(jù)節(jié)點編號和地址句柄的對應(yīng)關(guān)系,可以確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的內(nèi)存座編號和內(nèi)存節(jié)點編號。
根據(jù)內(nèi)存信息中的內(nèi)存設(shè)備參數(shù)值,可以確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的控制器參數(shù)值和組件參數(shù)值。具體的,可以將“Memory Device”中Bank Locator值賦值給控制器參數(shù),即controller參數(shù),將Locator值賦值給組件參數(shù),即dimm參數(shù)。
至此,可以得到每個節(jié)點對應(yīng)的CPU資源信息和內(nèi)存資源信息,獲得了64路服務(wù)器系統(tǒng)拓?fù)洹?/p>
應(yīng)用本發(fā)明實施例所提供的方法,通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,可以獲得服務(wù)器系統(tǒng)的節(jié)點信息,針對每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點對應(yīng)的CPU資源信息,通過讀取服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,可以獲得服務(wù)器系統(tǒng)的內(nèi)存信息,并根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息,從而獲得用戶態(tài)64路服務(wù)器系統(tǒng)拓?fù)?。這樣,通過獲得的服務(wù)器系統(tǒng)拓?fù)?,可以對系統(tǒng)資源的使用情況和系統(tǒng)運行情況進(jìn)行有效地監(jiān)控,并對系統(tǒng)故障進(jìn)行及時處理。
相應(yīng)于上面的方法實施例,本發(fā)明實施例還提供了一種64路服務(wù)器系統(tǒng)拓?fù)浍@得裝置。
參見圖2所示,該裝置可以包括以下模塊:
節(jié)點信息獲得模塊210,用于通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,獲得服務(wù)器系統(tǒng)的節(jié)點信息,節(jié)點信息包括節(jié)點數(shù)量和節(jié)點編號;
CPU資源信息獲取模塊220,用于針對服務(wù)器系統(tǒng)的每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲取該節(jié)點對應(yīng)的CPU資源信息;
內(nèi)存信息獲得模塊230,用于通過讀取服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,獲得服務(wù)器系統(tǒng)的內(nèi)存信息;
內(nèi)存資源信息確定模塊240,用于根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息。
應(yīng)用本發(fā)明實施例所提供的裝置,通過遍歷服務(wù)器系統(tǒng)的節(jié)點目錄,可以獲得服務(wù)器系統(tǒng)的節(jié)點信息,針對每個節(jié)點,通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點對應(yīng)的CPU資源信息,通過讀取服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件,可以獲得服務(wù)器系統(tǒng)的內(nèi)存信息,并根據(jù)節(jié)點信息和內(nèi)存信息的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息,從而獲得用戶態(tài)64路服務(wù)器系統(tǒng)拓?fù)?。這樣,通過獲得的服務(wù)器系統(tǒng)拓?fù)?,可以對系統(tǒng)資源的使用情況和系統(tǒng)運行情況進(jìn)行有效地監(jiān)控,并對系統(tǒng)故障進(jìn)行及時處理。
在本發(fā)明的一種具體實施方式中,CPU資源信息包括CPU節(jié)點編號、CPU處理器編號、CPU座編號、CPU核編號和CPU超線程編號。
在本發(fā)明的一種具體實施方式中,CPU資源信息獲取模塊220,具體用于:
針對服務(wù)器系統(tǒng)的每個節(jié)點,將該節(jié)點的節(jié)點編號確定為CPU節(jié)點編號;
通過遍歷該節(jié)點對應(yīng)的節(jié)點子目錄,獲得該節(jié)點子目錄下的處理器子目錄,將每個處理器子目錄的編號確定為CPU處理器編號;
在每個處理器子目錄下,讀取物理包標(biāo)識文件和核標(biāo)識文件,并根據(jù)讀取到的物理包標(biāo)識文件,確定CPU座編號,根據(jù)讀取到的核標(biāo)識文件,確定CPU核編號;
根據(jù)CPU節(jié)點編號、CPU座編號、CPU核編號,確定CPU超線程編號。
在本發(fā)明的一種具體實施方式中,內(nèi)存信息獲得模塊230,具體用于:
打開服務(wù)器系統(tǒng)的物理內(nèi)存鏡像文件的訪問句柄,獲得系統(tǒng)表文件;
在系統(tǒng)表文件中,根據(jù)預(yù)設(shè)關(guān)鍵字,查找服務(wù)器系統(tǒng)的內(nèi)存信息的入口地址;
通過內(nèi)存信息的入口地址對應(yīng)的表數(shù)據(jù),獲得內(nèi)存信息。
在本發(fā)明的一種具體實施方式中,內(nèi)存資源信息確定模塊240,具體用于:
獲得內(nèi)存信息的地址句柄;
按照預(yù)設(shè)順序排列節(jié)點信息中的所有的節(jié)點編號及內(nèi)存信息中的所有的地址句柄;
根據(jù)節(jié)點編號和地址句柄的對應(yīng)關(guān)系,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的內(nèi)存座編號和內(nèi)存節(jié)點編號;
根據(jù)內(nèi)存信息中的內(nèi)存設(shè)備參數(shù)值,確定每個節(jié)點對應(yīng)的內(nèi)存資源信息的控制器參數(shù)值和組件參數(shù)值。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的一種服務(wù)器系統(tǒng)拓?fù)湫畔@得方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。