Linux作業系統ipcs命令

2021-12-29 22:30:06 字數 3408 閱讀 6212

linux作業系統ipcs命令

ipcs: 主要提供呼叫程序讀取訪問一些ipc裝置資訊.如:共享記憶體,訊號量,訊息佇列

ipcs [ -asmq ] [ -tclup ]

ipcs [ -smq ] -i id

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

-s 輸出訊號量(semaphore)的資訊

-q 輸出訊息佇列(message queues)的資訊

-l limits 01

[email protected]:log# ipcs02 

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

04key        shmid      owner      perms      bytes      nattch     status     05 

06------ semaphore arrays --------

07key        semid      owner      perms      nsems    

080x00002af9 131072     db        664        1        

090x00002afb 163841     db        664        1        

100x00002b03 65538      db        664        1        

110x00002b05 98307      db        664        1        12 

13------ message queues --------

14key        msqid      owner      perms      used-bytes   messages

其中key為應用程式訪問資源使用的引數,id為資源條目的唯一標示號.

例如實際情況可能會遇到db使用者程式是用root賬戶啟動,這時首先root賬戶關掉db使用者的程式,但共享記憶體有可能未釋放,需要手動刪除.這就要用到ipcrm 命令.

ipcrm - remove a message queue, semaphore set or shared memory id

ipcrm [ -m key | -m id | -q key | -q id | -s key | -s id ] 

-m shmid

-q msqid

-s semid 01

[email protected]:log# ipcs -s02 

03------ semaphore arrays --------

04key        semid      owner      perms      nsems    

050x00002af9 131072     db        664        1        

060x00002afb 163841     db        664        1        

070x00002b03 65538      db        664        1        

080x00002b05 98307      db        664        109 

[email protected]:log# ipcrm -s 131072

[email protected]:log# ipcrm -s 163841

[email protected]:log# ipcrm -s 65538

[email protected]:log# ipcrm -s 9830714 

[email protected]:~# ipcs16 

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

18key        shmid      owner      perms      bytes      nattch     status     19 

20------ semaphore arrays --------

21key        semid      owner      perms      nsems    22 

23------ message queues --------

24key        msqid      owner      perms      used-bytes   messages   

[email protected]:~# ipcs -l02 

03------ shared memory limits --------

04max number of segments = 4096

05max seg size (kbytes) = 32768

06max total shared memory (kbytes) = 8388608

07min seg size (bytes) = 108 

09------ semaphore limits --------

10max number of arrays = 128

11max semaphores per array = 250

12max semaphores system wide = 32000

13max ops per semop call = 32

14semaphore max value = 3276715 

16------ messages: limits --------

17max queues system wide = 16

18max size of message (bytes) = 8192

19default max size of queue (bytes) = 16384

有2種方法改變其值

1.更改/etc/sysctl.conf ,新增kernel.msgmni = 1024,生效載入配置使用sysctl -p

kernel.msgmni 該檔案指定訊息佇列標識的最大數目,即系統範圍內最大多少個訊息佇列。 1

[email protected]:~# cat /proc/sys/kernel/msgmni216

[email protected]:~# vim /etc/sysctl.conf

[email protected]:~# sysctl -p

5kernel.msgmni = 1024

[email protected]:~# cat /proc/sys/kernel/msgmni

71024

2.在root下使用sysctl命令,直接生效. 1

[email protected]:~# sysctl -w kernel.msgmni=16

2kernel.msgmni = 16

[email protected]:~# cat /proc/sys/kernel/msgmni416

linux作業系統基礎命令

gcc的知識要點 gcc的初衷是為gnu作業系統專門編寫的一款編譯器,gnu系統是徹底自由的軟體。gcc的基本用法 gcc hello world.c c,只編譯,不鏈結成為可執行檔案,編譯器只是由輸入的.c的源 檔案生成.o為字尾檔案的目標檔案,通常用於編譯不包括主程式的子程式。gcc hello...

linux作業系統命令基礎

常用指令 ls 顯示檔案或目錄 l 列出檔案詳細資訊l list a 列出當前目錄下所有檔案及目錄,包括隱藏的a all mkdir 建立目錄 p 建立目錄,若無父目錄,則建立p parent cd 切換目錄 touch 建立空檔案 echo 建立帶有內容的檔案。cat 檢視檔案內容 cp 拷貝 m...

Linux作業系統基礎命令

man help 利用方向鍵 快速調取歷史命令 ctrl a 將游標移動到行首 ctrl e 將游標移動到行尾 ctrl 將游標按照字串進行左右快速移動 ctrl u 將游標之前的內容進行剪下 ctrl k 將游標之後的內容進行剪下 ctrl w 以空格作為分隔 剪下每個字串資訊 ctrl y 將剪...