我正在使用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的内存。
我相信你有足够的可用内存。