目录

简介

资源监控机制

可疑原因

CPU 使用情况

内存使用情况

文件使用

排除问题所需的信息

CPU 使用情况

内存使用情况

文件使用

简介

本文档介绍任务的资源使用情况在StarOS中如何工作，并提供了需要收集的日志列表，以排除CPU/内存/文件高使用率事件的故障。在StarOS上，资源管理子系统(resctrl / resmgr)为系统中的每项任务分配一组资源限制。它监控每个任务的资源使用情况，以确保其保持在限制范围内。当任务超出其限制时，系统会生成系统日志或简单网络管理协议(SNMP)陷阱以通知网络操作。

资源监控机制

在StarOS上运行许多任务，例如sessmgr/aaamgr/vpnmgr等。每个任务都设置CPU/内存/文件使用限制，并且这些限制由资源管理监控。限制可以按任务类型（sessmgr和aaamgr具有不同的限制）、StarOS版本和硬件类型而有所不同。此外，限制由系统定义，用户无法配置。

有关StarOS上每项任务的说明，请参阅《系统管理指南》的“StarOS任务”一章。

基本资源使用信息可在的输出中找到 show task resources CLI命令。

字段

描述

CPU使用时间

任务的CPU使用率

cputime allc

为任务分配的CPU使用限制

内存使用

任务的内存使用

内存分配

为任务分配的内存使用限制

使用的文件

任务的文件使用

文件all

分配的文件任务使用

状态

任务状态：良好/警告/过

了解其目的是监视资源而不限制任务功能非常重要。即使任务消耗的CPU/内存/文件超过限制，它也必须能够工作。超过限制时生成系统日志和SNMP陷阱，但它并不总是表示问题。

可疑原因

在很多情况下，临时使用高峰不是问题。但是，如果它持续存在，例如，任务的CPU使用率保持在100%，或者内存使用率持续增长且从未减少，则需要调查此类情况。

出现临时峰值的典型原因是：

- 生成大量输出的CLI命令（CLI任务）

- 系统中保留的日志信息量（事件任务）

需要调查的案件有：

- 内部无限循环导致的CPU使用率较高（CPU使用率保持100%）

- 内存泄漏或分段使内存使用量持续增加

sessmgr、npudrv和CLI设施中的SNMP陷阱示例如下所示：

Mon Aug 26 11:32:19 2013 Internal trap notification 1221 (MemoryOver) facility sessmgr instance 16 card 1 cpu 0 allocated 204800 used 220392

Mon Aug 26 11:32:29 2013 Internal trap notification 1222 (MemoryOverClear) facility sessmgr instance 16 card 1 cpu 0 allocated 1249280 used 219608

Fri Dec 20 13:52:20 2013 Internal trap notification 1217 (MemoryWarn) facility npudrv instance 401 card 5 cpu 0 allocated 112640 used 119588

Fri Dec 20 14:07:26 2013 Internal trap notification 1218 (MemoryWarnClear) facility cli instance 5011763 card 5 cpu 0 allocated 56320 used 46856

Wed Dec 25 12:24:16 2013 Internal trap notification 1220 (CPUOverClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272

Wed Dec 25 12:24:16 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272

Wed Dec 25 17:04:56 2013 Internal trap notification 1215 (CPUWarn) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 595

Wed Dec 25 17:05:36 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 220

CPU 使用情况

当CPU任务使用率接近或超过限制时，CPUWarn和CPUOver SNMP陷阱会与系统日志警告一起生成。

SNMP 陷阱

Internal trap notification 1215 (CPUWarn) facility sct instance 0 card 8 cpu 0 allocated 500 used 451

Internal trap notification 1219 (CPUOver) facility cli instance 5010046 card 5 cpu 0 allocated 600 used 609

在CPUOver示例中，实例编号5010046消耗60.9%的CPU使用率，而限制为60%。

系统日志

[resmgr 14502 warning] [2/0/2352 _resource_cpu.c:2876] [software internal system] The task ipsecmgr-202 is over it's cputime limit. Allocated 50.0%, Using 51.8%

注意：此系统日志是警告级别，不使用默认日志记录设置生成。如果需要生成此消息，则必须将resmgr的日志记录设置配置为警告。

内存使用情况

当内存任务使用率接近或超过限制时，将生成MemoryWarn和MemoryOver SNMP陷阱以及系统日志警告。

SNMP 陷阱

Internal trap notification 1217 (MemoryWarn) facility cli instance 5005588 card 5 cpu 0 allocated 66560 used 70212

Internal trap notification 1221 (MemoryOver) facility cli instance 5010046 card 5 cpu 0 allocated 66560 used 89940

在MemoryOver示例中，实例5010046号会89940用内存，而限制为66560。

系统日志

[resmgr 14500 warning] [8/0/4054 _resource_cpu.c:3622] [software internal system syslog] The task bulkstat-0 is over its memory limit. Allocated 46080K, Using 48120K

注意：此系统日志是警告级别，不使用默认日志记录设置生成。如果需要生成此消息，则必须将resmgr的日志记录设置配置为警告。

文件使用

的 files 指示打开的文件数或文件描述符任务使用的文件数。文件的使用没有SNMP陷阱，但超过限制时会生成系统日志。

2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440 _resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its open files limit. Allocated 2000, Using 2499

排除问题所需的信息

本节介绍在需要进一步调查时，在打开新的技术支持中心(TAC)服务请求之前需要收集哪些信息。需要收集的日志因使用类型而异。

注意：除命令列表外，命令的输出 show support detail 始终为必填项。

CPU 使用情况

在StarOS CLI中输入以下命令并捕获输出：

- show task resources

- show task resource max

- show snmp trap history

- show logs

- show profile facility

instance

depth 4

注意：的 show profile 命令是隐藏模式CLI命令。

内存使用情况

在StarOS CLI中输入以下命令并捕获输出：

- show task resources

- show task resource max

- show snmp trap history

- show logs

定期收集堆和系统堆命令多次，例如每15分钟和四次输出。

- show messenger proclet facility

instance

heap

- show messenger proclet facility

instance

system heap

注意：的 show messenger proclet 命令。

文件使用

在StarOS CLI中输入以下命令并捕获输出：

- show task resources

- show task resource max

- show snmp trap history

- show logs