#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)