本資料は共有メモリセグメント(シェアードメモリセグメント)の使用状況の確認方法と削除方法の操作を以下に記します。
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コマンドを使った例を記します。
[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
[root@centos5 ~]# ipcrm -m 129073156
[root@centos5 ~]# ipcs -m | grep sakura | grep 129073156 [root@centos5 ~]#