概要
このドキュメントでは、タスクのリソース使用率がStarOSでどのように動作するかを説明し、CPU/メモリ/ファイル使用率の高いイベントをトラブルシューティングするために収集する必要があるログのリストを示します。StarOSでは、リソース管理サブシステム(resctrl / resmgr)が、システム内の各タスクにリソース制限のセットを割り当てます。各タスクのリソース使用量を監視して、制限内に収まるようにします。タスクが制限を超えると、ネットワーク操作を通知するためにSyslogまたはSimple Network Management Protocol(SNMP)トラップが生成されます。
リソースモニタリングメカニズム
sessmgr/aamgr/vpnmgrなど、StarOS上で実行されるタスクが多数あります。各タスクにはCPU/メモリ/ファイルの使用率の制限が設定され、リソース管理によって制限が監視されます。制限は、タスクの種類(sessmgrとaamgrには異なる制限があります)、StarOSバージョン、およびハードウェアの種類によって異なります。また、制限はシステムによって定義され、ユーザは設定できません。
StarOSの各タスクの説明は、『システム管理ガイド』のStarOSタスクの章にあります。
基本的なリソース使用状況の情報は、 show task resources
CLI コマンド.
フィールド |
説明 |
cputime used |
タスクのCPU使用率 |
cputime allc |
タスクに割り当てられたCPU使用制限 |
メモリ使用量 |
タスクのメモリ使用量 |
メモリ割り当て |
タスクに割り当てられたメモリ使用制限 |
使用されるファイル |
タスクのファイル使用状況 |
files allc |
タスクの割り当て済みファイルの使用状況 |
ステータス |
タスクの状態:良い |
この目的は、リソースを監視し、タスクの機能を制限しないことであることを理解することが重要です。タスクは、制限を超えるCPU/メモリ/ファイルを消費した後でも動作できる必要があります。Syslogおよび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トラップはSyslog警告とともに生成されます。
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 %です。
Syslog
[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%
注:このSyslogは警告レベルであり、デフォルトのロギング設定では生成されません。これを生成する必要がある場合は、resmgrのログ設定を警告として構成する必要があります。
メモリ使用量
メモリタスクの使用率が制限を超えている場合は、Syslog警告とともに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です。
Syslog
[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
注:このSyslogは警告レベルであり、デフォルトのロギング設定では生成されません。これを生成する必要がある場合は、resmgrのログ設定を警告として構成する必要があります。
ファイルの使用状況
「 files
開いているファイルの数、またはファイルディスクリプタタスクが使用するファイルの数を示します。ファイルの使用に関するSNMPトラップはありませんが、制限を超えるとSyslogが生成されます。
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
問題のトラブルシューティングに必要な情報
このセクションでは、詳細な調査が必要な場合に、新しいTechnical Assistance Center(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分ごと、4つの出力)で複数回収集します。
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