查看“Pmap”的源代码
←
Pmap
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== pmap === pmap(Process Map) 命令能够显示一个或多个进程的内存映射情况,在 procps-ng 包中。包括分配的地址空间的大小、权限、偏移量、设备和映射到的文件,是理解和分析 Linux 进程内存使用的重要工具。 pmap -x <PID> # Address: 虚拟内存区段的起始地址 # Kbytes: 该内存映射的总大小(KB) # RSS: 内存区段的实际驻留内存大小(KB),实际驻留在物理 RAM 大小(包括未均摊的共享库大小,不包括已经交换出去的页面) # Dirty: 脏页的字节数(包括共享和私有的)(KB),表示需要回写到磁盘或其他存储的内存数据量 # Mode: 内存的权限:read、write、execute、shared、private (写时复制) # Mapping: 映射类型:占用内存的文件、或[anon](分配的内存)、或[stack](堆栈) <small> 匿名内存(anon): 表示进程内部使用的匿名内存,不对应任何文件。 堆(heap): 通常是动态内存分配(如 `malloc` 或 `new`)所在的区域,大型应用程序的内存消耗常常集中於此 栈(stack): 存储函数局部变量、调用栈和返回地址等 共享库: 共享库或动态链接库(如 .so 文件),多个进程可以共享这些区段 内核或映射文件: 文件对应的映射通常显示具体路径,表示进程加载的程序代码或数据 </small> {| class="wikitable" |Address |Kbytes |RSS |Dirty |Mode |Mapping |- |00005650add80000 |16 |16 |0 |r---- |svr |- |00007ffd48a0a000 |132 |12 |12 |rw--- |[stack] |- |00007f27b7982000 |4 |4 |0 |r---- |ld-2.31.so |- |00007f27b76b4000 |8 |8 |8 |rw--- |libc-2.31.so |- |00007f27b76dd000 |12 |12 |0 |r---- |libgcc_s.so.1 |- |00007f27b74c7000 |4 |4 |4 |rw--- |libm-2.31.so |- |00007f27b76ba000 |24 |24 |0 |r---- |libpthread-2.31.so |- |00007f27b7969000 |12 |12 |12 |rw--- |libstdc++.so.6.0.32 |- |ffffffffff600000 |4 |0 |0 | --x-- |[anon] |} 一般情况下,除 anon 外,其他线程的内存开始地址等相对固定。可以用 diff 比较两次内存映射的差异。 [[分类:Develop]] [[分类:Linux]]
返回
Pmap
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
目录
文章分类
侧边栏
帮助
工具
链入页面
相关更改
特殊页面
页面信息