解析日志文件后的Linux虚拟内存消耗

解析日志文件后的Linux虚拟内存消耗

我编写了一个解析器来读取 auth.log。出于某种原因,在解析时auth.log我发现它VSZ大于总物理内存,即2GB。根据 auth.log 的大小以及读取器的运行时间,VSZ它会增加(有时最多可达 ~8GB)。

这正常吗?内存消耗如此大的原因可能是什么?

# ps aux
USER   PID  CPU %MEM     VSZ   RSS   TTY STAT START  TIME  COMMAND
root 17547  0.7  1.4 3123744 30820 pts/2  Sl+ Jul30 11:42 ./reader auth.log

# free
             total       used       free     shared    buffers     cached
Mem:       2063568    1842232     221336          0     179084    1057680
-/+ buffers/cache:     605468    1458100
Swap:      4032504        288    4032216

答案1

这很正常。虚拟内存非常便宜,实际上是免费的,因此几乎没有理由减少对它的消耗。

相关内容