在linux中查询锁表进程,我们如何在linux中检查进程的“锁定”共享内存?

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

现在,与mlock()一样,我们可以通过检查/ proc /< PID> / status和VmLck值来检查正在使用的内存量.

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

我已经尝试使用mlock函数,它确实显示了使用了多少内存但是如果我使用shmctl(SHM_LOCK)它会显示0kb.

只是添加,我想在shell中或通过代码看到锁定的内存(没有区别).我只需要一个价值.

尝试浏览论坛但找不到任何答案.任何帮助表示赞赏.

解决方法:

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

ipcs | grep locked

ipcs命令在’status’字段中显示’locked’状态,如ipcs.c代码所示:

printf (" %-10ju %-6s %-6s\n",

shmdsp->shm_nattch,

shmdsp->shm_perm.mode & SHM_DEST ? _("dest") : " ", shmdsp->shm_perm.mode & SHM_LOCKED ? _("locked") : " ");

标签:unix,linux,memory,shared-memory

来源: https://codeday.me/bug/20190703/1365870.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值