linux後台檢視共享記憶體和訊息佇列的命令

2021-08-09 13:32:11 字數 3311 閱讀 4710

ipcs(inter-process communication show)

ipcs -q : 顯示所有的訊息佇列

ipcs -qt : 顯示訊息佇列的建立時間,傳送和接收最後一條訊息的時間

ipcs -qp: 顯示往訊息佇列中放訊息和從訊息佇列中取訊息的程序id

ipcs -q -i msgid: 顯示該訊息佇列結構體中的訊息資訊:

ipcs -ql : 顯示訊息佇列的限制資訊:

取得ipc資訊:

ipcs [-m|-q|-s]

-m 輸出有關共享記憶體(shared memory)的資訊

-q 輸出有關資訊佇列(message queue)的資訊

-s 輸出有關「遮斷器」(semaphore)的資訊

如果不跟引數則列印全部資訊

刪除ipc

ipcrm -m|-q|-s shm_id

檢視共享記憶體的大小

cat /proc/sys/kernel/shmmax

修改共享記憶體大小:

臨時修改:在root使用者下執行# echo 268435456 > /proc/sys/kernel/shmmax把共享記憶體大小設定為256mb;

永久修改:在root使用者下修改/etc/rc.d/rc.local檔案,加入下面一行:

echo 268435456 > /proc/sys/kernel/shmmax

即可每次啟動時把共享記憶體修改為256mb。

zjy@ubuntu:

~$ ipcs

------ message queues --------

key        msqid      owner      perms      used-bytes   messages    

------ shared memory segments --------

key        shmid      owner      perms      bytes      nattch     status      

0x00000000 294912     zjy        600        524288     2          dest         

0x00000000 1212417    zjy        600        4194304    2          dest         

0x00000000 425986     zjy        600        524288     2          dest         

0x00000000 622595     zjy        600        16777216   0                       

0x00000000 720900     zjy        600        524288     2          dest         

0x00000000 884741     zjy        600        524288     2          dest         

0x00000000 2195462    zjy        600        16777216   0                       

0x00000000 1146887    zjy        600        524288     2          dest         

0x00000000 1310728    zjy        600        524288     2          dest         

0x00000000 2588681    zjy        600        16777216   0                       

0x00000000 3604490    zjy        600        16777216   0                       

0x00000000 1540107    zjy        600        524288     2          dest         

0x00000000 1736716    zjy        600        524288     2          dest         

0x00000000 3014669    zjy        600        16777216   0                       

0x00000000 4030478    zjy        600        16777216   2                       

0x00000000 4358159    zjy        600        524288     2          dest         

0x00000000 4554768    zjy        600        524288     2          dest         

------ semaphore arrays --------

key        semid      owner      perms      nsems     

0xd201052b 0          zjy        666        1         

0xd201056c 32769      zjy        666        1         

0xd20105be 65538      zjy        666        1         

zjy@ubuntu:

~$ ipcs -s

------ semaphore arrays --------

key        semid      owner      perms      nsems     

0xd201052b 0          zjy        666        1         

0xd201056c 32769      zjy        666        1         

0xd20105be 65538      zjy        666        1         

zjy@ubuntu:

~$ cat /proc/sys/kernel/shmmax 

18446744073692774399

Linux共享記憶體的檢視和刪除

在使用共享記憶體的程式異常退出時,由於沒有釋放掉共享記憶體,在除錯時會出現錯誤。您可以使用shell命令來檢視與釋放已經分配的共享記憶體,下面將詳細說明如何進行檢視和釋放分配的共享記憶體的方法。linux中通過api函式shmget建立的共享記憶體一般都是在程式中使用shmctl來釋放的,但是有時為...

Linux 下檢視修改共享記憶體的方法

一 檢視共享記憶體大小 root使用者下 cat proc sys kernel shmmax就可以看到了。二 修改共享記憶體大小 1 臨時修改 root使用者下 echo 268435456 proc sys kernel shmmax 把共享記憶體大小修改為256m 因為256 1024 102...

linux檢視cpu和記憶體

1.檢視cpu資訊 總核數 物理pu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 2.檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 3.檢視每個物理cpu中core的個...