2021-05-07 05:53 PM
本ドキュメントでは 以下の製品におけるメモリ利用に関するコマンドの詳細とトラブルシューティングについて説明します。
本ドキュメントで説明するコマンドは以下の 6つになります。
VOS のベースとなる Linux におけるメモリに関する用語を以下説明します。
Random Access Memory を RAM と呼び、仮想マシンに割り当てられたメモリを指し示します。CPUが処理を行う際に高速に読み書きが行われます。下記 Swap, Virtual Memory (VM)と区別して 物理メモリとも呼称します。
後に記載する % Mem Used は本 RAM の利用率を指し示します。
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 により自動的に行われます。
物理メモリ (Memory, RAM) と Disk 上の Swap Partition (Swap) を合わせた仮想記憶領域を Virtual Memory (VM) と呼びます。後に記載する % VM Used は 本 VM の利用率を指し示します。物理メモリ・Swap は VM にマッピングされ、プログラムは VM を介して物理メモリ・Swap へのアクセスを行います。なお、Swap へのアクセスが必要になった場合は OS により page in が自動的に行われ物理メモリへの書き込みが行われます。
Virtual Memory 合計容量 = Mem + Swap
RAM 上にはプロセスで現在利用されている領域 (Used) 以外に、I/O のために一時的に利用される buffers 領域と disk への高速なアクセスのための cache 領域が存在します。この buffers/cache 領域は Used 領域と異なり、開放しプロセスに割り当てることが出来ます。
Mem 利用可能領域 = free + buffers + cached = -/+ buffers/cache free
以下で上記の用語をもとに各コマンドの説明を行います。コマンドによって表示される内容は重複する部分があります。
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 に相当します。
各プロセスに利用されるメモリの利用状況を表示します。
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 に関しては上記説明通りです。
メモリ利用状況も含めたシステムの状態を確認するコマンドです。
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 となります。
メモリに関する 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 ログで確認することも可能です。
システム上のそれぞれのプロセスに関する統計情報を表示するコマンドです。メモリに関するトラブルシューティングを行う際には %Memory Usage, VMSize, VmRSS を参照してください。
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
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 利用率が上昇している際に、原因となるプロセスの特定に利用することが出来ます。
メモリに関するアラートは以下の二つが存在します。通知される閾値は以下の手順で変更が可能です。
Swap 利用率が既定の閾値を超えたときに通知されるアラートです。
VM 利用率が既定の閾値を超えたときに通知されるアラートです。
なお、Swap のみの利用率が高くなり、物理メモリ (Mem) の利用率には問題がない事象が特定のバージョンで報告されています。
上記事象に該当する場合はサービス影響はありません。
Cisco TAC へケースオープンをするときには以下のログの取得をお願いします。
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます