小编pep*_*kin的帖子

为什么不应该使用 dpToPixel 来设置布局尺寸?

为什么在 javadocs for dpToPixel(declared here ) 中声明它不应该用于设置布局尺寸?

android android-layout

5
推荐指数
1
解决办法
920
查看次数

为什么 pmap 显示 strace 不显示的映射?

我正在调查一个进程的内存使用情况,该进程(意外地)保留了 TB 的VIRT. 如果我执行pmap该过程,我可以看到一些强大的分配,例如:

00007f39ea671000 317288696K rw---   [ anon ]
Run Code Online (Sandbox Code Playgroud)

我正在strace跟踪所有与内存相关的系统调用并记录它们的跟踪跟踪,从而运行我的进程。

strace -o ~/strace.out -f -e trace=mremap,mmap,munmap,brk -k <command>
Run Code Online (Sandbox Code Playgroud)

我希望能够在 中找到这个分配strace.out,所以我 grep 它:

cat strace.out | grep -A10 7f39ea671000
Run Code Online (Sandbox Code Playgroud)

我只看到这个调用mmap

106224 mmap(NULL, 201543680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39ea671000
 > /usr/lib/x86_64-linux-gnu/libc-2.29.so(mmap64+0x22) [0xf5252]
 > /usr/lib/x86_64-linux-gnu/libc-2.29.so(_IO_str_seekoff+0x2ff4) [0x84ab4]
 > /usr/lib/x86_64-linux-gnu/libc-2.29.so(_IO_str_seekoff+0x3e0b) [0x858cb]
 > /usr/lib/x86_64-linux-gnu/libc-2.29.so(__libc_malloc+0x22f) [0x869ff]
...
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?是否pmap显示了夸大的映射尺寸?或者我错过了一些系统调用?

linux mmap virtual-memory strace pmap

5
推荐指数
0
解决办法
556
查看次数

标签 统计

android ×1

android-layout ×1

linux ×1

mmap ×1

pmap ×1

strace ×1

virtual-memory ×1