キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
771
閲覧回数
0
いいね!
0
コメント
Yoshiyuki Anzai
Cisco Employee
Cisco Employee

 

 

はじめに

本ドキュメントでは 以下の製品におけるメモリ利用に関するコマンドの詳細とトラブルシューティングについて説明します。

  • Cisco Unified Communications Manager (Unified CM)
  • Cisco Unified Communications Manager IM & Presence (IM&P)
  • Cisco Unity Connection (Unity Connection)

本ドキュメントで説明するコマンドは以下の 6つになります。

  • show tech runtime memory
  • show process load mem
  • show status
  • show perf query class Memory
  • show perf query class Process
  • show process using-most memory

 

 

Linux における メモリ利用と用語の説明

VOS のベースとなる Linux におけるメモリに関する用語を以下説明します。

memory_usage_vos.png

RAM

Random Access Memory を RAM と呼び、仮想マシンに割り当てられたメモリを指し示します。CPUが処理を行う際に高速に読み書きが行われます。下記 Swap, Virtual Memory (VM)と区別して 物理メモリとも呼称します。

後に記載する % Mem Used は本 RAM の利用率を指し示します。

Swap

Disk 上の Swap Partition を Swap と呼びます。物理メモリと合わせて Virtual Memory (VM) を構成します。Disk 上の領域のため物理メモリに比べて読み書き速度が遅く、物理メモリで利用していない領域が Swap に移動されます。この物理メモリ -> Swap への書き出しを page out と呼び、Swap -> 物理メモリの書き込みを page in と呼びます。

Swap をプログラムが読み書きすることはできないため、Swap に保存された領域をアクセスするためには RAM への page in を行う必要があります。これらの page in, page out は OS により自動的に行われます。

Virtual Memory (VM)

物理メモリ (Memory, RAM) と Disk 上の Swap Partition (Swap) を合わせた仮想記憶領域を Virtual Memory (VM) と呼びます。後に記載する % VM  Used は 本 VM の利用率を指し示します。物理メモリ・Swap は VM にマッピングされ、プログラムは VM を介して物理メモリ・Swap へのアクセスを行います。なお、Swap へのアクセスが必要になった場合は OS により page in が自動的に行われ物理メモリへの書き込みが行われます。

Virtual Memory 合計容量 = Mem + Swap

buffers/cache

RAM 上にはプロセスで現在利用されている領域 (Used) 以外に、I/O のために一時的に利用される buffers 領域と disk への高速なアクセスのための cache 領域が存在します。この buffers/cache 領域は Used 領域と異なり、開放しプロセスに割り当てることが出来ます。

Mem 利用可能領域 = free + buffers + cached = -/+ buffers/cache free

 

 

コマンド説明

以下で上記の用語をもとに各コマンドの説明を行います。コマンドによって表示される内容は重複する部分があります。

 

show tech runtime memory

RAM, Swap, VM の利用状況を表示するコマンドです。

admin:show tech runtime memory
 -------------------- show platform runtime --------------------

Total memory (RAM+swap) usage (in KB):
             total       used       free     shared    buffers     cached
Mem:       3925532    3807484     118048     206848     125908    1086820
-/+ buffers/cache:    2594756    1330776
Swap:      4095996     743104    3352892
Total:     8021528    4550588    3470940

上記での説明の通り、RAM で利用可能な領域は Mem 行の free, buffers, cached の合計値 = -/+ buffers/cache 行 free となります。上記例の場合は 1330776KB が利用可能なメモリとなります。

-/+ buffers/cache 行 free を RAM の全体容量で割った値が後述する % Mem Used に相当します。

また、Total 行の free は -/+ buffers/cache 行 free と swap 行の free を合計した値となり、Total free を Swap と RAM の合計容量で割ったものが % VM Used に相当します。

 

show process load mem

各プロセスに利用されるメモリの利用状況を表示します。

admin:show process load mem
top - 18:11:54 up 26 days,  6:52,  1 user,  load average: 0.02, 0.02, 0.00
Tasks: 234 total,   1 running, 233 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.9%us,  1.6%sy,  0.0%ni, 95.3%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3925532k total,  3810856k used,   114676k free,   126540k buffers
Swap:  4095996k total,   743104k used,  3352892k free,  1089304k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12215 ccmservi  20   0  516m  48m 6736 S  2.0  1.3  28:50.45 CCMPNSLauncher
21897 admin     30  10 1278m  90m  15m S  2.0  2.4   0:04.70 java
    1 root      20   0 19588 1748 1256 S  0.0  0.0   3:21.85 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   1:05.34 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   1:11.52 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0
    6 root      RT   0     0    0    0 S  0.0  0.0   0:02.09 watchdog/0
    7 root      RT   0     0    0    0 S  0.0  0.0   1:02.89 migration/1
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1

Mem, Swap に関しては上記説明通りです。

  • VIRT (Virtual memory) - Virtual Memory (mem + swap) の利用量
  • RES (Resident size) - 物理メモリの利用量
  • SHR (Shared memory) - 他プロセスと共有されるメモリの利用量
  • %MEM - プロセスに利用される物理メモリの利用率

 

show status

メモリ利用状況も含めたシステムの状態を確認するコマンドです。

admin:show status

Host Name          : cucmpub
Date               : Mon Apr 26, 2021 18:15:00
Time Zone          : Japan Standard Time (Asia/Tokyo)
Locale             : en_US.UTF-8
Product Ver        : 11.5.1.16900-16
Unified OS Version : 6.0.0.0-2

Uptime:
 18:15:01 up 26 days,  6:55,  1 user,  load average: 0.04, 0.04, 0.00

CPU Idle:   96.46%  System:   02.53%    User:   01.01%
  IOWAIT:   00.00%     IRQ:   00.00%    Soft:   00.00%

Memory Total:        3925532K
        Free:         108708K
        Used:        3816824K
      Cached:        1097308K
      Shared:         206940K
     Buffers:         124116K

                        Total            Free            Used
Disk/active         14154228K        1254768K       12754332K (92%)
Disk/inactive       14154228K       13393148K          35424K (1%)
Disk/logging        49573612K       29519936K       17528748K (38%)

本コマンドでも同様に物理メモリ利用を確認できますが、実際に利用可能なメモリ領域は上記説明の通り Free + Cached + Buffers となります。

 

show perf query class Memory

メモリに関する Perfrmon カウンタを確認するコマンドです。

admin:show perf query class Memory
==>query class :

 - Perf class (Memory) has instances and values:
                    -> % Mem Used                     = 67
                    -> % Page Usage                   = 69
                    -> % VM Used                      = 42
                    -> Buffers KBytes                 = 127720
                    -> Cached KBytes                  = 1092784
                    -> Free KBytes                    = 107620
                    -> Free Swap KBytes               = 3352924
                    -> Page Faults Per Sec            = 0
                    -> Page Major Faults Per Sec      = 0
                    -> Pages                          = 381018909
                    -> Pages Input                    = 8235439
                    -> Pages Input Per Sec            = 0
                    -> Pages Output                   = 372783470
                    -> Pages Output Per Sec           = 396
                    -> Shared KBytes                  = 21532
                    -> SlabCache                      = 155000
                    -> SwapCached                     = 0
                    -> Total KBytes                   = 3925532
                    -> Total Swap KBytes              = 4095996
                    -> Total VM KBytes                = 8021528
                    -> Used KBytes                    = 2618940
                    -> Used Swap KBytes               = 743072
                    -> Used VM KBytes                 = 3362012

各カウンタは上記で説明した通りであり、%VM Used と % Mem Used で Virtual Memory 全体の利用率と物理メモリの利用率を確認することが出来ます。

これらのカウンタは Perfmon ログで確認することも可能です。

 

show perf query class Process

システム上のそれぞれのプロセスに関する統計情報を表示するコマンドです。メモリに関するトラブルシューティングを行う際には %Memory UsageVMSizeVmRSS を参照してください。

admin:show perf query class Process
==>query class :

 - Perf class (Process) has instances and values:
    AuditEventRespo -> % CPU Time                     = 0
    AuditEventRespo -> % Memory Usage                 = 0
    AuditEventRespo -> Data Stack Size                = 15703
    AuditEventRespo -> Nice                           = -3
    AuditEventRespo -> PID                            = 25194
    AuditEventRespo -> Page Fault Count               = 83
    AuditEventRespo -> Process Status                 = 1
    AuditEventRespo -> STime                          = 506
    AuditEventRespo -> Shared Memory Size             = 2420
    AuditEventRespo -> Thread Count                   = 1
    AuditEventRespo -> Total CPU Time Used            = 2928
    AuditEventRespo -> UTime                          = 2422
    AuditEventRespo -> VmData                         = 1276
    AuditEventRespo -> VmRSS                          = 2500
    AuditEventRespo -> VmSize                         = 15704
  • % Mermory Usage : プロセスに利用される物理メモリの利用率
  • VmSize : Virtual memory size. プロセスに利用される Virtual Memory の合計利用量
  • VmRSS : Virtual memory resident set size. プロセスに利用される物理メモリの利用量

 

show process using-most memory

admin:show process using-most memory
MEM(K) PID  ARGS
102896 12076 /usr/local/cm/bin/amc /usr/local/cm/conf/amc/amcCfg.xml
104292 26845 /usr/local/cm/bin/cmoninit -w
131484 12265 /usr/local/cm/bin/carschlr /usr/local/cm/conf/car/carschlrCfg.xml
163844 26841 /usr/local/cm/bin/cmoninit -w

メモリ利用率の高いプロセスを表示します。VM 利用率が上昇している際に、原因となるプロセスの特定に利用することが出来ます。

 

 

監視に利用される RTMT アラート

メモリに関するアラートは以下の二つが存在します。通知される閾値は以下の手順で変更が可能です。

  1. RTMT > Alert Central > 該当アラートを 右クリック
  2. Set Alert/Properties > Server選択 > Next > Threshold から閾値を入力

 

LowSwapPartitionAvailableDiskSpace

Swap 利用率が既定の閾値を超えたときに通知されるアラートです。

LowAvailableVirtualMemory

VM 利用率が既定の閾値を超えたときに通知されるアラートです。

 

 

トラブルシューティング

  1. LowSwapPartitionAvailableDiskSpace・LowAvailableVirtualMemory が通知される
  2. show tech runtime memory コマンド等により VM, Swap, Mem の利用率を把握する
  3. Perfmon カウンタ, show process using-most memory コマンド等によりメモリ利用率上昇の原因となり得るプロセスを特定する

なお、Swap のみの利用率が高くなり、物理メモリ (Mem) の利用率には問題がない事象が特定のバージョンで報告されています。

上記事象に該当する場合はサービス影響はありません。

Cisco TAC へケースオープンをするときには以下のログの取得をお願いします。

 

 

参考情報

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします