共有メモリ使用率の算出方法


計算式

使用中の共有メモリサイズ = (1). 常駐しているページ数(pages resident) × (2). ページサイズ


  • (1). 常駐しているページ数の確認

        [Linux] ipcsコマンド参照

# ipcs -um

------ シェアードメモリの状態 --------
確保されたセグメント 1
確保されたページ     1
固定されたページ     1
スワップされたページ 0
スワップの動作: 0 回試み 0 回成功
  • (2). ページサイズを確認

        [Linux] ページサイズを取得参照

$ getconf PAGESIZE
4096


で、計算式に当てはめてみる。

$ LANG=C ; echo $LANG    ※LANG変数によって抽出するキーワードが変わってしまうため、英語表記に変更
C

$ ipcs -um

------ Shared Memory Status --------
segments allocated 1
pages allocated 1
pages resident  1
pages swapped   0
Swap performance: 0 attempts	 0 successes

$ getconf PAGESIZE
4096

### (1). ページ数取得
$ _pages_resident=$(ipcs -um | awk '/^pages resident/ {print $3}')
### (2). ペースサイズ取得
$ _pagesize=$(getconf PAGESIZE)
### 算出結果
$ echo $(( $_pages_resident * $_pagesize ))
4096                    ※4096バイト