Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – pmap输出中的零(删除)是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

什么是映射列下的零(删除)是指 Linux中pmap -x pid命令的输出?它和anon有什么不同?我在手册页中找不到任何内容. Address Kbytes RSS Dirty Mode Mapping adf00000 132 36 36 rw--- [ anon ] adf21000 892 0 0 --
什么是映射列下的零(删除)是指 Linux中pmap -x pid命令的输出?它和anon有什么不同?我在手册页中找不到任何内容.

Address   Kbytes     RSS   Dirty Mode   Mapping
adf00000     132      36      36 rw---    [ anon ]
adf21000     892       0       0 -----    [ anon ]
ae0ff000       4       0       0 -----    [ anon ]
aea69000     504       0       0 rw-s-  zero (deleted)
aeae7000       4       0       0 -----    [ anon ]
aeae8000    8192      24      24 rw---    [ anon ]
af2e8000   65536   11968       0 rw-s-  apc.eEfjkY (deleted)
b32fd000     236       8       0 r-x--  libxslt.so.1.1.26
b3338000       4       4       4 rw---  libxslt.so.1.1.26

解决方法

您可以观察到模式列下“s”指示的共享映射显示为已删除.
由mmap调用中的MAP_SHARED标志声明的共享映射将在pmap中显示为已删除,因为进程使用的共享内存区域只需计数一次.

至于零,所有未由文件支持的映射都是零初始化.我们知道linux只在数据被写入时才分配内存.

因此,任何共享和未初始化的区域(没有通过进程写入的数据)将被pmap视为零(已删除).

另外我观察到如果你@L_587_0@mAP_SHARED并用例如MAP_PRIVATE替换它,

addr = mmap(NULL,4096,PROT_READ | PROT_WRITE,MAP_ANON | MAP_PRIVATE,-1,0)

零(已删除)将不再出现在pmap输出中.

大佬总结

以上是大佬教程为你收集整理的linux – pmap输出中的零(删除)是什么?全部内容,希望文章能够帮你解决linux – pmap输出中的零(删除)是什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。