3

我在 /proc/pid/smaps 中找不到有关 [vector] 含义的任何信息。这是我的一些 smaps 文件的连续部分:

76eec000-76f11000 rw-p 0025b000 00:0c 32363615   /usr/lib/libQt5Quick.so.5.0.0
Size:                148 kB
Rss:                 148 kB
Pss:                  97 kB
Shared_Clean:         60 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        88 kB
Referenced:          148 kB
Anonymous:            88 kB
AnonHugePages:         0 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB
VmFlags: rd wr mr mw me ac 
76f11000-76f14000 rw-p 00000000 00:00 0          [vectors]
Size:                 12 kB
Rss:                  12 kB
Pss:                  12 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        12 kB
Referenced:           12 kB
Anonymous:            12 kB
AnonHugePages:         0 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB
VmFlags: rd wr mr mw me ac 

我想知道[vectors]是否也与之前的库libQt5Quick.so.5.0.0有关。我需要计算一个进程和其中的特定库消耗的内存,所以我需要知道是否必须计算 [vectors] 输出

4

1 回答 1

3

[vectors] 表示VDSO机制使用的页面。VDSO 是一种通过消除上下文切换开销来加速常见系统调用的方法。基本上,内核只是与普通系统调用(想想 gettimeofday() 等)的结果共享一点内存,您的用户空间进程可以读取它。

您不应将其视为已用内存,因为所有进程将共享相同的内存。

于 2013-11-08T12:40:34.373 回答