首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误-12休眠图像。没有足够的空闲内存(有时)

错误-12休眠图像。没有足够的空闲内存(有时)
EN

Ask Ubuntu用户
提问于 2012-10-31 00:46:33
回答 2查看 1.7K关注 0票数 1

我在Ubuntu12.10的冬眠中遇到了问题,它在12.04的时候运行得很好。当我尝试和hibernate时,它有时会显示hibernate抛出一个错误并将我返回到桌面。我得到的错误是:

代码语言:javascript
复制
PM: Creating hibernation image:
PM: Need to copy 375021 pages
PM: Normal pages needed: 117957 + 1024, available pages: 110205
PM: Not enough free memory
PM: Error -12 creating hibernation image

现在我明白了错误的含义,但这是没有意义的。我的交换文件是5GB,很少使用,因为我有4GB的RAM。我知道建议使用比RAM等多1.5倍的交换空间,但是空间似乎不是问题,尽管有错误。

例如,我很少使用超过25%-30%的内存,但仍然存在上述问题。

此外,在一个新的启动和登录,没有程序打开和使用大约12%的RAM,我可以得到上述错误-但在其他时候,我可以冬眠,而使用我的内存25%。

另外,如果我继续尝试hibernate,在抛出上面的错误四五次之后,它最终还是会这样做的。一个成功的冬眠过程如下:

代码语言:javascript
复制
PM: Creating hibernation image:
PM: Need to copy 295511 pages
PM: Normal pages needed: 95534 + 1024, available pages: 132627

有什么设置是我需要调整的,还是在冬眠前我需要做些什么来避免这个问题?

我想这个问题可以更好地解释为:是否有办法在休眠前安全地刷新缓冲区和缓存?除了尝试冬眠几次,直到它成功!

提前谢谢。

EN

回答 2

Ask Ubuntu用户

发布于 2012-11-03 12:50:55

我相信我找到了一个局部解。如果我输入命令:

sudo sync && sudo sysctl -w vm.drop_caches=3

在尝试冬眠之前,我不再有问题,它第一次冬眠,每次。这似乎是空缓存,因此留下足够的内存(RAM)自由创建图像。

我不是程序员,但Ubuntu在冬眠之前不这么做似乎不合逻辑?显然,它所做的类似于多次冬眠尝试,最终的结果是相同的,但很明显,它在尝试hibernate之前并没有这样做。当然,当休眠时,也将所有缓冲区和缓存写到磁盘上也是效率低下的,因为它们也必须在简历上重新加载,即使它们不再需要。当然,如果Ubuntu在休眠之前转储缓存,或者至少有一些部分已经被使用了,那么它会更高效吗?

事实上它没有做到这一点,这可能是建议将RAM的两倍大小用于交换空间的原因;特别是在SSD的时代,如果您有16 HD的RAM,那么交换文件就会丢失32 HD(可能是HD空间的一半)的空间,而这个交换文件只是用来休眠的。

随着内存的不断增加,我想说这是一个需要研究的领域。HD空间可能很便宜,但这并不是因为效率低下而浪费它的借口。

票数 1
EN

Ask Ubuntu用户

发布于 2012-11-07 00:50:16

我发现,我的问题可能与其他事情有关,而不是缓冲区和缓存已满的事实。

在我上一篇文章发表几天后,我无法在没有磁盘检查的情况下启动,但是磁盘检查挂起,从未完成。我最终成功地手工完成了磁盘检查,它发现了许多错误,然后修复了这些错误。

出于一时兴起,我再次尝试在没有下面命令的情况下冬眠来清空缓存,结果是成功的。我一直第一次冬眠,从没有问题,甚至有时使用30-40%的RAM,不需要首先清除缓存,它总是成功的。

因此,似乎最初的错误与磁盘上的错误有关,而根本没有释放内存,一旦这些错误被修复,问题就消失了。因此,如果收到上述错误,您可能希望在尝试其他任何操作之前检查所有分区的错误。

希望这对某人有用。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/209871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档