目錄

簡介

資源監測機制

可疑原因

CPU使用率

記憶體使用情況

檔案使用情況

故障排除所需的資訊

CPU使用率

記憶體使用情況

檔案使用情況

簡介

本文檔描述任務的資源使用在StarOS中如何工作，並提供需要收集日誌的清單，以對CPU/記憶體/檔案使用率高事件進行故障排除。在StarOS上，資源管理子系統(resctrl / resmgr)為系統中的每個任務分配一組資源限制。它會監控每個任務的資源使用情況，以確保任務在限制範圍內。當任務超出其限制時，將生成系統日誌或簡單網路管理協定(SNMP)陷阱來通知網路操作。

資源監測機制

在StarOS上運行許多工，例如sessmgr/aaamgr/vpnmgr等。每個任務都設定了CPU/記憶體/檔案使用限制，這些限制由資源管理監控。限制可以因任務型別（sessmgr和aamgr具有不同的限制）、StarOS版本和硬體型別而不同。此外，限制由系統定義，使用者不可配置。

StarOS上每個任務的說明可在系統管理指南的StarOS任務一章中找到。

基本資源使用情況資訊可在 show task resources CLI指令。

欄位

說明

已使用cputime

任務的CPU使用情況

cputime allc

分配給任務的CPU使用率限制

使用的記憶體

任務的記憶體使用情況

記憶體分配

為任務分配的記憶體使用限制

使用的檔案

任務的檔案使用情況

檔案allc

已分配檔案的任務使用情況

狀態

任務狀態：良好/警告/結束

重要的是要瞭解，目的是監視資源並且不限制任務功能。即使任務消耗的CPU/記憶體/檔案超過限制，也必須能夠工作。系統日誌和SNMP陷阱在超過限制時生成，但並不總是指示問題。

可疑原因

在很多情況下，臨時使用率飆升並不是問題。但是，如果任務的CPU使用率始終為100%，或者記憶體使用率持續增長且從未減少，則需要調查此類情況。

臨時性激增的典型原因是：

- 生成巨大輸出的CLI命令（CLI任務）

- 系統中保留的日誌資訊量（evlogd任務）

需要調查的案件有：

- 內部無限循環導致的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 命令隱藏模式CLI命令。

檔案使用情況

在StarOS CLI中輸入以下命令並捕獲輸出：

- show task resources

- show task resource max

- show snmp trap history

- show logs