gpt4 book ai didi

linux - 我们如何在linux中查看进程的 "locked"共享内存?

转载 作者:IT王子 更新时间:2023-10-29 00:35:29 29 4
gpt4 key购买 nike

我试图找到如何检查是否锁定了共享内存,即使用 shmctl(SHM_LOCK)我发现我们可以通过检查 shmid_ds.shmperm.mode 标志在代码中检查它。

现在,就像 mlock() ,我们可以通过检查 /proc/<PID>/status 来检查正在使用多少内存和 VmLck值(value)。

我想知道是否有任何方法可以检查使用 shmctl(SHM_LOCK) 锁定的进程正在使用多少共享内存。 ?

我试过使用 mlock功能,它确实显示使用了多少内存,但如果我使用 shmctl(SHM_LOCK),它显示 0kb .

补充一下,我想在 shell 中或通过代码查看锁定的内存(没有区别)。我只需要一个值。

试图浏览论坛但找不到任何答案。感谢您的帮助。

最佳答案

您应该使用 ipcs(1) 命令,如下所示:

ipcs | grep locked

ipcs 命令在“状态”字段上显示“锁定”状态,如 ipcs.c 代码所示:

        printf (" %-10ju %-6s %-6s\n",
shmdsp->shm_nattch,
shmdsp->shm_perm.mode & SHM_DEST ? _("dest") : " ", shmdsp->shm_perm.mode & SHM_LOCKED ? _("locked") : " ");

关于linux - 我们如何在linux中查看进程的 "locked"共享内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21781905/

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