このエントリーをはてなブックマークに追加


共有メモリセグメントの使用状況確認・削除方法・ipcs,ipcrm

本資料は共有メモリセグメント(シェアードメモリセグメント)の使用状況の確認方法と削除方法の操作を以下に記します。


関連資料

シェアードメモリセグメントの使用状況確認・ipcs

rootユーザーになり、以下のコマンドを実行するとシェアードメモリセグメントの使用状況を確認をすることができます。
一般ユーザの場合は、現在使用しているユーザのみ表示されます。

ipcs -m

実際にCentOS5で実行したときの出力です。

[root@centos5 ~]# ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x74001008 2752512    root      600        4          0                       
0x74000fde 3440641    root      600        4          0                       
0x0052e2c1 3801090    postgres  600        37879808   14                      
0x74000fdd 3407875    root      600        4          0                       
0x036c57c1 129073156  sakura    600        43794432   0                       
0x036c5ba9 129105925  sakura    600        43794432   0                       
0x036c6761 87851014   sakura    600        43778048   0                       
0x036c6b49 87818247   sakura    600        43778048   0                       
0x036c5f91 129204232  sakura    600        43794432   0                       
0x036c6379 129171465  sakura    600        43794432   0               

シェアードメモリセグメントの削除・ipcrm 上記で確認したシェアードメモリセグメントの使用状況からsemidを使用してシェアードメモリセグメントを削除する場合は、以下のようなコマンドになります。 プロセスが異常終了して解放されていないシェアードメモリセグメントを消すことができます。 作業はrootユーザーで行えば全てを操作することができます。
一般ユーザの場合は、現在使用しているユーザのみ対象となります。

ipcrm -m <semid>

上記のコマンドは-sオプションを指定することによりsemidを指定しシェアードメモリセグメントを削除します。 以下にipcrmコマンドを使った例を記します。

  1. ipcs -m でシェアードメモリセグメントを確認
    [root@centos5 ~]# ipcs -m | grep sakura
    0x036c57c1 129073156  sakura    600        43794432   0                       
    0x036c5ba9 129105925  sakura    600        43794432   0                       
    0x036c6761 87851014   sakura    600        43778048   0                       
    0x036c6b49 87818247   sakura    600        43778048   0                       
    0x036c5f91 129204232  sakura    600        43794432   0                       
    0x036c6379 129171465  sakura    600        43794432   0               
  2. ipcrm -m <semid>で1つシェアードメモリセグメントを削除してみる
    [root@centos5 ~]# ipcrm -m 129073156
  3. シェアードメモリセグメントが削除されているかを確認(削除されました)
    [root@centos5 ~]# ipcs -m | grep sakura | grep 129073156
    [root@centos5 ~]# 


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:24