内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

CPU使用率の監視

メモリ使用量の監視

ファイル使用状況の監視

タスクのリソースの表示の状態

トラブルシューティング

CPU使用率

メモリ使用の場合

ファイルの使用

はじめに

このドキュメントでは、StarOSシステムでのCPU、メモリ、ファイルの使用に関する基本事項と、問題が発生した場合のトラブルシューティング方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- スターOs

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

リソース管理サブシステムは、システム内の各タスクに対して一連のリソース制限を割り当てます。各タスクのリソース使用率を監視し、制限内に収まっていることを確認します。タスクが制限を超えた場合は、SyslogまたはSimple Network Management Protocol(SNMP)トラップを介してオペレータに通知します。このドキュメントでは、動作の仕組みと、さらにトラブルシューティングを行うために収集する必要があるログについて説明します。

基本情報は、show task resources Command Line Interface（CLI；コマンドラインインターフェイス）の出力で確認できます。

割り当てられたリソース制限は、ユーザーが変更することはできません。

割り当てられるリソース制限は、StarOSのバージョンによって異なります。

次に、システムに問題がある場合に発生する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使用率の監視

CPUWarn SNMPトラップは、procletのcpu使用率が割り当て済みの90 %に達すると生成されます。

CPUWarnが生成されると、procletのcpu使用率が警告値から割り当てられた使用率の50 %を超えた場合にCPUOverが生成されます。

CPUWarnが生成される前に、procletのCPU使用率が割り当てられた使用率に達すると、CPUOverが生成されます。

使用率が割り当て済みの50 %に戻ると、CPUWarn/Overはクリアされます。

例：

ファシリティのシステム割り当てが60の場合、値が54に達すると、SNMPトラップ(CPUWarn)が生成されます。

ファシリティのシステム割り当ては60なので、procletのCPU使用率が警告値から割り当てられた使用率の50 %以上に達した場合、このシナリオではシステム到達値が84(54+30)になると、システムはSNMPトラップ(CPUOver)を生成します。

メモリ使用量の監視

MemoryWarnは、procletのメモリ使用量が割り当てに達すると生成されます。

MemoryOverは、procletのメモリ使用量が割り当て済みの容量+ 15 MB、つまり割り当ての倍に達した場合に生成されます。

使用率が割り当ての95 %に戻ると、MemoryWarn/MemoryOverはクリアされます。

例：

ファシリティのシステム割り当てが60MBの場合、60MBよりも大きい値に対して、システムはSNMPトラップMemoryWarnを生成します。

ファシリティのシステム割り当ては60 MBなので、タスクメモリの使用率が75 MBに達すると、システムではSNMPトラップMemoryOverが生成されます。

ファイル使用状況の監視

Filesは、開いているファイルの数、またはプロセスが使用しているファイル記述子を示します。

ファイルの使用に対してSNMPトラップは実装されていませんが、over/clear状態に対してロギングメッセージが生成されます。

オーバーログは、procletのファイル使用率が、割り当て済み使用率の10 %を超えると生成されます。

clear logは、procletのファイル使用率が割り当て済みの90%に戻ったときに生成されます。

2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440 <rmmgr:80>

_resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its

open files limit. Allocated 2000, Using 2499

タスクのリソースの表示の状態

show task resources CLIの出力のStatusフィールドの基準は異なります。

次の図では、WARNはwarnで、ALARMはoverステータスです。

トラブルシューティング

CPU使用率

システムがCPUに関連するSNMPトラップの生成を開始したら、アクティブな問題が発生している間に次の情報を収集します。

タスクのリソースの表示

procletがwarn/over状態になるかどうかを確認します。

タスクのリソースの最大値を表示

現在の使用量ではなく最大使用量を確認する

show snmp trap history

CPUWarn/Overイベントがあるかどうかを確認します。

注：これは隠しコマンドまたはtestコマンドです。StarOsでテストモードを有効にして開始する方法については、ドキュメントを参照してください。

このコマンドはサービスに影響を与えないため、実稼働環境で実行できます。

show profile card <カード番号> cpu <cpu番号> depth <値>

これは、いわゆるバックグラウンドプロファイラです。

バックグラウンドプロファイラは、実稼働環境でも常に実行され、1秒の固定サンプリング期間が設定されます。

どのPCがCPUリソースを消費しているか、カード/CPU/ファシリティ/インスタンスごとなどを確認できます。

デフォルト値の1を使用するのではなく、デプスを指定することをお勧めします（例： 4）。

メモリ使用の場合

システムがメモリに関連するSNMPトラップの生成を開始したら、アクティブな問題が発生している間に次の情報を収集します。

タスクのリソースの表示

procletがwarn/over状態になるかどうかを確認します。

タスクのリソースの最大値を表示

現在の使用量ではなく最大使用量を確認する

show snmp trap history

MemoryWarn/Overイベントがあるかどうかを確認する

show logs

resmgrから警告またはエラーが報告されているかどうかを確認します。

注：これは隠しコマンドまたはtestコマンドです。StarOsでテストモードを有効にして開始する方法については、ドキュメントを参照してください。

このコマンドはサービスに影響を与えないため、実稼働環境で実行できます。

show messenger proclet facility <名前> instance <x> heap

Procletのヒープ使用量の確認

注：これは隠しコマンドまたはtestコマンドです。StarOsでテストモードを有効にして開始する方法については、ドキュメントを参照してください。

このコマンドはサービスに影響を与えないため、実稼働環境で実行できます。

show messenger proclet facility <name> instance <x> system heap

含まれているプロセスのシステムヒープ情報を確認する

ヒント:TACにサービスリクエストを出す前に、CPU関連コマンドの出力を10分ごとに複数取得し、出力を4つ取得してください。

ファイルの使用

OSレベルでの実際のファイル制限は、StarOsでのファイル使用制限よりも高く設定されています。

タスクDiameter Proxy (diaproxy)の場合、OSレベルの上限は8192です。プロセスは最大8192を消費できますが、StarOSではファイルの上限が1000に設定されています。

asr5500:card3-cpu0# ps -ef | grep diam

root 5934 4555 0 Jul02 ? 00:07:52 diamproxy --readypipe 8 --limit_mode 8 --card_number 3 --cpu_number 0 --master_spc 3

asr5500:card3-cpu0# cat /proc/5934/limits | grep open

Max open files     8192      8192     files

[local]asr5500-2# show task resources facility diamproxy all

Friday July 11 10:05:54 JST 2014

task cputime memory files sessions

cpu facility inst used allc used alloc used allc used allc S status

----------------------- --------- ------------- --------- ------------- ------

3/0 diamproxy 2 0.3% 90% 22.83M 250.0M 216 1000 -- -- - good

8/0 diamproxy 1 0.4% 90% 22.71M 250.0M 69 1000 -- -- - good

CPUレベルの制限もあります。確認してください。十分な空き容量があれば問題ありません。

[local]ASR5500# show cpu info card 1 cpu 0

Card 1, CPU 0:

Status                : Active, Kernel Running, Tasks Running

Load Average          : 0.26, 0.39, 0.44 (1.78 max)

Total Memory          : 32768M (16384M node-0, 16384M node-1)

Kernel Uptime         : 3D 22H 11M

Last Reading:

CPU Usage All       : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.6% idle

Node 0            : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.5% idle

Node 1            : 0.1% user, 0.2% sys, 0.0% io, 0.0% irq, 99.7% idle

Processes / Tasks   : 185 processes / 29 tasks

Network             : 0.326 kpps rx, 0.912 mbps rx, 0.208 kpps tx, 3.485 mbps tx

File Usage          : 1792 open files, 3279141 available

Memory Usage        : 1619M 4.9% used (1209M 7.4% node-0, 409M 2.5% node-1)

使用可能なポートが256未満になると、次の警告メッセージが生成されます。

event 14516

user_resource_cpu_cpu_low_files(uint32 card, uint32 cpu, uint32 used, uint32 remain)

"The CPU %d/%d is running low on available open files. (%u used, %u remain)"

warning

software internal system critical-info