什么[载体]在smaps中意味着什么?

时间:2013-11-08 12:21:56

标签: linux memory memory-management process linux-kernel

我找不到有关[vectors]在/ proc / pid / 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有关。 我需要计算进程和其中特定库所消耗的内存,所以我需要知道是否必须计算[向量]输出

1 个答案:

答案 0 :(得分:3)

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

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