即使cpu空闲,Linux Ram也不是空闲的

即使cpu空闲,Linux Ram也不是空闲的,linux,Linux,我是linux的新手。 我的linux服务器说它有47 gb的Ram和四核cpu。但它并没有达到应有的速度 使用free-m命令并显示 可用容量:~47gb 已使用:~45gb 免费:~2gb 此时,服务器不被任何其他人使用。 使用top命令,显示cpu使用率为0.1% 自由命令中显示的使用值是否正确 如果数据可靠,什么可以利用45gb 它是Fedora64位内核,支持pae物理地址扩展 如果这是一个已知的问题,请帮助并让我知道。是的,这是一个问题,但答案是,你的记忆基本上是免费的,而不是你慢下

我是linux的新手。 我的linux服务器说它有47 gb的Ram和四核cpu。但它并没有达到应有的速度

使用free-m命令并显示 可用容量:~47gb 已使用:~45gb 免费:~2gb

此时,服务器不被任何其他人使用。 使用top命令,显示cpu使用率为0.1%

自由命令中显示的使用值是否正确

如果数据可靠,什么可以利用45gb

它是Fedora64位内核,支持pae物理地址扩展


如果这是一个已知的问题,请帮助并让我知道。

是的,这是一个问题,但答案是,你的记忆基本上是免费的,而不是你慢下来的原因。免费看看你的记忆。例如:

$ free -tm
            total       used       free     shared    buffers     cached
Mem:          3833       3751         82          0       1056       1107
-/+ buffers/cache:       1587       2246
Swap:         2000         83       1916
Total:        5833       3834       1999
第一行中的
已使用
是否未使用表示当前正在使用

看第一行,它说我总共使用了
3833个
,使用了
3751个
。这是个问题吗?不,为什么?当Linux使用内存时,它会将内存标记为已使用,当它完成时,它会释放不再需要的缓冲区和缓存内存。以前使用过但现在可用的内存不会返回到
total
中,也不会从
used
中减去,相反,缓冲区和缓存只会返回到系统,并可供可能需要它的任何其他进程重复使用

如果您进一步向右看,您会看到我有
1056个缓冲区
1107个缓存
。下一行解释了在
总数中只有
1587个已使用
2246个免费
2246
大致上是原始的
82空闲的
+(
1056缓冲区
+
1107缓存的
)的总和,这些缓冲区已释放以供重复使用。这是当前正在使用和可用的内存


下一行显示可用的
swap
及其用法,最后一行显示行
1
3
的大致总和。因此,不必惊慌,如果出现减速,很可能不是因为您的内存已全部使用。

Hmm不是空闲的-我将以mb而不是gb显示使用的内存?使用的巨大45 gb,很可能是交换空间。可能是您的交换分配混乱,物理内存没有问题,仅以mb表示。我只是把它改成可读的。另外,如果我使用free-g,并且free mem小于1 gb,则显示为0。另一种可能性是,您的应用程序可能存在内存泄漏问题,或者您的应用程序的GC没有因不做任何工作而延迟。当时没有用户应用程序在运行,只有ssh在运行。如何检查交换分配/配置是否正常?谢谢!这回答了我的疑问,还有一个疑问。在我的服务器中,交换总量为5 gb,内存为47 gb。可以增加交换以获得良好的性能吗?因为将我的服务器与性能快速的服务器进行比较时,该值似乎较低。否。如果您正在交换内存,由于将内存分页到磁盘的效率低下,您的性能将降低。使用47G内存,您最好完全禁用交换。当您使用
free-tm
或任何其他工具检查时,您会发现您的交换文件可能从未接触过。这是一件好事。您可以使用…完全关闭交换<代码>swapoff
并使用
swapon
重新启用。不用担心,没有交换,即使你用完了47G,你也不会崩溃。Linux足够聪明,可以为系统操作保留内存,即使内存耗尽。祝你好运