尽pipe所有的交换空闲,我的服务器内存不足

我正在使用Debian 6(Squeeze)。 该服务器有4GB的内存和8GB的交换。 我开始在高应用程序加载时间得到内存分配错误,但是从最高命令:

Mem: 4055944k total, 3915436k used, 140508k free, 10444k buffers Swap: 7999480k total, 0k used, 7999480k free, 3604496k cached 

系统甚至不尝试使用交换?

为什么会这样呢? 我想升级主内存,但现在还不行。

谢谢。

根据要求,错误/例外是:

在抛出std :: bad_alloc实例后终止调用what():std :: bad_alloc·

据我所知,只有当记忆力已经用完时才会提起。

另外,这里是'free -m'的输出:

  total used free shared buffers cached Mem: 3960 3334 625 0 19 2847 -/+ buffers/cache: 467 3493 Swap: 7811 0 7811 

不过现在系统还不是很重。

这是从顶部的输出..看看下面的输出

 free -m 

然后看看+/-缓冲区行的空闲列。 这是你应用程序可以使用的真正的自由内存。 Linux将使用所有内存进行文件系统caching,以减轻磁盘的负担,并使访问文件的速度非常快。 当应用程序请求时,内核将根据需要释放用于caching的内存。

我相信你有足够的可用内存。