Linux 进程资源:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
→‎pmap
→‎pmap
 
第82行: 第82行:
|[anon]
|[anon]
|}
|}
可以用 diff 比较两次内存映射的差异。
一般情况下,除 anon 外,其他线程的内存开始地址等相对固定。可以用 diff 比较两次内存映射的差异。


[[分类:Develop]]
[[分类:Develop]]
[[分类:Linux]]
[[分类:Linux]]

2024年9月2日 (一) 11:19的最新版本

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](堆栈)
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 比较两次内存映射的差异。