亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

信息處理裝置、故障避免方法和程序存儲(chǔ)介質(zhì)的制作方法

文檔序號(hào):6628921閱讀:197來源:國(guó)知局
信息處理裝置、故障避免方法和程序存儲(chǔ)介質(zhì)的制作方法
【專利摘要】本發(fā)明涉及一種信息處理裝置、故障避免方法和程序存儲(chǔ)介質(zhì)。該信息處理裝置包括檢測(cè)單元和避免單元。所述檢測(cè)單元監(jiān)視被分配到進(jìn)程的存儲(chǔ)器容量的利用率和用于處理請(qǐng)求所用的處理時(shí)間?;诒O(jiān)視結(jié)果,檢測(cè)單元檢測(cè)出在信息處理裝置中故障有可能出現(xiàn)的狀態(tài)。當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),避免單元執(zhí)行故障避免處理。所述故障避免處理是下述處理:該處理將線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于標(biāo)準(zhǔn)值的極限值,并且將線程的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為比標(biāo)準(zhǔn)時(shí)間更長(zhǎng)的擴(kuò)大時(shí)間。
【專利說明】信息處理裝置、故障避免方法和程序存儲(chǔ)介質(zhì)
[0001]本申請(qǐng)基于并且要求于在2013年9月27日提交的日本專利申請(qǐng)N0.2013-201451和在2014年9月I日提交的日本專利申請(qǐng)N0.2014-176924的優(yōu)先權(quán)權(quán)益,其公開通過引用被整體并入在此。

【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及一種避免其中因?yàn)橛?jì)算機(jī)的處理延遲或存儲(chǔ)器不足導(dǎo)致在計(jì)算機(jī)中出現(xiàn)故障的情況的技術(shù)。

【背景技術(shù)】
[0003]當(dāng)信息處理裝置(計(jì)算機(jī))例如執(zhí)行計(jì)算機(jī)程序(也簡(jiǎn)稱為程序)時(shí),該信息處理裝置產(chǎn)生作為執(zhí)行程序的單位的多個(gè)進(jìn)程。另外,該信息處理裝置在該處理中產(chǎn)生作為其中執(zhí)行進(jìn)程的單位的多個(gè)線程。
[0004]在這種信息處理裝置中,當(dāng)延遲例如在進(jìn)程內(nèi)的一個(gè)線程的處理時(shí),該延遲不利地影響在同一進(jìn)程內(nèi)的其它線程的處理。因此,例如,諸如進(jìn)程以異常方式結(jié)束的故障容易在信息處理裝置中出現(xiàn)。
[0005]而且,也當(dāng)向進(jìn)程分配的存儲(chǔ)器容量不足時(shí),容易在信息處理裝置中出現(xiàn)進(jìn)程以異常方式結(jié)束的相同的故障。
[0006]參考文獻(xiàn)1(日本特開專利申請(qǐng)公布Νο.ΗΙΟ-049219)公開了一種技術(shù),其中,計(jì)算機(jī)檢測(cè)故障有可能在計(jì)算機(jī)中出現(xiàn)的狀態(tài)。參考文獻(xiàn)2(日本特開專利申請(qǐng)公布N0.2007-226399)公開了一種技術(shù),其中,垃圾收集處理(以下也稱為GC處理)用于計(jì)算機(jī)檢測(cè)其中有可能在計(jì)算機(jī)中出現(xiàn)故障的狀態(tài)。GC處理是下述處理,其中,當(dāng)與程序的處理相關(guān)聯(lián)的存儲(chǔ)器區(qū)域當(dāng)在執(zhí)行該程序的同時(shí)即使在程序結(jié)束后也保持與該程序的處理相關(guān)聯(lián)時(shí),計(jì)算機(jī)取消(釋放)該關(guān)聯(lián)。在參考文獻(xiàn)2中,計(jì)算機(jī)通過下述方式來檢測(cè)故障有可能在計(jì)算機(jī)中出現(xiàn)的狀態(tài):測(cè)量其中執(zhí)行GC處理的時(shí)間間隔和在GC處理后在存儲(chǔ)器容量上的增大,并且將那些測(cè)量值與閾值作比較。
[0007]在參考文獻(xiàn)3 (日本特開專利申請(qǐng)公布N0.2008-077266)和參考文獻(xiàn)4 (日本特開專利申請(qǐng)公布N0.2008-250669)中,公開了方法,其中,基于在服務(wù)器上的消息處理時(shí)間的預(yù)測(cè)值來控制在服務(wù)器上的線程的上限數(shù)量。而且,在參考文獻(xiàn)3和4中,也公開了方法,其中,基于在多個(gè)網(wǎng)絡(luò)服務(wù)器中的請(qǐng)求的處理狀態(tài)來控制分別連接到多個(gè)網(wǎng)絡(luò)服務(wù)器的終端的上限數(shù)量。
[0008]在參考文獻(xiàn)I至4中,沒有關(guān)于下述技術(shù)的無論任何說明:該技術(shù)避免因?yàn)樵诰€程的處理中的延遲或被分配到進(jìn)程的存儲(chǔ)器容量的不足導(dǎo)致在計(jì)算機(jī)中出現(xiàn)故障的情況。


【發(fā)明內(nèi)容】

[0009]本發(fā)明的主要目的是提供一種技術(shù),該技術(shù)避免因?yàn)樵诰€程的處理中的延遲或被分配到進(jìn)程的存儲(chǔ)器容量的不足導(dǎo)致的在信息處理裝置(計(jì)算機(jī))中的故障。
[0010]換句話說,根據(jù)本發(fā)明的信息處理裝置的一個(gè)方面包括:
[0011]檢測(cè)單元,所述檢測(cè)單元基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,來檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及
[0012]避免單元,當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),所述避免單元執(zhí)行故障避免處理,所述故障避免處理:將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低到小于所述標(biāo)準(zhǔn)值的極限值,并且將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。
[0013]在根據(jù)本發(fā)明的故障避免方法的一個(gè)方面中,
[0014]基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,計(jì)算機(jī)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及
[0015]當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),所述計(jì)算機(jī)將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于所述標(biāo)準(zhǔn)值的極限值,并且所述計(jì)算機(jī)將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。

【專利附圖】

【附圖說明】
[0016]通過結(jié)合附圖的下面的詳細(xì)說明,本發(fā)明的示例性特征和優(yōu)點(diǎn)將變得清楚,在附圖中:
[0017]圖1是以簡(jiǎn)化方式描述根據(jù)本發(fā)明的第一示例性實(shí)施例的信息處理裝置的配置的框圖;
[0018]圖2是以簡(jiǎn)化方式描述根據(jù)本發(fā)明的第二示例性實(shí)施例的信息處理裝置的配置的框圖;
[0019]圖3是以簡(jiǎn)化方式描述第四示例性實(shí)施例的信息處理裝置的配置的框圖;
[0020]圖4是圖示在第四示例性實(shí)施例中的、在存儲(chǔ)器中設(shè)置的存儲(chǔ)單元的示例的圖;
[0021]圖5是圖示在第四示例性實(shí)施例中的故障應(yīng)對(duì)單元的配置的框圖;
[0022]圖6是描述在第四示例性實(shí)施例中的延遲檢測(cè)單元的操作示例的流程圖;
[0023]圖7是描述在第四示例性實(shí)施例中的存儲(chǔ)器不足檢測(cè)單元的操作示例的流程圖;以及
[0024]圖8是描述在第四示例性實(shí)施例中的避免單元的操作示例的流程圖。

【具體實(shí)施方式】
[0025]以下,將參考附圖來描述根據(jù)本發(fā)明的示例性實(shí)施例。
[0026][第一示例性實(shí)施例]
[0027]圖1是以簡(jiǎn)化方式描述根據(jù)本發(fā)明的第一示例性實(shí)施例的信息處理裝置的配置的框圖。第一示例性實(shí)施例的信息處理裝置101是設(shè)有例如中央處理單元(CPU) 102的計(jì)算機(jī)。CPU102通過下述方式來控制信息處理裝置101的一般操作:讀取在存儲(chǔ)裝置(未示出)中存儲(chǔ)的計(jì)算機(jī)程序(程序),并且執(zhí)行該程序。
[0028]在該第一示例性實(shí)施例中,信息處理裝置101 (CPU102)產(chǎn)生作為其中執(zhí)行程序的單位的多個(gè)進(jìn)程。進(jìn)程是CPU102的功能單位之一,并且設(shè)有管理進(jìn)程的操作(處理)的功能。例如,進(jìn)程(CPU102)產(chǎn)生(設(shè)置)作為其中執(zhí)行與由進(jìn)程接收的請(qǐng)求對(duì)應(yīng)的處理的單位的線程。通常,該進(jìn)程因?yàn)閳?zhí)行多個(gè)處理單位所以能夠產(chǎn)生多個(gè)線程。進(jìn)程能夠設(shè)有的線程的上限數(shù)量被預(yù)先設(shè)置。
[0029]而且,向信息處理裝置101內(nèi)置存儲(chǔ)器(未示出),并且,從存儲(chǔ)器向進(jìn)程分配可用存儲(chǔ)器區(qū)域(存儲(chǔ)器容量)。從所分配的存儲(chǔ)器區(qū)域,進(jìn)程分配由線程使用的存儲(chǔ)器區(qū)域(存儲(chǔ)器容量)。
[0030]在該第一示例性實(shí)施例中,信息處理裝置101包括作為由執(zhí)行程序的CPU102實(shí)現(xiàn)的功能單位的檢測(cè)單元(檢測(cè)部件)103和避免單元(避免部件)104。檢測(cè)單元103設(shè)有下述功能,該功能用于監(jiān)視向進(jìn)程分配的存儲(chǔ)器容量的利用率和從當(dāng)線程接收到請(qǐng)求直到完成與請(qǐng)求對(duì)應(yīng)的處理時(shí)所花費(fèi)的處理時(shí)間之一或該兩者。另外,檢測(cè)單元103設(shè)有下述功能,該功能用于基于監(jiān)視結(jié)果來檢測(cè)在信息處理裝置101(CPU102)中的故障有可能出現(xiàn)的狀態(tài)(以下,也稱為故障相關(guān)狀態(tài))。
[0031]避免單元104設(shè)有當(dāng)檢測(cè)出故障有可能出現(xiàn)的狀態(tài)(故障相關(guān)狀態(tài))時(shí)執(zhí)行故障避免處理的功能。故障避免處理是下述處理,該處理將線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于該標(biāo)準(zhǔn)值的極限值,并且將線程等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為比該標(biāo)準(zhǔn)時(shí)間更長(zhǎng)的擴(kuò)大時(shí)間。等待時(shí)間是線程必須在完成處理后等待直到開始個(gè)別的處理的時(shí)間。
[0032]第一示例性實(shí)施例的信息處理裝置101能夠通過設(shè)有如上所述的配置(功能)而實(shí)現(xiàn)下面的有益效果。換句話說,在該第一示例性實(shí)施例中,檢測(cè)單元103基于存儲(chǔ)器容量利用率和線程處理時(shí)間之一或該兩者來檢測(cè)故障相關(guān)狀態(tài)。有可能通過存儲(chǔ)器容量利用率來指示存儲(chǔ)器不足狀態(tài),并且通過線程處理時(shí)間來指示處理的處理延遲狀態(tài)。在信息處理裝置101中出現(xiàn)的故障(其中,正常操作不可能的狀態(tài))的主要原因是處理被延遲,并且存儲(chǔ)器容量不足。如上所述,該第一示例性實(shí)施例的信息處理裝置101能夠通過使用存儲(chǔ)器容量利用率和處理時(shí)間之一或該兩者來適當(dāng)?shù)乇O(jiān)視存儲(chǔ)器不足狀態(tài)和處理延遲狀態(tài)。因此,信息處理裝置101能夠精確地檢測(cè)故障相關(guān)狀態(tài)。
[0033]而且,當(dāng)檢測(cè)出故障相關(guān)狀態(tài)時(shí),信息處理裝置101減少線程上限數(shù)量,并且延長(zhǎng)線程等待時(shí)間。換句話說,信息處理裝置101能夠通過降低線程上限數(shù)量來抑制執(zhí)行處理的線程的數(shù)量,并且能夠通過延長(zhǎng)線程等待時(shí)間來抑制并行執(zhí)行的線程的數(shù)量。因此,信息處理裝置101能夠抑制在CPU102上的負(fù)載以改善故障相關(guān)狀態(tài)。換句話說,信息處理裝置101能夠?qū)崿F(xiàn)避免通過存儲(chǔ)器不足或處理延遲導(dǎo)致的故障出現(xiàn)的情況的效果,而不停止操作(在繼續(xù)操作的同時(shí))。
[0034][第二示例性實(shí)施例]
[0035]以下,將描述根據(jù)本發(fā)明的第二示例性實(shí)施例。
[0036]圖2是以簡(jiǎn)化方式描述第二示例性實(shí)施例的信息處理裝置的配置的框圖。該信息處理裝置120是應(yīng)用服務(wù)器(計(jì)算機(jī)),并且能夠經(jīng)由信息通信網(wǎng)絡(luò)150與多個(gè)客戶端160進(jìn)行通信。在圖2中與信息通信網(wǎng)絡(luò)150和客戶端160 —起描述信息處理裝置120??蛻舳?60例如是個(gè)人計(jì)算機(jī)或個(gè)人數(shù)字助理(PDA)。
[0037]廣義而言,第二示例性實(shí)施例的信息處理裝置120包括控制裝置121和存儲(chǔ)裝置122。存儲(chǔ)裝置122是存儲(chǔ)計(jì)算機(jī)程序(程序)和數(shù)據(jù)的存儲(chǔ)介質(zhì)。控制裝置121設(shè)有例如CPU,并且通過CPU執(zhí)行從存儲(chǔ)裝置122讀取的計(jì)算機(jī)程序來控制信息處理裝置120的一般操作。
[0038]控制裝置121設(shè)有下述功能:當(dāng)執(zhí)行程序(例如,應(yīng)用程序)時(shí),作為功能單位產(chǎn)生作為程序的執(zhí)行單位的多個(gè)進(jìn)程130。注意,在圖2中僅描述了一個(gè)進(jìn)程130,以便簡(jiǎn)化說明。
[0039]當(dāng)被產(chǎn)生時(shí),進(jìn)程130設(shè)有產(chǎn)生作為其中執(zhí)行處理的單位的多個(gè)線程(未示出)的功能。當(dāng)進(jìn)程130首先產(chǎn)生線程時(shí)的線程的數(shù)量被預(yù)先設(shè)置為初始值。
[0040]檢測(cè)單元103包括管理單元131,其管理進(jìn)程130的操作。例如,當(dāng)經(jīng)由信息通信網(wǎng)絡(luò)150從客戶端160接收到請(qǐng)求時(shí),管理單元131輸出被引導(dǎo)到一個(gè)等待線程的請(qǐng)求。該接收到該請(qǐng)求的線程執(zhí)行與該請(qǐng)求對(duì)應(yīng)的處理。
[0041]而且,當(dāng)從線程接收到處理結(jié)果(響應(yīng))時(shí),管理單元131向發(fā)送請(qǐng)求的原始客戶端160返回處理結(jié)果。
[0042]另外,當(dāng)接收到請(qǐng)求并且沒有等待線程時(shí),管理單元131產(chǎn)生新的線程。然而,預(yù)先設(shè)置能夠?qū)儆谶M(jìn)程130的線程的上限數(shù)量。因此,當(dāng)屬于進(jìn)程130的線程的數(shù)量達(dá)到上限時(shí),管理單元131不能產(chǎn)生新的線程。因?yàn)樵撛?,?dāng)接收到請(qǐng)求,沒有等待線程,并且新的線程不能被產(chǎn)生時(shí),管理單元131存儲(chǔ)該請(qǐng)求。然后,當(dāng)完成處理并且進(jìn)入等待狀態(tài)的線程產(chǎn)生時(shí),管理單元131輸出被引導(dǎo)到線程的請(qǐng)求。
[0043]另外,當(dāng)存在進(jìn)入等待狀態(tài)的線程,并且屬于進(jìn)程130的線程的數(shù)量超過初始值時(shí),管理單元131刪除在等待狀態(tài)中的線程。
[0044]作為存儲(chǔ)介質(zhì)的存儲(chǔ)器140被內(nèi)置到控制裝置121內(nèi)。在存儲(chǔ)器140中設(shè)置了作為堆存儲(chǔ)器的存儲(chǔ)區(qū)域??刂蒲b置121設(shè)有下述功能:當(dāng)產(chǎn)生進(jìn)程130時(shí),從作為進(jìn)程區(qū)域的存儲(chǔ)器140的堆存儲(chǔ)器向進(jìn)程130的每一個(gè)分配可用存儲(chǔ)區(qū)域(容量)。每一個(gè)進(jìn)程區(qū)域在其中存儲(chǔ)與該區(qū)域被分配(相關(guān)聯(lián))到的進(jìn)程130相關(guān)的數(shù)據(jù)。例如,在存儲(chǔ)器140中的每一個(gè)處理區(qū)域在其中存儲(chǔ)能夠在相關(guān)聯(lián)的進(jìn)程130中產(chǎn)生的線程的上限數(shù)量。而且,每一個(gè)進(jìn)程區(qū)域在其中存儲(chǔ)關(guān)于線程等待時(shí)間的信息。該線程等待時(shí)間是線程必須在完成處理后等待直到開始個(gè)別的處理的時(shí)間。另外,每一個(gè)進(jìn)程區(qū)域在其中存儲(chǔ)關(guān)于該區(qū)域的存儲(chǔ)容量(存儲(chǔ)器容量)的信息。另外,每一個(gè)進(jìn)程區(qū)域在其中存儲(chǔ)屬于每一個(gè)進(jìn)程的線程的數(shù)量。當(dāng)管理單元131產(chǎn)生線程或刪除線程時(shí),執(zhí)行該處理的管理單元131更新線程的數(shù)量。另外,管理單元131設(shè)有下述功能:當(dāng)產(chǎn)生線程時(shí),從存儲(chǔ)器140的進(jìn)程區(qū)域向線程分配所產(chǎn)生的線程能夠使用的區(qū)域。每一個(gè)進(jìn)程區(qū)域在其中存儲(chǔ)諸如向每一個(gè)線程分配的區(qū)域的存儲(chǔ)容量(存儲(chǔ)器容量)的信息。而且,管理單元131設(shè)有下述功能:當(dāng)線程開始處理時(shí),在被分配到開始處理的線程所屬于的進(jìn)程130的進(jìn)程區(qū)域中寫入用于指示作為開始時(shí)間的開始處理的時(shí)間的信息。另外,每一個(gè)進(jìn)程區(qū)域具有其中寫入的等待進(jìn)程的數(shù)量。通過管理單元131來更新等待進(jìn)程的數(shù)量。
[0045]在該第二示例性實(shí)施例中,控制裝置121另外包括作為功能單位的檢測(cè)單元(檢測(cè)部件)132、避免單元(避免部件)133和恢復(fù)單元134。
[0046]檢測(cè)單元132設(shè)有計(jì)算在存儲(chǔ)器140中的每一個(gè)進(jìn)程區(qū)域的利用率(存儲(chǔ)器容量利用率)和每一個(gè)進(jìn)程的線程的處理時(shí)間的功能。作為具體示例,檢測(cè)單元132從存儲(chǔ)器140讀取關(guān)于被分配到每一個(gè)進(jìn)程130的進(jìn)程區(qū)域的存儲(chǔ)器容量M的信息。而且,在每一個(gè)進(jìn)程130中,檢測(cè)單元132計(jì)算作為所使用容量m的向每一個(gè)線程分配的存儲(chǔ)器容量的總量。檢測(cè)單元132然后計(jì)算作為存儲(chǔ)器容量利用率的、所使用容量m相對(duì)于與每一個(gè)進(jìn)程130相關(guān)聯(lián)的進(jìn)程區(qū)域的存儲(chǔ)器容量M的比率Rm(Rm = m+M)。在每一個(gè)預(yù)定時(shí)間間隔Th (例如,600秒)執(zhí)行存儲(chǔ)器容量利用率Rm的計(jì)算。
[0047]而且,當(dāng)基于管理單元131的管理信息來檢測(cè)線程完成處理時(shí),檢測(cè)單元132計(jì)算作為處理時(shí)間Tr的、由完成處理的線程執(zhí)行處理所花費(fèi)的時(shí)間。換句話說,管理單元131通過下述方式來計(jì)算線程處理時(shí)間Tr:從完成處理的線程完成處理的時(shí)間減去在存儲(chǔ)器140中寫入的開始時(shí)間。
[0048]另外,檢測(cè)單元132設(shè)有下述功能:使用所計(jì)算的存儲(chǔ)器容量利用率Rm或線程處理時(shí)間Tr來檢測(cè)信息處理裝置120處于故障有可能出現(xiàn)的狀態(tài)(故障相關(guān)狀態(tài))。具體上,檢測(cè)單元132確定對(duì)于每一個(gè)進(jìn)程130計(jì)算的存儲(chǔ)器容量利用率Rm是否等于或大于預(yù)定存儲(chǔ)器閾值Pm(例如,0.85(85% ))。預(yù)先在存儲(chǔ)器140中登記存儲(chǔ)器閾值Pm。
[0049]然后,當(dāng)確定存儲(chǔ)器容量利用率Rm等于或大于存儲(chǔ)器閾值Pm時(shí),檢測(cè)單元132檢測(cè)出信息處理裝置120因?yàn)榇鎯?chǔ)器不足而處于故障相關(guān)狀態(tài)中。
[0050]而且,檢測(cè)單元132確定所計(jì)算的線程處理時(shí)間Tr是否等于或大于預(yù)定延遲閾值Pt (例如,40秒)。預(yù)先在存儲(chǔ)器140中登記延遲閾值Pt。
[0051]然后,當(dāng)確定線程處理時(shí)間Tr等于或大于延遲閾值Pt時(shí),檢測(cè)單元132檢測(cè)出信息處理裝置120因?yàn)樘幚硌舆t而處于故障相關(guān)狀態(tài)中。
[0052]順便提及,即使當(dāng)檢測(cè)單元132檢測(cè)出指示故障相關(guān)狀態(tài)的存儲(chǔ)器不足或處理延遲時(shí),也存在存儲(chǔ)器不足或處理延遲是暫時(shí)的并且不導(dǎo)致故障的情況??紤]到這一點(diǎn),在該第二示例性實(shí)施例中,檢測(cè)單元132設(shè)有驗(yàn)證該檢測(cè)的功能。例如,當(dāng)基于存儲(chǔ)器容量利用率Rm而檢測(cè)出故障相關(guān)狀態(tài)時(shí),檢測(cè)單元132監(jiān)視在預(yù)定存儲(chǔ)器驗(yàn)證時(shí)間段(例如,300秒)上的存儲(chǔ)器容量利用率Rm。在該存儲(chǔ)器驗(yàn)證時(shí)間段中,檢測(cè)單元132縮短其中計(jì)算存儲(chǔ)器容量利用率Rm的時(shí)間間隔。例如,取代計(jì)算每一個(gè)時(shí)間間隔Th (例如,600秒)的存儲(chǔ)器容量利用率Rm,檢測(cè)單元132對(duì)于短于時(shí)間間隔Th的每一個(gè)時(shí)間間隔Ts (例如,60秒)執(zhí)行計(jì)算。另外,檢測(cè)單元132將所計(jì)算的存儲(chǔ)器容量利用率Rm與驗(yàn)證存儲(chǔ)器閾值Ptm作比較。驗(yàn)證存儲(chǔ)器閾值Ptm可以與存儲(chǔ)器閾值Pm相同,或者可以不同。作為示例,驗(yàn)證存儲(chǔ)器閾值Ptm被設(shè)置為比存儲(chǔ)器閾值Pm (例如,0.85 (85%))更高的值(例如,0.9(90%))
[0053]當(dāng)在存儲(chǔ)器驗(yàn)證時(shí)間段期間確定存儲(chǔ)器容量利用率Rm不變得等于或大于驗(yàn)證存儲(chǔ)器閾值Ptm時(shí),檢測(cè)單元132確定它暫時(shí)在存儲(chǔ)器容量利用率Rm增大為等于或大于存儲(chǔ)器閾值Pm的值的狀態(tài)中。相反,當(dāng)在存儲(chǔ)器驗(yàn)證時(shí)間段期間確定存儲(chǔ)器容量利用率Rm等于或大于驗(yàn)證存儲(chǔ)器閾值Ptm時(shí),檢測(cè)單元132確定因?yàn)榇鎯?chǔ)器不足而在信息處理裝置120中容易出現(xiàn)故障。換句話說,檢測(cè)單元132確定故障相關(guān)狀態(tài)的檢測(cè)(確定)。
[0054]而且,當(dāng)基于線程處理時(shí)間Tr來檢測(cè)出故障相關(guān)狀態(tài)時(shí),檢測(cè)單元132執(zhí)行監(jiān)視,以便驗(yàn)證在預(yù)定延遲驗(yàn)證時(shí)間段(例如,300秒)上的線程處理時(shí)間Tr。例如,也在延遲驗(yàn)證時(shí)間段中,檢測(cè)單元132計(jì)算由完成處理的線程執(zhí)行處理所花費(fèi)的處理時(shí)間Tr,并且以與如上所述相同的方式將處理時(shí)間Tr與延遲閾值Pt作比較。然后,當(dāng)在延遲驗(yàn)證時(shí)間段期間沒有其中處理時(shí)間Tr變得等于或大于延遲閾值Pt的線程時(shí),檢測(cè)單元132確定線程的處理僅暫時(shí)被延遲。
[0055]相反,當(dāng)檢測(cè)出在延遲驗(yàn)證時(shí)間段期間存在其中處理時(shí)間Tr變得等于或大于延遲閾值Pt的線程時(shí),檢測(cè)單元132確定被延遲的線程所屬于的進(jìn)程130的整體是否處于延遲狀態(tài)中。例如,檢測(cè)單元132從存儲(chǔ)器140讀取屬于所延遲的線程所屬于的進(jìn)程(驗(yàn)證目標(biāo)進(jìn)程)130的線程Sa的總數(shù)。而且,檢測(cè)單元132從存儲(chǔ)器140讀取作為屬于驗(yàn)證目標(biāo)進(jìn)程130的線程的等待線程St (對(duì)于請(qǐng)求的等待狀態(tài))的數(shù)量。檢測(cè)單元132然后計(jì)算作為等待比的、作為等待線程St的數(shù)量相對(duì)于線程Sa的總數(shù)的比率Rs (Rs = St + Sa),并且將等待比率Rs與預(yù)定線程閾值Ps(例如,0.1(10%))作比較。當(dāng)?shù)却嚷蔙s小于線程閾值Ps時(shí),檢測(cè)單元132確定驗(yàn)證目標(biāo)進(jìn)程的整個(gè)處理具有要被延遲的趨勢(shì)。換句話說,檢測(cè)單元132確認(rèn)故障相關(guān)狀態(tài)的檢測(cè)(確定)。
[0056]避免單元133設(shè)有下述功能:當(dāng)檢測(cè)單元132確認(rèn)故障相關(guān)狀態(tài)的確定時(shí),執(zhí)行避免故障的處理(故障避免處理)。在該第二示例性實(shí)施例中,避免單元133執(zhí)行作為故障避免處理的、降低線程的上限數(shù)量并且延長(zhǎng)線程等待時(shí)間的處理。換句話說,在存儲(chǔ)器140中,預(yù)先在與存儲(chǔ)由管理單元131引用的線程的上限數(shù)量的存儲(chǔ)區(qū)域分離的存儲(chǔ)區(qū)域中登記線程的上限數(shù)量的標(biāo)準(zhǔn)值(例如,30)和小于標(biāo)準(zhǔn)值的極限值(例如,20)。注意,對(duì)于該標(biāo)準(zhǔn)值和極限值設(shè)置考慮到應(yīng)用程序的內(nèi)容和控制裝置121的性能等的適當(dāng)數(shù)值。而且,當(dāng)產(chǎn)生進(jìn)程時(shí),將標(biāo)準(zhǔn)值在存儲(chǔ)器140中的進(jìn)程區(qū)域中寫入作為被管理單元131引用的線程的上限數(shù)量。
[0057]作為故障避免處理,避免單元133將在存儲(chǔ)器140中的線程的上限數(shù)量從標(biāo)準(zhǔn)值(例如,30)改變?yōu)闃O限值(例如,20)。
[0058]另外,在存儲(chǔ)器140中,在與用于存儲(chǔ)由管理單元131引用的線程等待時(shí)間的存儲(chǔ)區(qū)域分離的存儲(chǔ)區(qū)域中預(yù)先登記等待時(shí)間的標(biāo)準(zhǔn)時(shí)間(例如,O秒)和比標(biāo)準(zhǔn)時(shí)間長(zhǎng)的擴(kuò)大時(shí)間(例如,5秒)。注意,對(duì)于該標(biāo)準(zhǔn)時(shí)間和該擴(kuò)大時(shí)間設(shè)置考慮到控制裝置121的性能等的適當(dāng)時(shí)間。而且,當(dāng)產(chǎn)生進(jìn)程時(shí),將標(biāo)準(zhǔn)時(shí)間在存儲(chǔ)器140中的進(jìn)程區(qū)域中寫入作為由管理單元131引用的線程等待時(shí)間。
[0059]作為故障避免處理,避免單元133將在存儲(chǔ)器140中的線程等待時(shí)間從標(biāo)準(zhǔn)時(shí)間(例如,O秒)改變?yōu)閿U(kuò)大時(shí)間(例如,5秒)。
[0060]進(jìn)程130的管理單元131在引用關(guān)于在存儲(chǔ)器140中登記的線程的上限數(shù)量和等待時(shí)間的信息時(shí)管理線程的產(chǎn)生和線程的處理開始定時(shí)。
[0061]如上所述,因?yàn)橥ㄟ^避免單元133改變了由管理單元131引用的線程的上限數(shù)量和等待時(shí)間,所以抑制了屬于進(jìn)程130的線程的數(shù)量,并且線程等待時(shí)間增大。因此,并行執(zhí)行處理的線程的數(shù)量降低,并且因此抑制了在信息處理裝置120上的負(fù)荷。因此,信息處理裝置120 (避免單元133)能夠避免由存儲(chǔ)器不足或處理延遲引起的故障的出現(xiàn)。
[0062]恢復(fù)單元134設(shè)有下述功能:在避免單元133執(zhí)行故障避免處理后,將被故障避免處理改變的部分恢復(fù)到原始狀態(tài)。換句話說,當(dāng)基于存儲(chǔ)器容量利用率Rm執(zhí)行故障避免處理時(shí),恢復(fù)單元134以與檢測(cè)單元132相同的方式來監(jiān)視存儲(chǔ)器容量利用率Rm。然后,當(dāng)檢測(cè)出存儲(chǔ)器容量利用率Rm小于存儲(chǔ)器閾值Pm時(shí),恢復(fù)單元134將線程的上限數(shù)量恢復(fù)到標(biāo)準(zhǔn)值,并且將線程等待時(shí)間恢復(fù)到標(biāo)準(zhǔn)時(shí)間。而且,當(dāng)基于線程處理時(shí)間Tr來執(zhí)行故障避免處理時(shí),恢復(fù)單元134以與檢測(cè)單元132相同的方式來監(jiān)視線程處理時(shí)間Tr。然后,當(dāng)檢測(cè)出線程處理時(shí)間Tr比延遲閾值Pt短時(shí),恢復(fù)單元134將線程的上限數(shù)量恢復(fù)到標(biāo)準(zhǔn)值,并且將線程等待時(shí)間恢復(fù)到標(biāo)準(zhǔn)時(shí)間。
[0063]如在第一示例性實(shí)施例中,該第二示例性實(shí)施例的信息處理裝置120能夠?qū)崿F(xiàn)抑制其中由存儲(chǔ)器不足或處理延遲導(dǎo)致的故障出現(xiàn)的情況的效果。
[0064]而且,在該第二示例性實(shí)施例中,信息處理裝置120設(shè)有當(dāng)檢測(cè)出在故障相關(guān)狀態(tài)中時(shí)驗(yàn)證檢測(cè)結(jié)果的功能。因此,有可能增大用于檢測(cè)故障相關(guān)狀態(tài)的精度。
[0065]另外,作為故障避免處理,信息處理裝置120執(zhí)行下述處理:通過抑制線程的上限數(shù)量并且延長(zhǎng)線程等待時(shí),降低負(fù)荷,而不停止操作(在繼續(xù)操作的同時(shí))。因此,在信息處理裝置120中的故障避免處理對(duì)于其中期望連續(xù)操作的信息處理裝置很有效。另外,檢測(cè)單元132計(jì)算在驗(yàn)證時(shí)間段期間的存儲(chǔ)器容量利用率Rm的時(shí)間間隔Ts比通常時(shí)間間隔Th更短。因此,信息處理裝置120 (檢測(cè)單元132)能夠迅速地驗(yàn)證存儲(chǔ)器不足狀態(tài)。而且,因?yàn)樵谛畔⑻幚硌b置120 (檢測(cè)單元132)中使得計(jì)算存儲(chǔ)器容量利用率Rm的時(shí)間間隔對(duì)于除了驗(yàn)證時(shí)間段之外的時(shí)間段更長(zhǎng),所以能夠防止在信息處理裝置120上的負(fù)荷增大。
[0066][第三示例性實(shí)施例]
[0067]以下,描述根據(jù)本發(fā)明的第三示例性實(shí)施例。注意,在第三示例性實(shí)施例中,向具有與在第二示例性實(shí)施例中相同的名稱的部分附加了相同的附圖標(biāo)記,并且省略那些共同部分的重復(fù)說明。
[0068]在該第三示例性實(shí)施例中,當(dāng)檢測(cè)單元132在預(yù)定時(shí)間內(nèi)確認(rèn)基于存儲(chǔ)器容量利用率Rm的故障相關(guān)狀態(tài)的檢測(cè)和基于線程處理時(shí)間Tr的故障相關(guān)狀態(tài)的檢測(cè)時(shí),避免單元133執(zhí)行故障避免處理。
[0069]除了在第三示例性實(shí)施例的信息處理裝置120中的前述的配置(功能)與在第二示例性實(shí)施例中相同。該第三示例性實(shí)施例的信息處理裝置120也能夠?qū)崿F(xiàn)與在第二示例性實(shí)施例中相同的效果。
[0070]而且,當(dāng)在預(yù)定時(shí)間內(nèi)檢測(cè)出可能導(dǎo)致故障的存儲(chǔ)器不足和處理延遲兩者時(shí),該第三示例性實(shí)施例的信息處理裝置120執(zhí)行故障避免處理。因此,信息處理裝置120當(dāng)故障出現(xiàn)的風(fēng)險(xiǎn)較高時(shí)執(zhí)行故障避免處理。
[0071]注意在第二和第三示例性實(shí)施例中,檢測(cè)單元132能夠檢測(cè)存儲(chǔ)器不足和處理延遲兩者。相反,檢測(cè)單元132可以被配置使得檢測(cè)存儲(chǔ)器不足或處理延遲。在該情況下,能夠減少檢測(cè)單元132的處理。
[0072]而且,除了第二或第三示例性實(shí)施例之外,控制裝置121可以設(shè)有獲得與故障相關(guān)的信息的功能。例如,在避免單元133因?yàn)橛蓹z測(cè)單元132檢測(cè)出的線程處理延遲或存儲(chǔ)器不足而執(zhí)行故障避免處理之前,控制裝置121獲取諸如下述的與故障相關(guān)的信息。具體地說,當(dāng)檢測(cè)出線程處理延遲時(shí),控制裝置121獲取被延遲的線程的堆棧蹤跡。而且,當(dāng)檢測(cè)出存儲(chǔ)器不足時(shí),控制裝置121在那個(gè)時(shí)間獲取存儲(chǔ)器140的轉(zhuǎn)儲(chǔ)(狀態(tài)信息)。以這種方式,避免單元133在獲取該信息后執(zhí)行故障避免處理。
[0073][第四示例性實(shí)施例]
[0074]以下,描述第四示例性實(shí)施例。
[0075]圖3是以簡(jiǎn)化方式描述第四示例性實(shí)施例的信息處理裝置的配置的框圖。該第四示例性實(shí)施例的信息處理裝置是服務(wù)器裝置(計(jì)算機(jī))10,并且經(jīng)由信息通信網(wǎng)絡(luò)(網(wǎng)絡(luò))70連接到多個(gè)客戶端30。而且,服務(wù)器裝置10連接到數(shù)據(jù)庫(kù)60。
[0076]客戶端30包括:諸如鍵盤的輸入部件,用于用戶輸入信息;以及,諸如顯示器的輸出部件,用于顯示各種信息。例如,個(gè)人計(jì)算機(jī)、平板類型的終端和個(gè)人數(shù)字助理(PDA)終端被看作客戶端30,然而,客戶端30不限于此。
[0077]服務(wù)器裝置10包括通信單元40,并且服務(wù)器裝置10通過通信單元40執(zhí)行與客戶端30的數(shù)據(jù)的發(fā)送和接收。
[0078]服務(wù)器裝置10另外包括例如CPU,并且包括作為由CPU實(shí)現(xiàn)的功能單位的進(jìn)程11和故障應(yīng)對(duì)單元100。另外,服務(wù)器裝置10包括作為存儲(chǔ)介質(zhì)的存儲(chǔ)器50。
[0079]進(jìn)程11是計(jì)算機(jī)程序(程序)的執(zhí)行單位,并且當(dāng)執(zhí)行程序時(shí)被產(chǎn)生。在存儲(chǔ)器50中向所產(chǎn)生的進(jìn)程11分配專用存儲(chǔ)區(qū)域。雖然通常在服務(wù)器裝置10中產(chǎn)生多個(gè)進(jìn)程11,但是僅描述了一個(gè)進(jìn)程11,以便簡(jiǎn)化說明。
[0080]進(jìn)程11包括管理單元13。該管理單元13設(shè)有管理進(jìn)程11的操作的功能。例如,當(dāng)啟動(dòng)進(jìn)程時(shí),管理單元13產(chǎn)生預(yù)先被固定為初始值的在等待狀態(tài)中的多個(gè)線程12。而且,管理單元13向每一個(gè)線程12附加用于識(shí)別每一個(gè)線程12的線程標(biāo)識(shí)信息。另外,管理單元13從在向進(jìn)程11分配的存儲(chǔ)器50中的存儲(chǔ)區(qū)域向所產(chǎn)生的線程12的每一個(gè)分配具有預(yù)定容量的存儲(chǔ)區(qū)域。
[0081]而且,在存儲(chǔ)器50中設(shè)置如圖4中所述的存儲(chǔ)與進(jìn)程11相關(guān)的數(shù)據(jù)的存儲(chǔ)單元。管理單元13在線程總數(shù)存儲(chǔ)單元19中將屬于進(jìn)程11的線程12的數(shù)量寫入作為線程的總數(shù)。而且,管理單元13在等待線程數(shù)量存儲(chǔ)單元14中將在屬于進(jìn)程11的線程12中的等待線程12的數(shù)量寫入作為等待線程的數(shù)量。另外,管理單元13在所分配的容量存儲(chǔ)單元20中將在向進(jìn)程11分配的存儲(chǔ)器50內(nèi)的存儲(chǔ)區(qū)域的存儲(chǔ)容量寫入作為分配容量。另外,管理單元13在存儲(chǔ)器使用量存儲(chǔ)單元15中將通過相加從向進(jìn)程11分配的分配容量向每一個(gè)線程12分配的存儲(chǔ)區(qū)域的容量而獲得的值寫入作為存儲(chǔ)器使用量。
[0082]也存在當(dāng)需要時(shí)管理單元13產(chǎn)生(增加)線程12的情況。在該情況下,管理單元13從在存儲(chǔ)器50中向進(jìn)程11分配的存儲(chǔ)區(qū)域向增加的線程12分配存儲(chǔ)區(qū)域。而且,管理單元13更新在線程總數(shù)存儲(chǔ)單元19中存儲(chǔ)的線程的總數(shù)和在存儲(chǔ)器使用量存儲(chǔ)單元15中存儲(chǔ)的存儲(chǔ)器使用量。在最大線程數(shù)量存儲(chǔ)單元16中,將能夠?qū)儆谶M(jìn)程11的線程12的預(yù)定最大數(shù)量存儲(chǔ)為最大線程數(shù)量。管理單元13增加(產(chǎn)生)線程12,使得線程12的數(shù)量不超過最大線程數(shù)量。
[0083]通信單元40設(shè)有確定在多個(gè)進(jìn)程11中的哪個(gè)進(jìn)程傳送從客戶端30接收的請(qǐng)求的功能。該請(qǐng)求例如是在數(shù)據(jù)庫(kù)60中檢索數(shù)據(jù)的請(qǐng)求或更新數(shù)據(jù)的請(qǐng)求。
[0084]當(dāng)從通信單元40接收到請(qǐng)求時(shí),管理單元13將請(qǐng)求傳送到等待準(zhǔn)備隨后的處理的等待線程線程12。接收到該請(qǐng)求的線程12開始與該請(qǐng)求對(duì)應(yīng)的處理。當(dāng)線程12開始處理時(shí),管理單元13從內(nèi)置到服務(wù)器裝置10內(nèi)的時(shí)鐘機(jī)構(gòu)(未示出)獲取作為那時(shí)的當(dāng)前時(shí)間的開始時(shí)間。管理單元13然后將該開始時(shí)間與開始處理的線程12的線程標(biāo)識(shí)信息相關(guān)聯(lián),并且在線程開始時(shí)間存儲(chǔ)單元18中寫入該開始時(shí)間。而且,因?yàn)榈却€程12的數(shù)量降低,所以管理單元13根據(jù)在等待線程的數(shù)量上的改變而更新在存儲(chǔ)器50中的等待線程數(shù)量存儲(chǔ)單元14中存儲(chǔ)的等待線程的數(shù)量。當(dāng)完成處理時(shí),線程12將處理結(jié)果(響應(yīng))傳送到管理單元13。管理單元13經(jīng)由通信單元40向客戶端30發(fā)回處理結(jié)果(響應(yīng))。
[0085]在接收到請(qǐng)求時(shí),當(dāng)屬于進(jìn)程11的所有線程12是處理其它請(qǐng)求時(shí)(換句話說,當(dāng)沒有等待線程12時(shí)),管理單元13產(chǎn)生新的線程12。然而,當(dāng)屬于進(jìn)程11的線程12的數(shù)量達(dá)到在最大線程數(shù)量存儲(chǔ)單元16中存儲(chǔ)的最大線程數(shù)量時(shí),管理單元13不能產(chǎn)生線程12。在該情況下,管理單元13存儲(chǔ)該請(qǐng)求。其后,當(dāng)檢測(cè)出完成處理并且在等待準(zhǔn)備隨后處理的線程12的存在時(shí),管理單元13將所存儲(chǔ)的請(qǐng)求傳送到線程12。注意,在存儲(chǔ)器50中在處理間隔存儲(chǔ)單元17中存儲(chǔ)了關(guān)于預(yù)定處理間隔(等待時(shí)間)的時(shí)間信息。線程12不可能在完成處理后開始隨后的處理,直到處理間隔的時(shí)間經(jīng)過。
[0086]當(dāng)沒有存儲(chǔ)的請(qǐng)求并且線程的總數(shù)超過初始值時(shí),管理單元13刪除完成處理并且在等待的線程。也在該情況下,管理單元13根據(jù)在屬于進(jìn)程11的線程的數(shù)量上的改變來更新在線程總數(shù)存儲(chǔ)單元19中存儲(chǔ)的線程的總數(shù)。而且,因?yàn)樵谙蜻M(jìn)程11分配的在存儲(chǔ)器50中的存儲(chǔ)區(qū)域中的由線程12使用的區(qū)域上的降低,所以管理單元13更新在存儲(chǔ)器使用量存儲(chǔ)單元15中存儲(chǔ)的存儲(chǔ)器使用量。
[0087]圖5是以簡(jiǎn)化方式描述故障應(yīng)對(duì)單元100的一個(gè)配置示例的框圖。在該第四示例性實(shí)施例中,故障應(yīng)對(duì)單元100包括:延遲檢測(cè)單元200,其是檢測(cè)單元(檢測(cè)部件);存儲(chǔ)器不足檢測(cè)單元300,其是檢測(cè)單元(檢測(cè)部件);以及,避免單元(避免部件)400。
[0088]延遲檢測(cè)單元200設(shè)有檢測(cè)線程12的處理延遲的功能。圖6是描述延遲檢測(cè)單元200的操作示例的流程圖。使用該流程圖來描述延遲檢測(cè)單元200的操作示例。
[0089]在該第四示例性實(shí)施例中,當(dāng)管理單元13檢測(cè)出完成了線程12的處理時(shí),延遲檢測(cè)單元200被通知完成處理的線程12的標(biāo)識(shí)信息。基于拾接收的線程標(biāo)識(shí)信息,延遲檢測(cè)單元200從線程開始時(shí)間存儲(chǔ)單元18讀取關(guān)于當(dāng)完成處理的線程12開始處理時(shí)的時(shí)間的信息。而且,延遲檢測(cè)單元200例如從時(shí)鐘機(jī)構(gòu)讀取關(guān)于當(dāng)線程12完成處理時(shí)的時(shí)間的信息?;谒@得的時(shí)間信息,延遲檢測(cè)單元200然后計(jì)算從線程12開始處理時(shí)的時(shí)間直到完成處理花費(fèi)的處理時(shí)間Tr (在圖6中的步驟S200)。
[0090]接下來,延遲檢測(cè)單元200將所計(jì)算的處理時(shí)間Tr與作為預(yù)先提供的延遲閾值的上限Pt (例如,40秒)作比較,并且確定處理時(shí)間Tr是否等于或大于上限Pt (步驟S201)。作為該確定的結(jié)果,當(dāng)確定處理時(shí)間Tr小于上限Pt時(shí),延遲檢測(cè)單元200確定線程12的處理未被延遲,并且結(jié)束操作。另一方面,當(dāng)確定處理時(shí)間Tr等于或大于上限Pt時(shí),延遲檢測(cè)單元200確定很可能線程12的處理延遲。延遲檢測(cè)單元200隨后執(zhí)行諸如下述部分的處理。延遲檢測(cè)單元200讀取在線程總數(shù)存儲(chǔ)單元19中存儲(chǔ)的線程的總數(shù)。而且,延遲檢測(cè)單元200讀取在等待線程數(shù)量存儲(chǔ)單元14中存儲(chǔ)的等待線程的數(shù)量。延遲檢測(cè)單元200然后計(jì)算作為等待線程比Rs的、等待線程的數(shù)量St相對(duì)于線程的總數(shù)Sa的比率(步驟 S202)。
[0091]其后,延遲檢測(cè)單元200將等待線程比Rs與預(yù)定下限Ps (例如,10% )作比較,并且確定等待線程比Rs是否小于下限Ps (步驟S203)。作為該確定的結(jié)果,當(dāng)確定等待線程比Rs等于或大于下限Ps時(shí),延遲檢測(cè)單元200確定對(duì)于由線程12的處理延遲引起的故障出現(xiàn)而言風(fēng)險(xiǎn)低,并且結(jié)束操作。相反,當(dāng)確定等待線程比Rs小于下限Ps時(shí),延遲檢測(cè)單元200確定故障容易出現(xiàn)。在該情況下,延遲檢測(cè)單元200例如在存儲(chǔ)器50中設(shè)置的延遲標(biāo)記存儲(chǔ)單元(未示出)中寫入作為延遲標(biāo)記的數(shù)值“1”,用于指示由處理延遲引起的故障容易出現(xiàn)的檢測(cè)(步驟S204)。由此,延遲檢測(cè)單元200結(jié)束操作。
[0092]延遲檢測(cè)單元200每當(dāng)線程12完成處理時(shí)重復(fù)地執(zhí)行上述操作。
[0093]存儲(chǔ)器不足檢測(cè)單元300設(shè)有用于檢測(cè)有可能因?yàn)樵诖鎯?chǔ)器50中的存儲(chǔ)器不足導(dǎo)致故障出現(xiàn)的狀態(tài)的功能。圖7是描述存儲(chǔ)器不足檢測(cè)單元300的操作示例的流程圖。使用該流程圖來描述存儲(chǔ)器不足檢測(cè)單元300的操作示例。
[0094]以每一個(gè)預(yù)定通常的監(jiān)視時(shí)間間隔Th(例如,600秒),存儲(chǔ)器不足檢測(cè)單元300讀取在存儲(chǔ)器50中的存儲(chǔ)器使用量存儲(chǔ)單元15中存儲(chǔ)的進(jìn)程11的存儲(chǔ)器使用量m。存儲(chǔ)器不足檢測(cè)單元300然后計(jì)算存儲(chǔ)器利用率Rm,其是存儲(chǔ)器使用量相對(duì)于向進(jìn)程11分配的存儲(chǔ)區(qū)域的容量(分配容量)M的比率(在圖7中的步驟S300)。其后,存儲(chǔ)器不足檢測(cè)單元300將所計(jì)算的存儲(chǔ)器利用率Rm與存儲(chǔ)器閾值Pm作比較,并且確定存儲(chǔ)器利用率Rm是否等于或大于存儲(chǔ)器閾值Pm(步驟S301)。當(dāng)確定存儲(chǔ)器利用率Rm小于存儲(chǔ)器閾值Pm時(shí),存儲(chǔ)器不足檢測(cè)單元300確定對(duì)于由存儲(chǔ)器不足引起的故障出現(xiàn)而言風(fēng)險(xiǎn)低,并且準(zhǔn)備存儲(chǔ)器利用率Rm的下一次計(jì)算。當(dāng)達(dá)到計(jì)算定時(shí)時(shí),存儲(chǔ)器不足檢測(cè)單元300重復(fù)步驟S300和其后的操作。
[0095]相反,在步驟S301中,當(dāng)確定存儲(chǔ)器利用率Rm等于或大于存儲(chǔ)器閾值Pm時(shí),存儲(chǔ)器不足檢測(cè)單元300縮短用于計(jì)算存儲(chǔ)器利用率Rm的時(shí)間間隔。換句話說,存儲(chǔ)器不足檢測(cè)單元300以如上所述的每一個(gè)驗(yàn)證監(jiān)視時(shí)間間隔Ts(例如,60秒)來計(jì)算存儲(chǔ)器利用率Rm(步驟S302)。存儲(chǔ)器不足檢測(cè)單元300然后將所計(jì)算的存儲(chǔ)器利用率Rm與預(yù)先提供的存儲(chǔ)器上限Ptm作比較,并且確定存儲(chǔ)器利用率Rm是否等于或大于存儲(chǔ)器上限Ptm(步驟S303)。存儲(chǔ)器上限Ptm是大于存儲(chǔ)器閾值Pm的數(shù)值。
[0096]作為該確定的結(jié)果,當(dāng)確定存儲(chǔ)器利用率Rm小于存儲(chǔ)器上限Ptm時(shí),存儲(chǔ)器不足檢測(cè)單元300確定對(duì)于由存儲(chǔ)器不足引起的故障出現(xiàn)而言風(fēng)險(xiǎn)低,并且執(zhí)行在下面描述的操作。具體地說,存儲(chǔ)器不足檢測(cè)單元300確定是否從當(dāng)開始以每一個(gè)驗(yàn)證監(jiān)視時(shí)間間隔Ts來計(jì)算存儲(chǔ)器利用率Rm時(shí)的時(shí)間起設(shè)置的驗(yàn)證時(shí)間段經(jīng)過(步驟S304)。因此,當(dāng)確定驗(yàn)證時(shí)間段未經(jīng)過時(shí),存儲(chǔ)器不足檢測(cè)單元300重復(fù)步驟S302和其后的操作。而且,當(dāng)確定驗(yàn)證時(shí)間段經(jīng)過時(shí),存儲(chǔ)器不足檢測(cè)單元300重復(fù)步驟S300和其后的操作。
[0097]另一方面,當(dāng)通過步驟S303的操作確定存儲(chǔ)器利用率Rm等于或大于存儲(chǔ)器上限Ptm時(shí),存儲(chǔ)器不足檢測(cè)單元300確定因?yàn)榇鎯?chǔ)器不足而容易在服務(wù)器裝置10中出現(xiàn)故障。存儲(chǔ)器不足檢測(cè)單元300然后例如在存儲(chǔ)器50中設(shè)置的存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元(未示出)中寫入作為存儲(chǔ)器不足標(biāo)記的數(shù)值“1”,其指示由存儲(chǔ)器不足引起的故障容易出現(xiàn)的檢測(cè)(步驟S305)。其后,存儲(chǔ)器不足檢測(cè)單元300重復(fù)步驟S300和其后的操作。
[0098]避免單元400設(shè)有下述功能:基于延遲檢測(cè)單元200和存儲(chǔ)器不足檢測(cè)單元300的檢測(cè)結(jié)果來避免在服務(wù)器裝置10中出現(xiàn)的故障。圖8是描述避免單元400的操作示例的流程圖。使用該流程圖來描述避免單元400的操作示例。
[0099]在該第四示例性實(shí)施例中,避免單元400監(jiān)視在延遲標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元中寫入的標(biāo)記的狀態(tài)。利用該監(jiān)視,避免單元400確定是否在延遲標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元的至少一個(gè)中寫入了作為標(biāo)記的數(shù)值“I”(是否存在標(biāo)記)(步驟S400)。因此,當(dāng)檢測(cè)出存在標(biāo)記時(shí),避免單元400查看在存儲(chǔ)器50中設(shè)置的延遲避免標(biāo)記存儲(chǔ)單元(未示出)和存儲(chǔ)器不足避免標(biāo)記存儲(chǔ)單元(未示出)的狀態(tài)。延遲避免標(biāo)記存儲(chǔ)單元是存儲(chǔ)區(qū)域,其中,當(dāng)避免單元400基于在線程12的處理中的延遲正在出現(xiàn)的檢測(cè)來執(zhí)行故障出現(xiàn)避免處理時(shí)要寫入作為標(biāo)記的數(shù)值“I”。存儲(chǔ)器不足避免標(biāo)記存儲(chǔ)單元是存儲(chǔ)區(qū)域,其中,當(dāng)避免單元400基于存儲(chǔ)器不足的檢測(cè)來執(zhí)行故障出現(xiàn)避免處理時(shí)要寫入作為標(biāo)記的數(shù)值“ I ”。
[0100]避免單元400查看延遲避免標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足避免標(biāo)記存儲(chǔ)單元,以由此確定是否在那些存儲(chǔ)單元兩者中未寫入作為標(biāo)記的“I”(是否不存在標(biāo)記)(步驟S401)。作為該確定的結(jié)果,當(dāng)確定在那些存儲(chǔ)單元兩者中未寫入標(biāo)記“I”時(shí),避免單元400執(zhí)行故障避免處理,因?yàn)檫€沒有執(zhí)行故障避免處理(步驟S402)。換句話說,避免單元400將最大線程數(shù)量改變?yōu)榈停⑶覍⒕€程12的處理間隔(等待時(shí)間)改變?yōu)檠娱L(zhǎng)。
[0101]其后,避免單元400確定是否在延遲標(biāo)記存儲(chǔ)單元中寫入作為標(biāo)記的數(shù)值“I”(是否存在標(biāo)記)(步驟S403)。換句話說,避免單元400確定延遲檢測(cè)單元200是否檢測(cè)出處理延遲和存儲(chǔ)器不足檢測(cè)單元300是否檢測(cè)出存儲(chǔ)器不足。
[0102]當(dāng)在延遲標(biāo)記存儲(chǔ)單元中存在標(biāo)記“ I ”時(shí),避免單元400在延遲避免標(biāo)記存儲(chǔ)單元中寫入作為標(biāo)記的“I”(步驟S404)。其后,當(dāng)基于管理單元13的操作信息(管理信息)檢測(cè)出任何線程12完成處理時(shí),避免單元400計(jì)算該處理所花費(fèi)的處理時(shí)間Tr。另外,避免單元400將所計(jì)算的處理時(shí)間Tr與上限Pt (例如,40秒)作比較,并且確定處理時(shí)間Tr是否等于或小于上限Pt (步驟S405)。作為該確定的結(jié)果,當(dāng)確定處理時(shí)間Tr比上限Pt長(zhǎng)時(shí),避免單元400重復(fù)計(jì)算處理時(shí)間Tr,并且將處理時(shí)間Tr與上限Pt作比較。
[0103]當(dāng)確定處理時(shí)間Tr等于或小于上限Pt時(shí),避免單元400刪除在延遲避免標(biāo)記存儲(chǔ)單元中作為標(biāo)記寫入的“1”,并且寫入例如“O” (步驟S406)。
[0104]另一方面,當(dāng)通過步驟S403的確定操作在存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元中寫入作為標(biāo)記的數(shù)值“I”時(shí),避免單元400在存儲(chǔ)器不足避免標(biāo)記存儲(chǔ)單元中寫入作為標(biāo)記的數(shù)值“1”(步驟S407)。其后,避免單元400以每一個(gè)驗(yàn)證監(jiān)視時(shí)間間隔Ts來計(jì)算存儲(chǔ)器利用率Rm。避免單元400然后確定所計(jì)算的存儲(chǔ)器利用率Rm是否小于存儲(chǔ)器閾值Pm(步驟S408)。當(dāng)確定存儲(chǔ)器利用率Rm等于或大于存儲(chǔ)器閾值Pm時(shí),避免單元400重復(fù)計(jì)算存儲(chǔ)器利用率Rm并且將存儲(chǔ)器利用率Rm與存儲(chǔ)器閾值Pm作比較。而且,當(dāng)確定存儲(chǔ)器利用率Rm小于存儲(chǔ)器閾值Pm時(shí),避免單元400刪除在存儲(chǔ)器短缺避免標(biāo)記存儲(chǔ)單元中作為標(biāo)記寫入的“1”,并且寫入例如“O”(步驟S409)。
[0105]注意,當(dāng)在步驟S403中在延遲標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元兩者中寫入標(biāo)記“I”時(shí),避免單元400并行執(zhí)行從步驟S404至S406的操作和從步驟S407至S409的操作。
[0106]其后,避免單元400確定是否在延遲避免標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足避免標(biāo)記存儲(chǔ)單元兩者中未寫入作為標(biāo)記的“I”(是否沒有標(biāo)記)(步驟S410)。換句話說,避免單元400確認(rèn)消除了故障有可能出現(xiàn)的狀態(tài)(故障相關(guān)狀態(tài))。避免單元400然后釋放故障避免狀態(tài)(步驟S411)。換句話說,避免單元400將最大線程數(shù)量和線程處理時(shí)間間隔恢復(fù)到原始數(shù)值。避免單元400然后刪除在延遲標(biāo)記存儲(chǔ)單元和存儲(chǔ)器不足標(biāo)記存儲(chǔ)單元中作為標(biāo)記寫入的“ I ”,并且寫入例如“O”。
[0107]以這種方式,避免單元400執(zhí)行與故障避免處理相關(guān)的操作。
[0108]如上所述配置第四示例性實(shí)施例的服務(wù)器裝置10。也能夠在該第四示例性實(shí)施例的服務(wù)器裝置中達(dá)到與第一至第三示例性實(shí)施例的信息處理裝置相同的效果。
[0109][第五示例性實(shí)施例]
[0110]以下,描述第五實(shí)施例。注意,在該第五示例性實(shí)施例中,向具有與在第四示例性實(shí)施例中相同的名稱的部分附加相同的附圖標(biāo)記,并且省略那些共同部分的重復(fù)說明。
[0111]在該第五示例性實(shí)施例中,避免單元400執(zhí)行故障避免處理的條件與在第四示例性實(shí)施例中不同。具體地說,在第四示例性實(shí)施例中,避免單元400當(dāng)檢測(cè)出在線程12的處理中的延遲或存儲(chǔ)器不足時(shí)執(zhí)行故障避免處理。相反,在該第五示例性實(shí)施例中,避免單元400僅當(dāng)在預(yù)定時(shí)間(例如,100秒)內(nèi)檢測(cè)和確認(rèn)在線程12的處理時(shí)間的延遲和存儲(chǔ)器不足時(shí)執(zhí)行故障避免處理。
[0112]除了上面之外服務(wù)器裝置10的配置與第四示例性實(shí)施例的服務(wù)器裝置10的相同。也能夠在該第五示例性實(shí)施例的服務(wù)器裝置10中獲得與第四示例性實(shí)施例的服務(wù)器裝置10相同的效果。
[0113]實(shí)施例的以前的說明被提供來使得本領(lǐng)域內(nèi)的技術(shù)人員能夠制造和使用本發(fā)明。而且,對(duì)于這些示例性實(shí)施例的各種修改對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員容易清楚,并且,在此限定的一般原理和具體示例可以被應(yīng)用到其它實(shí)施例,而不用創(chuàng)造性的勞動(dòng)。因此,本發(fā)明不意欲限于在此所述的示例性實(shí)施例,并且要符合由權(quán)利要求和等同物限制限定的最寬范圍。
[0114]而且,注意,本發(fā)明人的意愿是保留所要求保護(hù)的發(fā)明的所有等同物,即使在進(jìn)行期間修改了權(quán)利要求。
[0115]有可能也如在下面的補(bǔ)充說明中描述上述示例性實(shí)施例的一部分或全部;然而,它們不限于下面的部分。
[0116](補(bǔ)充說明I)
[0117]一種信息處理裝置,包括:
[0118]當(dāng)執(zhí)行程序時(shí)產(chǎn)生并且作為程序的執(zhí)行單位的進(jìn)程;
[0119]在所述進(jìn)程中產(chǎn)生并且作為所述進(jìn)程的處理單位的多個(gè)線程;以及
[0120]故障應(yīng)對(duì)單元,
[0121]并且進(jìn)一步包括:
[0122]線程開始時(shí)間存儲(chǔ)單元,其存儲(chǔ)彼此相關(guān)聯(lián)的線程標(biāo)識(shí)信息和處理開始時(shí)間信息,所述線程標(biāo)識(shí)信息識(shí)別所述線程的每一個(gè),所述處理開始時(shí)間信息指示由所述線程標(biāo)識(shí)信息指定的線程開始處理的時(shí)間;
[0123]最大線程數(shù)量存儲(chǔ)單元,其存儲(chǔ)作為最大線程數(shù)量的值,所述值指示能夠當(dāng)在所述進(jìn)程中需要超過預(yù)定數(shù)量的數(shù)量的所述線程的產(chǎn)生時(shí)能夠產(chǎn)生的所述線程的最大數(shù)量;以及
[0124]處理間隔存儲(chǔ)單元,其存儲(chǔ)作為處理間隔的值,所述值指示從所述形成完成處理的時(shí)間至是形成變得處于能夠執(zhí)行隨后的處理的狀態(tài)中的時(shí)間的時(shí)間段,其中
[0125]所述故障應(yīng)對(duì)單元包括:
[0126]避免單元;以及
[0127]延遲檢測(cè)單元,其具有下述功能,所述功能用于當(dāng)所述線程的任何個(gè)完成處理時(shí),基于當(dāng)前時(shí)間和與所述線程的所述線程標(biāo)識(shí)信息相關(guān)聯(lián)地存儲(chǔ)的所述處理開始時(shí)間信息來計(jì)算所述處理所花費(fèi)的時(shí)間,并且
[0128]所述避免單元執(zhí)行故障避免處理,所述故障避免處理在當(dāng)所述線程的任何個(gè)完成處理時(shí)由所述延遲檢測(cè)單元計(jì)算的處理時(shí)間等于或大于預(yù)定第一時(shí)間的情況下,將在所述最大線程數(shù)量存儲(chǔ)單元中存儲(chǔ)的所述最大線程數(shù)量從預(yù)定第一值改變?yōu)樾∮谒龅谝恢档念A(yù)定第二值,并且將在所述處理間隔存儲(chǔ)單元中存儲(chǔ)的所述處理間隔從預(yù)定第三值改變?yōu)榇笥谒龅谌档念A(yù)定第四值。
[0129](補(bǔ)充說明2)
[0130]一種信息處理裝置,包括:
[0131]當(dāng)執(zhí)行程序時(shí)產(chǎn)生并且作為程序的執(zhí)行單位的進(jìn)程;
[0132]在所述進(jìn)程中產(chǎn)生并且作為所述進(jìn)程的處理單位的多個(gè)線程;以及
[0133]故障應(yīng)對(duì)單元,
[0134]并且進(jìn)一步包括:
[0135]線程總數(shù)存儲(chǔ)單元,其存儲(chǔ)指示屬于所述進(jìn)程的線程的總數(shù)的值;
[0136]線程開始時(shí)間存儲(chǔ)單元,其存儲(chǔ)彼此相關(guān)聯(lián)的線程標(biāo)識(shí)信息和處理開始時(shí)間信息,所述線程標(biāo)識(shí)信息識(shí)別所述線程,所述處理開始時(shí)間信息指示由所述線程標(biāo)識(shí)信息指定的線程開始處理的時(shí)間;
[0137]最大線程數(shù)量存儲(chǔ)單元,其存儲(chǔ)作為最大線程數(shù)量的值,所述值指示能夠當(dāng)在所述進(jìn)程中需要超過預(yù)定數(shù)量的數(shù)量的線程的產(chǎn)生時(shí)能夠產(chǎn)生的線程的最大數(shù)量;
[0138]處理間隔存儲(chǔ)單元,其存儲(chǔ)作為處理間隔的值,所述值指示從所述線程完成處理的時(shí)間至是線程變得處于能夠執(zhí)行隨后的處理的狀態(tài)中的時(shí)間的時(shí)間段;以及
[0139]等待線程數(shù)量存儲(chǔ)單元,其存儲(chǔ)作為等待線程的數(shù)量的值,所述值指示等待準(zhǔn)備隨后的處理的線程的數(shù)量,其中
[0140]所述故障應(yīng)對(duì)單元包括:
[0141]避免單元;以及
[0142]延遲檢測(cè)單元,其設(shè)有下述功能:當(dāng)所述任何線程完成處理時(shí),基于當(dāng)前時(shí)間和在所述線程開始時(shí)間存儲(chǔ)單元中與標(biāo)識(shí)所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián)地存儲(chǔ)的處理開始時(shí)間信息來計(jì)算所述處理所花費(fèi)的時(shí)間;以及,當(dāng)所述任何線程完成處理時(shí),計(jì)算作為等待線程比的在所述等待線程數(shù)量存儲(chǔ)單元中存儲(chǔ)的等待線程的數(shù)量相對(duì)于在所述線程總數(shù)存儲(chǔ)單元中存儲(chǔ)的線程的總數(shù)的比率;并且
[0143]所述避免單元執(zhí)行故障避免處理,所述故障避免處理在當(dāng)所述任何線程完成處理時(shí)由所述延遲檢測(cè)單元計(jì)算的線程處理時(shí)間等于或大于預(yù)定第一時(shí)間,并且當(dāng)所述任何線程完成處理時(shí)由所述延遲檢測(cè)單元計(jì)算的等待線程比小于預(yù)定值的情況下,將在所述最大線程數(shù)量存儲(chǔ)單元中存儲(chǔ)的最大線程數(shù)量從預(yù)定第一值改變?yōu)樾∮谒龅谝恢档念A(yù)定第二值,并且將在所述處理間隔存儲(chǔ)單元中存儲(chǔ)的處理間隔從預(yù)定第三值改變?yōu)榇笥谒龅谌档念A(yù)定第四值。
[0144](補(bǔ)充說明3)
[0145]根據(jù)補(bǔ)充說明I或2所述的信息處理裝置,其中
[0146]所述避免單元在所述故障避免處理的執(zhí)行后,在當(dāng)所述任何線程完成數(shù)量時(shí)所述處理時(shí)間等于或小于比所述第一時(shí)間更短的預(yù)定第二時(shí)間的情況下,執(zhí)行恢復(fù)處理,所述恢復(fù)處理將在所述最大線程數(shù)量存儲(chǔ)單元中存儲(chǔ)的最大線程數(shù)量從所述第二值改變?yōu)樗龅谝恢?,并且將在所述處理間隔存儲(chǔ)單元中存儲(chǔ)的處理間隔從所述第四值改變?yōu)樗龅谌怠?br> [0147](補(bǔ)充說明4)
[0148]一種信息處理裝置,包括:
[0149]當(dāng)執(zhí)行程序時(shí)產(chǎn)生并且作為程序的執(zhí)行單位的進(jìn)程;
[0150]在所述進(jìn)程中產(chǎn)生并且作為所述進(jìn)程的處理單位的多個(gè)線程;以及
[0151]故障應(yīng)對(duì)單元;以及
[0152]存儲(chǔ)單元,其包括向所述進(jìn)程分配的存儲(chǔ)區(qū)域,其中
[0153]所述存儲(chǔ)單元存儲(chǔ):
[0154]分配容量,其是在向所述進(jìn)程分配的在所述存儲(chǔ)單元內(nèi)的存儲(chǔ)區(qū)域的容量;
[0155]存儲(chǔ)器使用量,其是被所述進(jìn)程在使用的存儲(chǔ)區(qū)域的容量;
[0156]最大線程數(shù)量,其是用于指示能夠被所述進(jìn)程產(chǎn)生的線程的最大數(shù)量的值;以及
[0157]處理間隔,其是從所述線程完成處理的時(shí)間至所述線程變得處于能夠執(zhí)行隨后的處理的狀態(tài)中的時(shí)間的時(shí)間段,
[0158]所述故障應(yīng)對(duì)單元包括:
[0159]避免單元;以及
[0160]存儲(chǔ)器不足檢測(cè)單元,其設(shè)有下述功能,所述功能計(jì)算作為所述存儲(chǔ)器使用量相對(duì)于所述分配容量的比率的存儲(chǔ)器利用率,并且
[0161]所述避免單元執(zhí)行故障避免處理,在存儲(chǔ)器不足存儲(chǔ)單元在每個(gè)預(yù)定第一時(shí)間間隔中計(jì)算存儲(chǔ)器利用率,并且當(dāng)所述計(jì)算的存儲(chǔ)器利用率變得等于或大于預(yù)定第一值時(shí),所述存儲(chǔ)器不足檢測(cè)單元在比所述第一時(shí)間間隔更短的每個(gè)預(yù)定第二時(shí)間間隔中開始計(jì)算所述存儲(chǔ)器利用率,并且所述存儲(chǔ)器利用率在預(yù)定時(shí)間段經(jīng)過之前不變得等于或小于比所述第一值更大的預(yù)定第二值的情況下,所述故障避免處理將所述進(jìn)程的最大線程數(shù)量從預(yù)定第三值改變?yōu)樾∮谒龅谌档念A(yù)定第四值,并且將所述線程的處理間隔從預(yù)定第五值改變?yōu)榇笥谒龅谖逯档念A(yù)定第六值。
[0162](補(bǔ)充說明5)
[0163]根據(jù)補(bǔ)充說明4所述的信息處理裝置,其中
[0164]所述避免單元執(zhí)行恢復(fù)處理,在所述存儲(chǔ)器不足檢測(cè)單元執(zhí)行所述故障避免處理的執(zhí)行后在所述第二時(shí)間間隔的每一個(gè)中計(jì)算所述存儲(chǔ)器利用率,并且該所計(jì)算的存儲(chǔ)器利用率變得小于所述第一值的情況下,所述恢復(fù)處理將所述進(jìn)程的最小線程數(shù)量從所述第四值改變?yōu)樗龅谌担⑶覍⑺鼍€程的處理間隔從所述第六值改變?yōu)樗龅谖逯怠?br> [0165](補(bǔ)充說明6)
[0166]—種信息處理裝置,包括:
[0167]當(dāng)執(zhí)行程序時(shí)產(chǎn)生并且作為程序的執(zhí)行單位的進(jìn)程;
[0168]在所述進(jìn)程中產(chǎn)生并且作為所述進(jìn)程的處理單位的多個(gè)線程;以及
[0169]故障應(yīng)對(duì)單元;以及
[0170]存儲(chǔ)單元,其包括向所述進(jìn)程分配的存儲(chǔ)區(qū)域,其中
[0171]所述存儲(chǔ)區(qū)域存儲(chǔ):
[0172]分配容量,其是在向所述進(jìn)程分配的存儲(chǔ)區(qū)域的容量;
[0173]存儲(chǔ)器使用量,其是被所述進(jìn)程在使用的存儲(chǔ)區(qū)域的容量;
[0174]處理開始時(shí)間信息,其與用于標(biāo)識(shí)所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián),并且指示由所述線程標(biāo)識(shí)信息指定的線程開始處理的時(shí)間;
[0175]最大線程數(shù)量,其是能夠被所述進(jìn)程產(chǎn)生的線程的最大數(shù)量;以及
[0176]處理間隔,其是從所述線程完成處理的時(shí)間至所述線程變得處于能夠執(zhí)行隨后的處理的狀態(tài)中的時(shí)間的時(shí)間段,
[0177]所述故障應(yīng)對(duì)單元包括:
[0178]避免單元;以及
[0179]存儲(chǔ)器不足檢測(cè)單元,其設(shè)有下述功能,所述功能計(jì)算作為所述存儲(chǔ)器使用量相對(duì)于所述進(jìn)程的分配容量的比率的存儲(chǔ)器利用率;以及
[0180]延遲檢測(cè)單元,其設(shè)有下述功能,所述功能用于當(dāng)所述任何線程完成處理時(shí),基于當(dāng)前時(shí)間和與所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián)地存儲(chǔ)的處理開始時(shí)間信息來計(jì)算所述處理所花費(fèi)的時(shí)間,并且
[0181]所述避免單元執(zhí)行故障避免處理,僅當(dāng)在預(yù)定確認(rèn)時(shí)間內(nèi)滿足下述兩個(gè)條件時(shí),所述故障避免處理將所述進(jìn)程的最大線程數(shù)量從預(yù)定第四值改變?yōu)樾∮谒龅谒闹档念A(yù)定第五值,并且將所述線程的處理間隔從預(yù)定第六值改變?yōu)榇笥谒龅诹档念A(yù)定第七值:
[0182]第一條件,當(dāng)所述線程的任何一個(gè)完成處理時(shí),所述處理時(shí)間等于或大于預(yù)定第一時(shí)間,以及
[0183]第二條件,在每一個(gè)預(yù)定第一時(shí)間間隔中計(jì)算所述存儲(chǔ)器利用率,并且當(dāng)所述計(jì)算的存儲(chǔ)器利用率變得等于或大于預(yù)定第一值時(shí),開始在比所述第一時(shí)間間隔更短的每一個(gè)預(yù)定第二時(shí)間間隔中計(jì)算所述存儲(chǔ)器利用率,并且所述存儲(chǔ)器利用率在預(yù)定時(shí)間段經(jīng)過之前不變得等于或小于比所述第一值更大的預(yù)定第二值。
[0184](補(bǔ)充說明7)
[0185]一種信息處理裝置,包括:
[0186]當(dāng)執(zhí)行程序時(shí)產(chǎn)生并且作為程序的執(zhí)行單位的進(jìn)程;
[0187]在所述進(jìn)程中產(chǎn)生并且作為所述進(jìn)程的處理單位的多個(gè)線程;以及
[0188]故障應(yīng)對(duì)單元;以及
[0189]存儲(chǔ)單元,其包括向所述進(jìn)程分配的存儲(chǔ)區(qū)域,其中
[0190]所述存儲(chǔ)單元存儲(chǔ):
[0191]屬于所述進(jìn)程的線程的總數(shù);
[0192]處理開始時(shí)間信息,其與用于標(biāo)識(shí)所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián),并且指示由所述線程標(biāo)識(shí)信息指定的線程開始處理的時(shí)間;
[0193]最大線程數(shù)量,其是能夠被所述進(jìn)程產(chǎn)生的線程的最大數(shù)量;
[0194]處理間隔,其是從所述線程完成處理的時(shí)間至所述線程變得處于能夠執(zhí)行隨后的處理的狀態(tài)中的時(shí)間的時(shí)間段,
[0195]分配容量,其是在向所述進(jìn)程分配的在所述存儲(chǔ)單元內(nèi)的存儲(chǔ)區(qū)域的容量;以及
[0196]存儲(chǔ)器使用量,其是被所述進(jìn)程在使用的存儲(chǔ)區(qū)域的容量,
[0197]所述故障應(yīng)對(duì)單元包括:
[0198]避免單元;以及
[0199]存儲(chǔ)器不足檢測(cè)單元,其設(shè)有下述功能,所述功能計(jì)算作為所述存儲(chǔ)器使用量相對(duì)于在所述進(jìn)程中的分配容量的比率的存儲(chǔ)器利用率;以及
[0200]延遲檢測(cè)單元,其設(shè)有下述功能:當(dāng)所述任何線程完成處理時(shí),基于當(dāng)前時(shí)間和與所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián)的處理開始時(shí)間信息來計(jì)算所述處理所花費(fèi)的時(shí)間;以及當(dāng)所述任何線程完成處理時(shí),計(jì)算作為等待線程比的、等待準(zhǔn)備隨后的處理的線程的數(shù)量相對(duì)于在所述進(jìn)程中產(chǎn)生的線程的數(shù)量的比率,并且
[0201]所述避免單元執(zhí)行故障避免處理,僅當(dāng)在預(yù)定確認(rèn)時(shí)間內(nèi)滿足下述兩個(gè)條件時(shí),所述故障避免處理將所述進(jìn)程的最大線程數(shù)量從預(yù)定第四值改變?yōu)樾∮谒龅谒闹档念A(yù)定第五值,并且將所述線程的處理間隔從預(yù)定第六值改變?yōu)榇笥谒龅诹档念A(yù)定第七值:
[0202]第一條件,當(dāng)所述線程的任何一個(gè)完成處理時(shí),所述處理所花費(fèi)的處理時(shí)間等于或大于預(yù)定第一時(shí)間,并且所述等待線程比小于預(yù)定第一值,以及
[0203]第二條件,所述存儲(chǔ)器不足檢測(cè)單元在每一個(gè)預(yù)定第一時(shí)間間隔中計(jì)算所述存儲(chǔ)器利用率,并且當(dāng)該計(jì)算的存儲(chǔ)器利用率變得等于或大于預(yù)定第二值時(shí),所述存儲(chǔ)器不足檢測(cè)單元開始在比所述第一時(shí)間間隔更短的每個(gè)預(yù)定第二時(shí)間間隔中計(jì)算所述存儲(chǔ)器利用率,并且所述存儲(chǔ)器利用率在預(yù)定時(shí)間段經(jīng)過之前不變得等于或小于比所述第二值更大的預(yù)定第三值。
[0204](補(bǔ)充說明8)
[0205]根據(jù)補(bǔ)充說明6或7所述的信息處理裝置,其中
[0206]所述避免單元在所述故障避免處理的執(zhí)行后執(zhí)行恢復(fù)處理,僅當(dāng)滿足下述兩個(gè)條件時(shí),所述恢復(fù)處理將所述進(jìn)程的最大線程數(shù)量從所述第五值改變?yōu)樗龅谒闹?,并且將所述線程的處理間隔從所述第七值改變?yōu)樗龅诹?
[0207]第三條件,當(dāng)屬于所述進(jìn)程的線程的任何一個(gè)完成處理時(shí),對(duì)于所述處理花費(fèi)的處理時(shí)間等于或小于比所述第一時(shí)間更短的預(yù)定第二時(shí)間,以及
[0208]第四條件,所述存儲(chǔ)器不足檢測(cè)單元在所述第二時(shí)間間隔的每一個(gè)中計(jì)算所述存儲(chǔ)器利用率,并且該計(jì)算的存儲(chǔ)器利用率小于所述第一值。
[0209](補(bǔ)充說明9)
[0210]一種故障避免方法,包括:
[0211]當(dāng)執(zhí)行程序時(shí),產(chǎn)生作為所述程序的執(zhí)行單位的進(jìn)程;
[0212]產(chǎn)生屬于所述進(jìn)程并且作為所述進(jìn)程的執(zhí)行單位的多個(gè)線程;
[0213]當(dāng)所述任何線程完成處理時(shí),基于當(dāng)前時(shí)間和與用于標(biāo)識(shí)所述線程的線程標(biāo)識(shí)信息相關(guān)聯(lián)并且被存儲(chǔ)在存儲(chǔ)單元中的處理開始時(shí)間信息來計(jì)算對(duì)于所述處理所花費(fèi)的處理時(shí)間;
[0214]當(dāng)所述任何線程完成處理時(shí),計(jì)算作為等待線程比的、在等待準(zhǔn)備隨后處理的線程的數(shù)量相對(duì)于屬于所述進(jìn)程的線程的總數(shù)的比率;并且
[0215]當(dāng)所述計(jì)算的處理時(shí)間等于或大于預(yù)定時(shí)間,并且等待線程比小于預(yù)定值時(shí),將所述進(jìn)程的最大線程數(shù)量改變得更小,并且將所述進(jìn)程的處理間隔改變得更長(zhǎng)。
[0216](補(bǔ)充說明10)
[0217]一種故障避免方法,包括:
[0218]當(dāng)執(zhí)行程序時(shí),產(chǎn)生作為所述程序的執(zhí)行單位的進(jìn)程;
[0219]在每一個(gè)預(yù)定第一時(shí)間間隔中計(jì)算存儲(chǔ)器利用率,所述存儲(chǔ)器利用率是作為在被使用的存儲(chǔ)容量的存儲(chǔ)器使用量相對(duì)于向所述進(jìn)程分配的存儲(chǔ)區(qū)域的存儲(chǔ)容量的比率;
[0220]在當(dāng)所述存儲(chǔ)器利用率變得等于或大于預(yù)定第一值,并且所述存儲(chǔ)器利用率在預(yù)定時(shí)間段經(jīng)過之前不變得等于或小于大于所述第一值的預(yù)定第二值時(shí)開始在比所述第一時(shí)間間隔更短的每一個(gè)預(yù)定第二時(shí)間間隔中開始計(jì)算所述存儲(chǔ)器利用率的情況下,將能夠?qū)儆谒鲞M(jìn)程的線程的最大數(shù)量改變得更小,并且將從所述線程完成處理的時(shí)間至所述線程變得處于能夠執(zhí)行隨后處理的狀態(tài)中的時(shí)間的處理間隔改變得更長(zhǎng)。
【權(quán)利要求】
1.一種信息處理裝置,包括: 檢測(cè)單元,所述檢測(cè)單元基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,來檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及 避免單元,當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),所述避免單元執(zhí)行故障避免處理,所述故障避免處理:將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低到小于所述標(biāo)準(zhǔn)值的極限值,并且將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,其中, 當(dāng)所述線程的處理時(shí)間被延遲了預(yù)定的延遲閾值或更多時(shí),所述檢測(cè)單元檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài)。
3.根據(jù)權(quán)利要求1所述的信息處理裝置,其中, 當(dāng)所述存儲(chǔ)器容量的利用率升高到預(yù)定的存儲(chǔ)器閾值或更多時(shí),所述檢測(cè)單元檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài)。
4.根據(jù)權(quán)利要求1所述的信息處理裝置,其中, 所述檢測(cè)單元進(jìn)一步包括以下功能:當(dāng)檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài)時(shí),監(jiān)視所述線程的處理時(shí)間或者所述存儲(chǔ)器容量的利用率,并且基于監(jiān)視結(jié)果來驗(yàn)證所述檢測(cè)是否正確,并且 當(dāng)將其中所述故障有可能出現(xiàn)的狀態(tài)確認(rèn)為通過所述檢測(cè)單元的驗(yàn)證的結(jié)果時(shí),所述避免單元執(zhí)行所述故障避免處理。
5.根據(jù)權(quán)利要求4所述的信息處理裝置,其中, 當(dāng)存在由所述進(jìn)程產(chǎn)生并且屬于所述進(jìn)程的多個(gè)所述線程時(shí),并且當(dāng)要驗(yàn)證基于所述線程的處理時(shí)間的所述檢測(cè)時(shí),所述檢測(cè)單元在預(yù)定的延遲驗(yàn)證時(shí)間段監(jiān)視所述線程中的每一個(gè)線程的處理時(shí)間,將正在等待的所述線程的數(shù)量相對(duì)于屬于所述進(jìn)程的所述線程的總數(shù)的比率計(jì)算作為等待率,并且基于所述線程中的每一個(gè)線程的處理時(shí)間和所述等待率來驗(yàn)證所述檢測(cè)。
6.根據(jù)權(quán)利要求4所述的信息處理裝置,其中, 當(dāng)通過在每一個(gè)預(yù)定的時(shí)間間隔中獲取到的所述存儲(chǔ)器容量的利用率升高到存儲(chǔ)器閾值或升高到更多的事實(shí)而檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài)時(shí),并且當(dāng)要驗(yàn)證所述檢測(cè)時(shí),所述檢測(cè)單元在比其中獲取到所述存儲(chǔ)器容量的利用率的時(shí)間間隔短的每一個(gè)時(shí)間間隔中來獲取所述存儲(chǔ)器容量的利用率,并且基于所獲取的存儲(chǔ)器容量的利用率來驗(yàn)證所述檢測(cè)。
7.根據(jù)權(quán)利要求1所述的信息處理裝置,其中, 當(dāng)通過所述檢測(cè)單元基于所述存儲(chǔ)器容量的利用率和所述線程的處理時(shí)間中的一個(gè)來檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài),并且然后,在經(jīng)過預(yù)定時(shí)間段之前,基于所述存儲(chǔ)器容量的利用率和所述線程的處理時(shí)間中的另一個(gè)來檢測(cè)出其中所述故障有可能出現(xiàn)的狀態(tài)時(shí),所述避免單元執(zhí)行故障避免處理。
8.根據(jù)權(quán)利要求1所述的信息處理裝置,進(jìn)一步包括恢復(fù)單元,所述恢復(fù)單元: 在所述避免單元執(zhí)行所述故障避免處理后,監(jiān)視所述存儲(chǔ)器容量的利用率或者所述線程的處理時(shí)間,并且 當(dāng)作為監(jiān)視結(jié)果而檢測(cè)出預(yù)定的改善狀態(tài)時(shí),將所述線程的上限數(shù)量恢復(fù)到所述標(biāo)準(zhǔn)值,并且還將所述線程的等待時(shí)間恢復(fù)到所述標(biāo)準(zhǔn)時(shí)間。
9.一種信息處理裝置,包括: 檢測(cè)部件,所述檢測(cè)部件基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,來檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及 避免部件,當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),所述避免部件執(zhí)行故障避免處理,所述故障避免處理:將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于所述標(biāo)準(zhǔn)值的極限值,并且將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。
10.一種故障避免方法,其中: 通過計(jì)算機(jī),基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,來檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及 當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),通過計(jì)算機(jī),將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于所述標(biāo)準(zhǔn)值的極限值,并且計(jì)算機(jī)將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。
11.一種非瞬態(tài)程序存儲(chǔ)介質(zhì),所述非瞬態(tài)程序存儲(chǔ)介質(zhì)持有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行以下各處理: 基于被分配給進(jìn)程的存儲(chǔ)器容量的利用率和由線程執(zhí)行與由所述進(jìn)程接收的請(qǐng)求相對(duì)應(yīng)的處理所花費(fèi)的處理時(shí)間之一或該兩者,來檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài),所述進(jìn)程是用于在其中執(zhí)行計(jì)算機(jī)程序的單位,所述線程由所述進(jìn)程產(chǎn)生的并且是用于在其中執(zhí)行所述處理的單位;以及 當(dāng)檢測(cè)出其中故障有可能出現(xiàn)的狀態(tài)時(shí),計(jì)算機(jī)將由所述進(jìn)程產(chǎn)生并且能夠?qū)儆谒鲞M(jìn)程的線程的上限數(shù)量從標(biāo)準(zhǔn)值降低為小于所述標(biāo)準(zhǔn)值的極限值,并且將所述線程在完成處理后必須等待直到開始個(gè)別的處理的等待時(shí)間從標(biāo)準(zhǔn)時(shí)間延長(zhǎng)為長(zhǎng)于所述標(biāo)準(zhǔn)時(shí)間的擴(kuò)大時(shí)間。
【文檔編號(hào)】G06F11/00GK104516786SQ201410510736
【公開日】2015年4月15日 申請(qǐng)日期:2014年9月28日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】江間珠惠 申請(qǐng)人:日本電氣株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1