服务器进程的处理方法及装置制造方法

文档序号:6639943阅读:149来源:国知局
服务器进程的处理方法及装置制造方法
【专利摘要】本发明提供了一种服务器进程处理方法及装置。其中,该方法包括:获取服务器中至少一个进程的I/O数据;利用获取的所述I/O数据确定各进程的I/O消耗值;根据所述各进程的I/O消耗值对所述各进程进行处理。本发明实施例中能够根据各进程的I/O消耗值直接对各进程进行进程级处理,无需对进程所在服务器在服务器级进行调整处理,能够有效解决因在服务器级进行调整处理造成的影响业务运行,降低其他服务器运行速度的问题,提升用户体验。
【专利说明】服务器进程的处理方法及装置

【技术领域】
[0001]本发明涉及互联网应用领域,特别是涉及一种服务器进程处理方法及装置。

【背景技术】
[0002]在后台服务器的运行过程中,当后台服务器中的任一进程出现问题,其直接体现为该后台服务器出现报警信息,提示后台运维人员进行调整。
[0003]即现有技术中,仅能够对后台服务器进行监测,而不能够直接对后台服务器中的任一进程进行监测。当任一进程出现问题,仅能够根据后台服务器的报警信息对该进程所在的服务器直接进行处理,即在服务器级进行调整。例如,在服务器A中的运行各个进程,当各个进程中的进程X的输入输出(Input/Output,以下简称I/O)消耗值超过预设阈值,则服务器A出现报警信息。此时,现有技术中仅能够将服务器A中运行的业务分配至其他服务器,并对服务器A进行调试。即,当服务器出现报警时,不论报警的原因是服务器中单一进程的问题,或者服务器本身的问题,现有技术中仅能够对服务器进行服务器级的调整处理。而这种“大动干戈”的处理方式不仅给出现报警的服务器上运行的各个业务造成运行被迫暂停等不良影响外,还为其他分担该服务器业务的服务器造成资源运用上的压力,进一步可能影响分担业务的服务器的运行速度,降低用户体验。
[0004]综上,现有技术中仅能够监测后台服务器的运行状态,并在后台服务器出现报警信息之后,直接对服务器进行服务器级调整或者处理,容易造成影响业务运行,降低其他服务器运行速度,以及降低用户体验等多重不良后果。


【发明内容】

[0005]鉴于上述问题,本发明的实施例提出了一种服务器进程处理方法和相应的装置,以克服上述问题或者至少部分地解决上述问题。
[0006]依据本发明的一个方面,提供了一种服务器进程的处理方法,包括:获取服务器中至少一个进程的I/O数据;利用获取的所述I/O数据确定各进程的I/O消耗值;以及,根据所述各进程的I/o消耗值对所述各进程进行处理。
[0007]可选地,根据所述各进程的I/O消耗值对所述各进程进行处理的步骤进一步包括:确定所述各进程中存在I/o消耗值超过预设阈值的进程;以及,调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
[0008]可选地,所述方法进一步包括:调用报警接口对所述确定的进程执行报警处理之前,保存所述确定的进程的运行数据。
[0009]可选地,所述I/O数据包括下列至少之一:读出总字节数rchar ;写入总字节数wchar ;读操作总调用次数syscr ;写操作总调用次数syscw ;实际磁盘读取总字节数read_bytes ;实际磁盘写入总字节数 write_bytes ; cancel I ed_write_bytes,其中,所述cancelled_write_bytes为因高速缓冲存储器截断少写入的字节数。
[0010]可选地,所述利用获取的所述I/O数据确定各进程的I/O消耗值的步骤进一步包括:获取间隔第一时间的第一读操作值和第二读操作值,计算读操作值的第一差值;获取间隔第二时间的第一写操作值和第二写操作值,计算写操作值的第二差值;以及,对所述第一差值和所述第二差值进行加和,以得到所述I/o消耗值。
[0011]可选地,所述获取服务器中至少一个进程的i/o数据的步骤进一步包括:根据所述至少一个进程的进程标识符获取该进程的I/O数据。
[0012]可选地,所述方法进一步包括:利用获取的所述I/o数据确定各进程的I/O消耗值之后,对所述各进程的I/o消耗值进行排序;以及,根据预设规则对排序后的所述各进程的I/o消耗值进行显示。
[0013]可选地,所述根据预设规则对排序后的所述各进程的I/O消耗值进行显示的步骤进一步包括:显示预设个数个排序后的所述I/o消耗值;和/或,对排序后的所述I/O消耗值进行滚动显示。
[0014]依据本发明的另一方面,还提供了一种服务器进程的处理装置,包括:
[0015]获取模块,适于获取服务器中至少一个进程的I/O数据;
[0016]确定模块,适于利用获取的所述I/O数据确定各进程的I/O消耗值;
[0017]处理模块,适于根据所述各进程的I/O消耗值对所述各进程进行处理。
[0018]可选地,所述处理模块还包括:确定单元,适于确定所述各进程中存在I/O消耗值超过预设阈值的进程;处理单元,适于调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
[0019]可选地,所述处理模块还包括:保存单元,适于在所述处理单元调调用报警接口对所述确定的进程执行报警处理之前,保存所述确定的进程的运行数据。
[0020]可选地,所述I/O数据至少包括以下任意之一:读出总字节数rchar ;写入总字节数wchar ;读操作总调用次数syscr ;写操作总调用次数syscw ;实际磁盘读取总字节数read_bytes ;实际磁盘写入总字节数 write_bytes ; cancel I ed_write_bytes,其中,所述cancelled_write_bytes为因高速缓冲存储器截断少写入的字节数。
[0021]可选地,所述装置还包括:所述获取模块,还适于获取间隔第一时间的第一读操作值和第二读操作值;以及,获取间隔第二时间的第一写操作值和第二写操作值;所述确定模块,还适于根据所述第一读操作值和所述第二读操作值计算读操作值的第一差值;根据所述第一写操作值和所述第二写操作值计算写操作的第二差值;以及,对所述第一差值和所述第二差值进行加和,以得到所述I/o消耗值。
[0022]可选地,所述获取模块还适于:根据所述至少一个进程的进程标识符获取该进程的I/o数据。
[0023]可选地,所述装置还包括:显示模块,适于对所述各进程的I/O消耗值进行排序;以及,根据预设规则对排序后的所述各进程的I/o消耗值进行显示。
[0024]可选地,所述显示模块还适于:显示预设个数个排序后的所述I/O消耗值;和/或,对排序后的所述I/o消耗值进行滚动显示。
[0025]依据本发明实施例的服务器进程的处理方法,能够获取服务器中至少一个进程的I/o数据,利用获取的I/O数据确定各进程的I/O消耗值,并根据各进程的I/O消耗值对各进程进行处理,解决了现有技术中当进程出现问题,仅能够对该进程所在的服务器进行服务器级处理的问题。依据本发明实施例的服务器进程的处理方法,能够直接计算获得服务器中的各个进程的I/o消耗值,即能够直接对服务器中的各个进程的I/O消耗值进行监测。进一步,能够根据服务器中的任意进程的I/o消耗值直接对每个进程进行处理,解决现有技术中由于无法对各个进程的I/o消耗值进行监测,当进程出现报警仅能够对进程所在服务器进行服务器级调整处理的问题。本发明实施例中能够根据各进程的I/o消耗值直接在进程级对各进程进行处理,无需针对进程所在服务器在服务器级进行调整处理,能够有效解决因在服务器级进行调整处理造成的影响业务运行,降低其他服务器运行速度的问题,提升用户体验。
[0026]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0027]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

【专利附图】

【附图说明】
[0028]通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0029]图1示出了根据本发明一个实施例的服务器进程的处理流程图;
[0030]图2示出了根据本发明一个实施例的计算任一进程I/O消耗值的处理流程图;
[0031]图3示出了根据本发明一个实施例的根据各进程的I/O消耗值对各个进程进行排序的结果不意图;
[0032]图4示出了根据本发明一个实施例的服务器进程的处理装置的结构示意图;
[0033]图5示出了根据本发明另一个实施例的服务器进程的处理装置的结构示意图;
[0034]图6示出了根据本发明又一个实施例的服务器进程的处理装置的结构示意图;以及
[0035]图7示出了根据本发明再一个实施例的服务器进程的处理装置的结构示意图。

【具体实施方式】
[0036]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0037]为解决上述技术问题,本发明实施例提供了一种服务器进程的处理方法。图1示出了根据本发明一个实施例的服务器进程的处理流程图。请参考图1,该流程至少包括如下步骤:
[0038]步骤S102:获取服务器中至少一个进程的I/O数据;
[0039]步骤S104:利用获取的I/O数据确定各进程的I/O消耗值;
[0040]步骤S106:根据各进程的I/O消耗值对各进程进行处理。
[0041]依据本发明实施例的服务器进程的处理方法,能够获取服务器中至少一个进程的I/o数据,利用获取的I/O数据确定各进程的I/O消耗值,并根据各进程的I/O消耗值对各进程进行处理,解决了现有技术中当进程出现问题,仅能够对该进程所在的服务器进行服务器级处理的问题。依据本发明实施例的服务器进程的处理方法,能够直接计算获得服务器中的各个进程的I/o消耗值,即能够直接对服务器中的各个进程的I/O消耗值进行监测。进一步,能够根据服务器中的任意进程的I/o消耗值直接对每个进程进行处理,解决现有技术中由于无法对各个进程的I/o消耗值进行监测,当进程出现报警仅能够对进程所在服务器进行服务器级调整处理的问题。本发明实施例中能够根据各进程的I/o消耗值直接在进程级对各进程进行处理,无需针对进程所在服务器在服务器级进行调整处理,能够有效解决因在服务器级进行调整处理造成的影响业务运行,降低其他服务器运行速度的问题,提升用户体验。
[0042]如图1中的步骤S102所示,本发明实施例中,获取服务器中至少一个进程的I/O
数据。后台服务器的各个进程具有与其--对应的进程标识符(Process Identificat1n,
以下简称PID)。因此,为保证能够无遗漏地获取到各个进程的I/O数据,本发明实施例可以根据服务器中各个进程的进程标识符获取服务器中各个进程的I/O数据。利用PID可以获取到与该PID对应的进程的各个相关数据,例如读出总字节数rchar、写入总字节数wchar、读操作总调用次数syscr、写操作总调用次数syscw、实际磁盘读取总字节数read_bytes、实际磁盘写入总字节数write_bytes,以及cancelled_write_bytes等等。其中,cancelled_write_bytes为由于高速缓冲存储器pagecache截断导致应该发生而没有发生的写入字节数。
[0043]根据获取到的I/O数据,本发明实施例能够计算对应进程的I/O消耗值。由上文介绍可知,本发明实施例中根据进程的PID能够获取到进程的多项I/O数据。对应地,根据进程不同的I/O数据能够计算进程不同的消耗值,如进程的总I/O消耗值、进程读操作的I/O消耗值、进程的写操作I/O消耗值等等。具体地,对于任一进程,根据获取到的进程的I/O数据计算进程的I/O消耗值的流程如图2所示。请参考图2,计算各进程的I/O消耗值至少包括如下步骤:
[0044]S202:获取间隔第一时间的第一读操作值和第二读操作值,计算读操作值的第一差值;
[0045]S204:获取间隔第二时间的第一写操作值和第二写操作值,计算写操作值的第二差值;
[0046]S206:对第一差值和第二差值进行加和,得到I/O消耗值。
[0047]根据图2所示的流程计算得到服务器中各个进程的I/O消耗值之后,为保证能够根据各进程的I/o消耗值对各进程进行进程级的实时监控,以在任一进程的I/O消耗值超过预设阈值时,对对应的进程进行报警处理,本发明实施例根据服务器中各个进程的I/o消耗值对各个进程进行排序。进一步地,对排序结果进行显示。如图3示出了根据本发明一个实施例的根据各进程的I/O消耗值对各个进程进行排序的结果示意图。参见图3,在根据各个进程的I/O消耗值(如图3中的总I/O)对各个进程进行排序显示时,还可以对每一进程的读操作I/O消耗值(如图3中的I/ORead)和/或写操作I/O消耗值(如图3中的I/OWrite)进行显示,以获知每一进程更加详细具体的I/O消耗情况。另外还可以对获取各个进程的I/o数据所利用的指令(即图3中的Co_and)进行显示,以便对其进行调整。其中,kb/s(每秒的千字节数)为I/O消耗值的单位。图3所示的进程的各个I/O消耗值(包括总I/O、I/ORead以及I/OWrite)和/或PID仅为示例,不能够代表实际应用中进程的I/O消耗值和/或PID的数量级和/或具体数值。参见图3,当对服务器中各个进程的I/O消耗值进行计算,并根据计算结果对各个进程进行排序之后,通过对各个进程I/O消耗值的排序的监测,能够及时发现I/O消耗值超过阈值的进程,进而直接在进程级对超过阈值的进程进行处理,避免由于存在I/o消耗值超过预设阈值的进程导致在服务器级进行的调整和/或处理。本发明实施例中,通过在进程级对进程进行处理替换现有技术中在服务器级对服务器进行处理,能够有效解决在服务器级进行处理对业务运行造成不良影响的问题。
[0048]需要说明的是,本发明实施例中,可以根据对进程的不同监测情况以不同的方式对各个进程的排序结果进行显示。例如,对各个进程的排序结果进行滚动显示,以获知全部进程中任一进程的I/O消耗值。再例如,在对各个进程的排序结果中提取预设数目个进程进行显示。例如,可以仅仅对前10个I/O消耗值较大的进程进行显示,以告知当前运行的各个进程中,I/O消耗值较大的各个进程的情况。
[0049]另外,为保证能够对服务器中各个进程的I/O消耗情况进行更加具有可视性的展示,本发明实施例中,还可以根据计算得到的I/o消耗值进行进一步的数据统计和/或数据分析和/或数据计算。例如,根据各个进程的I/o消耗值计算得到任一进程的I/O消耗值占总I/o消耗值的比重等。
[0050]除上文介绍的根据各进程的I/O消耗值对各进程进行排序显示之外,本发明实施例可以设置各个服务器中进程I/o消耗值的预设阈值。在对服务器中各个进程的I/O消耗值进行计算之后,确定各进程中是否存在I/o消耗值超过预设阈值的进程。若存在,针对I/o消耗值超过预设阈值的进程,执行报警处理。具体地,针对I/O消耗值超过预设阈值的进程执行的报警处理可以是直接关闭进程或者暂停进程,还可以是提示当前进程可以被关闭。为避免直接对进程进行关闭和/或暂停导致进程运行资料的丢失,造成对业务正常运行的不良影响,本发明实施例还可以再对进程执行报警处理之前,预先保存进程的运行数据。在进程的运行数据保存完毕之后,调用报警接口对进程执行报警处理。若因为任一进程需要关闭或暂停,直接对该进程所在服务器进行服务器级的调整处理,可能导致该服务器中各个进程的运行资料均出现丢失的情况,进而影响各个进程对应的业务的运行。而依据本发明实施例的服务器进程的处理方法,在进程级保存需要关闭或暂停的进程的运行资料后,对该进程进行处理,因此能够有效避免在服务器级对服务器进行调整处理对业务的不良影响,提升用户体验。
[0051]基于上文各实施例提供的服务器进程的处理方法,本发明实施例提供了一种服务器进程的处理装置,以实现服务器进程的处理方法。图4示出了根据本发明一个实施例的服务器进程的处理装置的结构示意图。请参考图4,本发明实施例的服务器进程的处理装置至少包括获取模块410、确定模块420以及处理模块430。
[0052]现介绍本发明实施例的服务器进程的处理装置的各器件或组成的功能以及各部分间的连接关系:
[0053]获取模块410:适于获取服务器中至少一个进程的I/O数据;
[0054]确定模块420:与获取模块410相耦合,适于利用获取的I/O数据确定各进程的I/O消耗值;
[0055]处理模块430:与确定模块420相耦合,适于根据各进程的I/O消耗值对各进程进行处理。
[0056]图5示出了根据本发明另一个实施例的服务器进程的处理装置的结构示意图。请一并参考图4及图5,相对比图4,本发明实施例的处理模块430(图5所示)还包括:
[0057]确定单元431:适于确定各进程中存在I/O消耗值超过预设阈值的进程;
[0058]处理单元432:适于调用报警接口对确定的进程执行报警处理,其中,报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
[0059]图6示出了根据本发明又一个实施例的服务器进程的处理装置的结构示意图。请一并参考图5以及图6,相对比图5,本发明实施例中的处理模块430(图6所示)还包括:
[0060]保存单元433,与确定单元431以及处理单元432分别耦合,适于在处理单元调调用报警接口对确定的进程执行报警处理之前,保存确定的进程的运行数据。
[0061]在另一个实施例中,I/O数据至少包括以下任意之一:读出总字节数rchar ;写入总字节数wchar ;读操作总调用次数syscr ;写操作总调用次数syscw ;实际磁盘读取总字节数 read_bytes ;实际磁盘写入总字节数 write_bytes ;cancelled_write_bytes,其中,cancelled_write_bytes为因高速缓冲存储器截断少写入的字节数。
[0062]在另一个实施例中,获取模块410还适于:
[0063]获取间隔第一时间的第一读操作值和第二读操作值;以及
[0064]获取间隔第二时间的第一写操作值和第二写操作值;
[0065]确定模块420还适于:
[0066]根据第一读操作值和第二读操作值计算读操作值的第一差值;
[0067]根据第一写操作值和第二写操作值计算写操作的第二差值;以及
[0068]对第一差值和第二差值进行加和,以得到I/O消耗值。
[0069]在另一个实施例中,获取模块410还适于:
[0070]根据至少一个进程的进程标识符PID获取该进程的I/O数据。
[0071]图7示出了根据本发明再一个实施例的服务器进程的处理装置的结构示意图。请一并参考图4及图7,相对比图4,本发明实施例中的服务器进程的处理装置(图7所示)还包括:
[0072]显示模块440:与确定模块420相耦合,适于对各进程的I/O消耗值进行排序;以及
[0073]根据预设规则对排序后的各进程的I/O消耗值进行显示。
[0074]在另一个实施例中,显示模块240还适于:显示预设个数个排序后的I/O消耗值;和/或,对排序后的I/o消耗值进行滚动显示。
[0075]根据上述任意一个实施例或多个实施例的组合,本发明实施例能够达到如下有益效果:
[0076]依据本发明实施例的服务器进程的处理方法,能够获取服务器中至少一个进程的I/o数据,利用获取的I/O数据确定各进程的I/O消耗值,并根据各进程的I/O消耗值对各进程进行处理,解决了现有技术中当进程出现问题,仅能够对该进程所在的服务器进行服务器级处理的问题。依据本发明实施例的服务器进程的处理方法,能够直接计算获得服务器中的各个进程的I/o消耗值,即能够直接对服务器中的各个进程的I/O消耗值进行监测。进一步,能够根据服务器中的任意进程的I/o消耗值直接对每个进程进行处理,解决现有技术中由于无法对各个进程的I/o消耗值进行监测,当进程出现报警仅能够对进程所在服务器进行服务器级调整处理的问题。本发明实施例中能够根据各进程的I/o消耗值直接在进程级对各进程进行处理,无需针对进程所在服务器在服务器级进行调整处理,能够有效解决因在服务器级进行调整处理造成的影响业务运行,降低其他服务器运行速度的问题,提升用户体验。
[0077]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0078]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0079]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0080]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0081 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置或者设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0082]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0083]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
[0084]本发明还公开了 Al.—种服务器进程的处理方法,包括:
[0085]获取服务器中至少一个进程的I/O数据;
[0086]利用获取的所述I/O数据确定各进程的I/O消耗值;以及
[0087]根据所述各进程的I/O消耗值对所述各进程进行处理。
[0088]A2.根据Al所述的方法,其中,根据所述各进程的I/O消耗值对所述各进程进行处理的步骤进一步包括:
[0089]确定所述各进程中存在I/O消耗值超过预设阈值的进程;以及
[0090]调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
[0091]A3.根据A2所述的方法,其中,所述方法进一步包括:
[0092]调用报警接口对所述确定的进程执行报警处理之前,保存所述确定的进程的运行数据。
[0093]A4.根据Al至A3任一项所述的方法,其中,所述I/O数据包括下列至少之一:读出总字节数rchar ;写入总字节数wchar ;读操作总调用次数syscr ;写操作总调用次数syscw ;实际磁盘读取总字节数read_bytes ;实际磁盘写入总字节数write_bytes ;cancelled_write_bytes,其中,所述cancelled_write_bytes为因高速缓冲存储器截断少写入的字节数。
[0094]A5.根据A4所述的方法,其中,所述利用获取的所述I/O数据确定各进程的I/O消耗值的步骤进一步包括:
[0095]获取间隔第一时间的第一读操作值和第二读操作值,计算读操作值的第一差值;
[0096]获取间隔第二时间的第一写操作值和第二写操作值,计算写操作值的第二差值;以及
[0097]对所述第一差值和所述第二差值进行加和,以得到所述I/O消耗值。
[0098]A6.根据Al至A5任一项所述的方法,其中,所述获取服务器中至少一个进程的I/O数据的步骤进一步包括:
[0099]根据所述至少一个进程的进程标识符获取该进程的I/O数据。
[0100]A7.根据Al至A6任一项所述的方法,其中,所述方法进一步包括:
[0101]利用获取的所述I/O数据确定各进程的I/O消耗值之后,
[0102]对所述各进程的I/O消耗值进行排序;以及
[0103]根据预设规则对排序后的所述各进程的I/O消耗值进行显示。
[0104]AS.根据A7所述的方法,其中,所述根据预设规则对排序后的所述各进程的I/O消耗值进行显示的步骤进一步包括:
[0105]显示预设个数个排序后的所述I/O消耗值;和/或
[0106]对排序后的所述I/O消耗值进行滚动显示。
[0107]本发明还公开了 B9.—种服务器进程的处理装置,包括:
[0108]获取模块,适于获取服务器中至少一个进程的I/O数据;
[0109]确定模块,适于利用获取的所述I/O数据确定各进程的I/O消耗值;
[0110]处理模块,适于根据所述各进程的I/O消耗值对所述各进程进行处理。
[0111]B10.根据B9所述的装置,其中,所述处理模块还包括:
[0112]确定单元,适于确定所述各进程中存在I/O消耗值超过预设阈值的进程;
[0113]处理单元,适于调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
[0114]Bll.根据BlO所述的装置,其中,所述处理模块还包括:
[0115]保存单元,适于在所述处理单元调调用报警接口对所述确定的进程执行报警处理之前,保存所述确定的进程的运行数据。
[0116]B12.根据B9至Bll任一项所述的装置,其中,所述I/O数据至少包括以下任意之一:读出总字节数rchar ;写入总字节数wchar ;读操作总调用次数syscr ;写操作总调用次数syscw ;实际磁盘读取总字节数read_bytes ;实际磁盘写入总字节数write_bytes ;cancelled_write_bytes,其中,所述cancelled_write_bytes为因高速缓冲存储器截断少写入的字节数。
[0117]B13.根据B12所述的装置,其中,所述装置还包括:
[0118]所述获取模块,还适于获取间隔第一时间的第一读操作值和第二读操作值;以及
[0119]获取间隔第二时间的第一写操作值和第二写操作值;
[0120]所述确定模块,还适于根据所述第一读操作值和所述第二读操作值计算读操作值的第一差值;
[0121]根据所述第一写操作值和所述第二写操作值计算写操作的第二差值;以及
[0122]对所述第一差值和所述第二差值进行加和,以得到所述I/O消耗值。
[0123]B14.根据B9至B13任一项所述的装置,其中,所述获取模块还适于:
[0124]根据所述至少一个进程的进程标识符获取该进程的I/O数据。
[0125]B15.根据B9至B14任一项所述的装置,其中,所述装置还包括:
[0126]显示模块,适于对所述各进程的I/O消耗值进行排序;以及
[0127]根据预设规则对排序后的所述各进程的I/O消耗值进行显示。
[0128]B16.根据B15所述的装置,其中,所述显示模块还适于:
[0129]显示预设个数个排序后的所述I/O消耗值;和/或
[0130]对排序后的所述I/O消耗值进行滚动显示。
【权利要求】
1.一种服务器进程的处理方法,包括: 获取服务器中至少一个进程的I/o数据; 利用获取的所述I/o数据确定各进程的I/O消耗值;以及 根据所述各进程的I/o消耗值对所述各进程进行处理。
2.根据权利要求1所述的方法,其中,根据所述各进程的I/O消耗值对所述各进程进行处理的步骤进一步包括: 确定所述各进程中存在I/o消耗值超过预设阈值的进程;以及调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
3.根据权利要求2所述的方法,其中,所述方法进一步包括: 调用报警接口对所述确定的进程执行报警处理之前,保存所述确定的进程的运行数据。
4.根据权利要求1至3任一项所述的方法,其中,所述I/O数据包括下列至少之一: 读出总字节数rchar ; 写入总字节数wchar ; 读操作总调用次数syscr ; 写操作总调用次数syscw; 实际磁盘读取总字节数read_bytes ; 实际磁盘写入总字节数write_bytes ; cancelled_write_bytes,其中,所述 cancelled_write_bytes 为因高速缓冲存储器截断少写入的字节数。
5.根据权利要求4所述的方法,其中,所述利用获取的所述I/O数据确定各进程的I/O消耗值的步骤进一步包括: 获取间隔第一时间的第一读操作值和第二读操作值,计算读操作值的第一差值; 获取间隔第二时间的第一写操作值和第二写操作值,计算写操作值的第二差值;以及 对所述第一差值和所述第二差值进行加和,以得到所述I/o消耗值。
6.根据权利要求1至5任一项所述的方法,其中,所述获取服务器中至少一个进程的I/o数据的步骤进一步包括: 根据所述至少一个进程的进程标识符获取该进程的I/o数据。
7.根据权利要求1至6任一项所述的方法,其中,所述方法进一步包括: 利用获取的所述I/o数据确定各进程的I/O消耗值之后, 对所述各进程的I/o消耗值进行排序;以及 根据预设规则对排序后的所述各进程的I/o消耗值进行显示。
8.根据权利要求7所述的方法,其中,所述根据预设规则对排序后的所述各进程的I/O消耗值进行显示的步骤进一步包括: 显示预设个数个排序后的所述I/O消耗值;和/或 对排序后的所述I/O消耗值进行滚动显示。
9.一种服务器进程的处理装置,包括: 获取模块,适于获取服务器中至少一个进程的I/O数据; 确定模块,适于利用获取的所述I/o数据确定各进程的I/O消耗值; 处理模块,适于根据所述各进程的I/o消耗值对所述各进程进行处理。
10.根据权利要求9所述的装置,其中,所述处理模块还包括: 确定单元,适于确定所述各进程中存在I/o消耗值超过预设阈值的进程; 处理单元,适于调用报警接口对所述确定的进程执行报警处理,其中,所述报警处理包括以下至少之一的操作:关闭进程、暂停进程、提示进程可以关闭。
【文档编号】G06F9/46GK104461714SQ201410817114
【公开日】2015年3月25日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】刘臻 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1