Ошибка -12 спящего режима. Недостаточно свободной памяти (иногда)

1

У меня проблема с спящим режимом в Ubuntu 12.10, она отлично работала в 12.04. Когда я пытаюсь спящий режим, иногда кажется, что спящий режим вызывает ошибку и возвращает меня на рабочий стол. Ошибка, которую я получаю, такова:

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

Теперь я понимаю, что означает ошибка, но это не имеет смысла. Мой файл подкачки составляет 5 ГБ и редко используется, поскольку у меня 4 ГБ ОЗУ. Я знаю, что рекомендуется иметь в 1,5 раза больше swap, чем RAM и т. Д., Но пространство, похоже, не проблема, несмотря на ошибку.

Например, я редко использую более 25% -30% своей ОЗУ, но все же проблема выше.

Кроме того, при новой загрузке и входе в систему, без открытия программ и использования только около 12% ОЗУ, я могу получить вышеприведенную ошибку, но в других случаях я могу спящий режим, используя 25% моей ОЗУ.

Кроме того, если я продолжаю пытаться спящий режим, это в конечном итоге происходит после того, как вы сбросили вышеуказанную ошибку четыре или пять раз. Успешная спячка выглядит так:

PM: Creating hibernation image:
PM: Need to copy 295511 pages
PM: Normal pages needed: 95534 + 1024, available pages: 132627

Есть ли какая-то настройка, которую мне нужно настроить или что-то, что мне нужно сделать до спящего режима, чтобы избежать этой проблемы?

Я думаю, что этот вопрос можно было бы лучше интерпретировать как: есть ли способ безопасного сброса буферов и кеша до спячки? Помимо попытки спячки несколько раз, пока она не будет успешной!

Спасибо заранее.     

задан user99306 31.10.2012 в 01:46
источник

2 ответа

1

Я считаю, что я нашел здесь частичное решение . Если я введу команду:

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

Прежде чем пытаться спящий режим, у меня больше нет проблемы, и он зимует первый раз, каждый раз. Похоже, что он очищает кеш, поэтому для создания изображения требуется много памяти (ОЗУ).

Я не программист, но кажется нелогичным, что Ubuntu не делает этого до спячки в любом случае? Очевидно, что это похоже на то, что повторные попытки спящего режима в конечном итоге имеют одинаковый результат, но, разумеется, он не делает этого, прежде чем пытаться спящий режим. Конечно, он неэффективен, когда спящий режим также записывает все буферы и кеш на диск, так как они также должны быть перезагружены при возобновлении, даже если они больше не нужны. Разумеется, было бы более эффективно, если бы Ubuntu сбросил кеш или, по крайней мере, части, которые не были использованы какое-то время, до спячки?

Тот факт, что он этого не делает, вероятно, является причиной того, что рекомендуется иметь двойной размер ОЗУ для пространства подкачки; ужасно неэффективны, особенно в дни SSD, где, если у вас 16 ГБ ОЗУ, вы потеряете 32 ГБ (потенциально половину вашего пространства HD) пространства для файла подкачки, который используется только для спящего режима.

С постоянно увеличивающимися размерами ОЗУ, я бы сказал, что это область, в которой нужно смотреть. HD-пространство может быть дешевым, но это не повод отбрасывать его из-за неэффективности.     

ответ дан user99306 03.11.2012 в 13:50
0

Я обнаружил, что моя проблема, возможно, была связана с чем-то другим, а не с тем, что буферы и кеш были заполнены.

Через несколько дней после моего последнего сообщения я не мог загрузиться без проверки диска, но диск проверен на свидание и никогда не завершен. В итоге мне удалось вручную выполнить проверку диска, и он обнаружил множество ошибок, которые затем были исправлены.

По прихоти я снова попробовал спящий режим без команды ниже, чтобы очистить кеш, и это было успешно. Я впервые спящий с первого взгляда с тех пор без проблем, даже иногда с использованием 30-40% ОЗУ, и без необходимости сначала очистить кеш, и он всегда успешный.

Итак, кажется, что начальная ошибка была связана с ошибками на диске, а не с свободной памятью, и как только эти ошибки были исправлены, проблема исчезла. Поэтому, если вы получили вышеуказанную ошибку, вы можете проверить все свои разделы на наличие ошибок, прежде чем пытаться что-либо еще.

Надеюсь, это кому-то полезно.     

ответ дан user99306 07.11.2012 в 01:50