以小于实际使用的内存的ps内存的RSS内存总和

时间:2017-08-02 11:15:10

标签: linux memory memory-management redhat ps

我们有两台配置和使用相同的机器(我们有两台平衡的Siebel应用服务器)。

通常,我们的RAM使用率非常相似(约为7 Gb)。 最近,我们只在其中一个中突然增加了RAM,现在我们在该机器上的RAM利用率接近14 Gb。

因此,对于非常相似的盒子,我们有一个使用7Gb RAM,而另一个使用14 Gb。

现在,使用 ps aux 命令确定它使用所有这些额外内存的进程,我们发现两台机器的内存消耗非常相似。不知何故,我们没有看到任何使用这些7 Gb额外RAM的进程。

让我们看看: Machine 1: total used free shared buffers cached Mem: 15943 15739 204 0 221 1267 -/+ buffers/cache: 14249 1693 Swap: 8191 0 8191

因此,我们使用了14249 Mb的RAM。

Machine 2: total used free shared buffers cached Mem: 15943 15636 306 0 962 6409 -/+ buffers/cache: 8264 7678 Swap: 8191 0 8191

因此,我们使用了8264 Mb的RAM。

我猜,ps的Resident Set Size内存之和应该等于或大于此值。根据{{​​3}},为进程分配了多少内存并且在RAM中(包括来自共享库的内存)。我们在SWAP中没有任何记忆。

然而:

机器1:

ps aux | awk 'BEGIN {sum=0} {sum +=$6} END {print sum/1024}' 8357.08

8357.08< 14249 - > NOK!

机器2:

ps aux | awk 'BEGIN {sum=0} {sum +=$6} END {print sum/1024}' 8468.63

8468.63> 8264 - >行

我出错了什么?我怎样才能找到这个"缺失的地方"记忆是什么?

提前谢谢

0 个答案:

没有答案