<分区>
我用 C++ 编写了一个小型 geoip 查找 linux 守护进程,我得到了两个不同的结果,我想知道为什么。
这是源代码:https://github.com/homer6/geoipd 我已经用 valgrind 检查了它是否有内存泄漏,没有任何泄漏。
我有两台网络服务器,它们都在 Amazon EC2 上运行相同的 Ubuntu 镜像,并且都在一个负载均衡器后面,以确保它们各自获得大致相同的流量。我在两台服务器上都安装了守护进程,现在我已经让它们在生产环境中运行了几天。
一切都按预期工作,但两个实例的“ps aux”输出略有不同。
服务器 1:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
1004 28889 0.0 6.7 640288 517692 ? Ss Nov09 0:03
服务器 2:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
1004 16587 0.0 6.7 574752 517688 ? Ss Nov09 0:02
我的问题分为两部分:
- 为什么虚拟内存使用有这么大的差异?
- 为什么常驻内存使用率有差异?
提前致谢...
更新: 我记得我第一次启动进程时检查了 VM 大小。它们都为 574752(或略低于 575 MB)并且它们具有相同的值。