gpt4 book ai didi

linux - 找出哪个进程正在使用共享内存

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:21 25 4
gpt4 key购买 nike

我想知道系统当前正在使用共享内存,所以我运行命令:

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

如我所见,ipcs -m 中的总共享内存之间存在差距,我无法理解哪个进程正在使用你能帮我解决这个问题吗?

谢谢

最佳答案

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更多的可能性。

关于linux - 找出哪个进程正在使用共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40712097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com