08-进程监控和维护配置
本章节下载: 08-进程监控和维护配置 (168.7 KB)
目 录
设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“虚拟化技术配置指导”中的“IRF”。
Comvare V7是H3C公司的核心软件平台,它基于Linux内核,各个网络服务功能分别运行各自的进程,实现模块化。运行在用户空间的进程称为用户态进程,与用户态进程相对的是内核线程,内核线程运行在内核态空间。
· Comware V7系统的绝大部分程序是用户态进程。每个用户态进程拥有独立的进程空间,单个进程的异常不会影响系统其他进程,从而提高了系统的可靠性。通常情况下,系统会自动监控用户态进程,不需要用户干预。当单个用户态进程中包含多个独立或半独立的活动,可以将这些活动拆分成多个线程。Comware V7支持多线程并发和抢占,多个线程分工合作共同实现某个功能。一个进程是否包含多个线程,由软件实现需要决定。
· 内核线程用来执行Comware V7内核代码和系统调用。它拥有比用户态进程更高的安全级别,当内核线程发生异常,通常系统会完全崩溃。用户可以使用命令行来监控内核线程的运行状态。
本小节涉及的命令对用户态进程和内核线程均适用,可在任意视图下执行。使用这些命令,可以进行如下操作:
· 显示系统当前运行了哪些进程,每个进程占用了多少内存和多少CPU。
· 如果某个进程占用内存或者CPU过多,则确认该进程为异常源。如果异常源是用户态进程,可参考“1.2 用户态进程显示和维护”来进一步定位解决问题;如果异常源是内核线程,可参考“1.3 监控内核线程”来进一步定位解决问题。
display memory [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
|
显示所有进程的CPU占有率信息 |
display process cpu [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
当用户态进程运行异常,可使用如下命令来定位故障。其中,display命令可在任意视图下执行,其它命令在用户视图下执行。
|
||
display process memory [ slot slot-number [ cpu cpu-number ] ] |
||
display process memory heap job job-id [ verbose ] [ slot slot-number [ cpu cpu-number ] ] |
||
display exception context [ count value ] [ slot slot-number [ cpu cpu-number ] ] |
||
显示core文件的保存路径 |
display exception filepath [ slot slot-number [ cpu cpu-number ] ] |
|
开启/关闭用户态进程异常时的生成core文件的功能,以及配置能生成的core文件的最大个数 |
缺省情况下,用户态进程在首次异常时会生成core文件,后续异常不再生成core文件。即maxcore的最大数值为1 |
|
设置core文件的保存路径 |
缺省情况下,core文件保存在cfa0:路径下 |
|
reset exception context [ slot slot-number [ cpu cpu-number ] ] |
|
||
display process log [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
||
display process memory [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
||
显示core文件的保存路径 |
display exception filepath [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
|
开启/关闭用户态进程异常时的生成core文件的功能,以及配置能生成的core文件的最大个数 |
缺省情况下,用户态进程在首次异常时会生成core文件,后续异常不再生成core文件。即maxcore的最大数值为1 |
|
设置core文件的保存路径 |
缺省情况下,core文件保存在cfa0:路径下 |
|
reset exception context [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
如果某个内核线程运行异常,可以显示该内核线程是否发生了死循环或者处于饿死状态,以及异常、重启的原因。
对于本特性,建议用户使用缺省配置即可。如果确实需要修改缺省配置,请在H3C工程师的指导下进行,以免引起系统异常。
在内核态空间中,所有资源都是共享的,多个内核线程之间通过任务调度协调工作。如果某个内核线程长时间一直占用CPU,就会导致其它内核线程获取不到运行机会,整个系统挂死,我们称这种现象为死循环。
开启内核线程死循环检测功能后,如果系统发现某内核线程在指定时间内一直占用CPU,则判定该内核线程为死循环。系统会记录一条死循环信息供管理员查询,并自动重启整个系统来解除死循环。
开机后,系统会自动检测内核线程是否发生了饿死,建议用户不要随意配置内核线程饿死检测功能。如果确实需要配置,请在H3C工程师的指导下进行,以免引起系统异常。
如果内核线程本身的触发条件没有达到,会导致该内核线程在一段时间内一直得不到调度,我们称这种现象为饿死。
开启内核线程饿死检测功能后,当系统检测到某内核线程饿死时,会记录一条饿死信息供管理员查询。
内核线程饿死并不会影响整个系统的运行,当触发条件达到,处于饿死状态的内核线程会自动执行。
monitor kernel starvation enable [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
||
缺省情况下,当某内核线程连续运行超过8秒钟,则判定为饿死 |
||
在任意视图下,通过显示内核线程的显示信息,用户可以更好的了解内核线程的实时运行状态;同时,当出现系统异常繁忙或者资源消耗异常等故障时,显示信息可以帮助用户确认出现故障的功能点,以便尽快进行功能的恢复。
在用户视图下,执行reset命令,可以清除内核线程的统计信息。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!