#navi(../)
* 共有メモリセグメントの使用状況確認・削除方法・ipcs,ipcrm [#p1f32764]
本資料は共有メモリセグメント(シェアードメモリセグメント)の使用状況の確認方法と削除方法の操作を以下に記します。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連資料 [#leabb0e8]
-[[セマフォの使用状況確認・削除方法・ipcs,ipcrm>逆引きUNIXコマンド/セマフォの使用状況確認・削除方法・ipcs,ipcrm]]
-[[セマフォ、メッセージキュー、シェアードメモリのリソース情報を確認>逆引きUNIXコマンド/セマフォ、メッセージキュー、シェアードメモリのリソース情報を確認]]

* シェアードメモリセグメントの使用状況確認・ipcs [#e2791865]
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コマンドを使った例を記します。

+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               
+ipcrm -m <semid>で1つシェアードメモリセグメントを削除してみる
 [root@centos5 ~]# ipcrm -m 129073156
+シェアードメモリセグメントが削除されているかを確認(削除されました)
 [root@centos5 ~]# ipcs -m | grep sakura | grep 129073156
 [root@centos5 ~]# 

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS