Linux RSS内存的总和(以ps为单位)小于实际使用的内存

Linux RSS内存的总和(以ps为单位)小于实际使用的内存,linux,memory,memory-management,redhat,ps,Linux,Memory,Memory Management,Redhat,Ps,我们有两台配置和使用完全相同的机器(其中有两台平衡的Siebel应用服务器) 通常情况下,它们的RAM使用情况非常相似(大约7GB)。 最近,我们只有一台机器的RAM突然增加,现在该机器的RAM利用率接近14GB 因此,对于非常类似的盒子,我们有一个使用7Gb的RAM,而另一个使用14GB 现在,使用ps aux命令来确定哪个进程使用了所有这些额外的内存,我们看到这两台机器的内存消耗非常相似。不知何故,我们看不到任何进程正在使用这些7GB的额外RAM 让我们看看: 机器1: 缓存的可用共享缓冲

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

通常情况下,它们的RAM使用情况非常相似(大约7GB)。 最近,我们只有一台机器的RAM突然增加,现在该机器的RAM利用率接近14GB

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

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

让我们看看:

机器1:
缓存的可用共享缓冲区总数
成员:15943 15739 204 0 221 1267
-/+缓冲区/高速缓存:14249 1693
掉期:819108191

因此,我们有14249MB的RAM使用量


机器2:
缓存的可用共享缓冲区总数
成员:159431563630609626409
-/+缓冲区/高速缓存:8264 7678
掉期:819108191

因此,我们有8264MB的RAM使用量

我猜,ps的常驻集大小内存之和应该等于或大于此值。根据分配给进程的内存量以及RAM中的内存量(包括来自共享库的内存)。我们没有任何内存可交换

然而:

机器1:


ps aux | awk'开始{sum=0}{sum+=6}结束{print sum/1024}'
8357.08

8357.08<14249->NOK

机器2:


ps aux | awk'开始{sum=0}{sum+=6}结束{print sum/1024}'
8468.63

8468.63>8264->正常

我错了什么?我怎样才能找到这个“缺失”的记忆在哪里


提前感谢您

ps图不会考虑进程之间的共享内存,因此比较ps和空闲数据是很困难的。没错,Raman,但作为推论,我认为ps ouptut比空闲的更大,而不是相反。空闲包括进程之间的共享内存,而ps不包括。免费的通常会更大。感谢您的见解,但是我理解:“常驻集大小是进程当前分配和使用的物理内存量(不交换页面)。它包括代码、数据和共享库(在使用它们的每个进程中都会计算)”。从Mikhail Krestjaninoff处可以看到。@user3779018刚刚遇到同样的问题,您有什么进展吗?