『壹』 linux可以查看內存使用的命令
1. 使用free命令
free命令是Linux系統中最簡單和最常用的內存查看命令
其中, -m 選項是以MB為單位來展示內存使用信息; -h 選項則是以人類(human)可讀的單位來展示。
上面的示例中, Mem: 這一行:
total 表示總共有 7822MB 的物理內存(RAM),即7.6G。
used 表示物理內存的使用量,大約是 322M。
free 表示空閑內存;
shared 表示共享內存?;
buff/cache 表示緩存和緩沖內存量; Linux 系統會將很多東西緩存起來以提高性能,這部分內存可以在必要時進行釋放,給其他程序使用。
available 表示可用內存;
2 查看/proc/meminfo
另一種方法是讀取/proc/meminfo文件。 我們知道,/proc目錄下都是虛擬文件,包含內核以及操作系統相關的動態信息。《Linux就該這么學》 學習更多linux知識。
3. 使用vmstat命令
使用vmstat -s命令和選項, 可以對內存使用情況進行統計, 類似於/proc/meminfo。
『貳』 linux查看共享內存命令
共享內存查看
使用ipcs命令,不加如何參數時,會把共享內存、信號量、消息隊列的信息都列印出來,如果只想顯示共享內存信息,使用如下命令:
[root@localhost ~]# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 1867776 root 600 393216 2 dest
0x00000000 1900545 root 600 393216 2 dest
0x00030021 1703938 zc 666 131104 1
0x0003802e 1736707 zc 666 131104 1
0x00030004 1769476 zc 666 131104 1
0x00038002 1802245 zc 666 131104 1
0x00000000 1933318 root 600 393216 2 dest
0x00000000 1966087 root 600 393216 2 dest
0x00000000 1998856 root 600 393216 2 dest
0x00000000 2031625 root 600 393216 2 dest
0x00000000 2064394 root 600 393216 2 dest
0x0014350c 2261003 cs 666 33554432 2
0x00000000 2129932 root 600 393216 2 dest
0x00000000 2162701 root 600 393216 2 dest
0x00143511 395837454 root 666 1048576 1
其中:
第一列就是共享內存的key;
第二列是共享內存的編號shmid;
第三列就是創建的用戶owner;
第四列就是許可權perms;
第五列為創建的大小bytes;
第六列為連接到共享內存的進程數nattach;
第七列是共享內存的狀態status。其中顯示「dest」表示共享內存段已經被刪除,但是還有用戶在使用它,當該段內存的mode欄位設置為SHM_DEST時就會顯示「dest」。當用戶調用shmctl的IPC_RMID時,內存先查看多少個進程與這個內存關聯著,如果關聯數為0,就會銷毀這段共享內存,否者設置這段內存的mod的mode位為SHM_DEST,如果所有進程都不用則刪除這段共享內存。