![解析日志文件后的Linux虚拟内存消耗](https://linux22.com/image/1372597/%E8%A7%A3%E6%9E%90%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%90%8E%E7%9A%84Linux%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%E6%B6%88%E8%80%97.png)
我编写了一个解析器来读取 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
这很正常。虚拟内存非常便宜,实际上是免费的,因此几乎没有理由减少对它的消耗。