2016-11-21 45 views
0

不知有關共享存儲器目前正在使用中的系統,所以我運行命令:找出哪些進程正在使用共享存儲器

ipcs -m 

------ Shared Memory Segments -------- 
key  shmid  owner  perms  bytes  nattch  status 
0x50040150 2195456 user-owner 660  65648  2 
0x00000000 2228225 user-owner 660  32768  1 
0x00000000 2260994 user-owner 660  1052672 1 
0x00000000 2293763 user-owner 660  57304  2 
0x00000000 2326532 user-owner 660  98256  1 
0x00000000 2359301 user-owner 660  53184  1 
0x00000000 2392070 user-owner 660  98416  2 
0x00000000 2424839 user-owner 660  98416  2 
0x00000000 2457608 user-owner 660  672000  2 
0x00000000 2490377 user-owner 660  672000  2 
0x00000000 2523146 user-owner 660  672000  2 
0x00000000 2555915 user-owner 660  672000  2 
0x00000000 2588684 user-owner 660  672000  2 
0x00000000 2621453 user-owner 660  672000  2 
0x00000000 2654222 user-owner 660  672000  2 
0x00000000 2686991 user-owner 660  672000  2 
0x43040150 2719760 user-owner 660  304  1 
0x00000000 2752529 user-owner 660  32768  1 
0x00000000 2785298 user-owner 660  266240  1 
0x00000000 2818067 user-owner 660  49104  1 
0x00000000 2850836 user-owner 660  167920  2 
0x00000000 2883605 user-owner 660  102384  2 
0x013352ab 720918  user-owner 666  4096  2 

- >總共享存儲器7555480字節= 7555.48 KB

,然後運行執行cat/proc/meminfo中| grep的-i

cat /proc/meminfo |grep -i shmem<br/> 
Shmem:    21592 kB 

我看到,存在IPC總共享存儲器之間的間隙s -m,我無法理解哪個進程正在使用 你能幫助我嗎?

謝謝

回答

0

SHMEM包括除IPC共享內存段以上,像一個ramdisk示例的東西。

/proc/pid/statm - 第三個字段表示進程擁有多少共享內存頁。示例代碼:

cd /proc 
for i in `ls -d * | grep -v self` 
do 
    if [[ -f $i/statm ]];then 
    echo -n "$i "; cat $i/statm | perl -lan -e 'print ($F[2] * 4096)'; 
    fi 
done | sort -nr -k2 | head 

4096是從getconf PAGESIZE

頁大小參見https://lists.kernelnewbies.org/pipermail/kernelnewbies/2013-July/008628.htmlhttps://access.redhat.com/solutions/406773爲更多的可能性。

+0

非常感謝你! –

相關問題