Больше файлов не осталось как исправить

Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть

На жёстком диске ещё есть место, но система Linux говорит, что места не осталось и любая операция, связанная с созданием файлов, завершается ошибкой с сообщением, что места на диске нет.

Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?

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

Подобная ситуация возникала на этом же сервере накануне и помогла очистка логов, очистка кэша установленных пакетов и удаление ненужных файлов. Но на следующей день ситуация повторилась, хотя места уже точно было достаточно — несколько свободных гигабайт места на диске.

Проверьте с du и df

Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.

Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.

Для обхода всего дерева директорий потребуется время.

Теперь попробуем с df:

Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.

Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.

Возможные причины

Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.

Удаление файлов занятых процессом

Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.

Попробуйте найти процесс.

Если результатов нет, то попробуйте команду:

В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:

Недостаточно Инод (Inode)

Для современных файловых систем Linux есть такое понятие как иноды (“inodes”) — это набор метаданных на файловой системе. Иноды отслеживают информацию о файлах. Многие файловые системы имеют фиксированное количество инод, поэтому очень возможно занять максимальное выделенное количество без заполнения самой файловой системы. Вы можете использовать для проверки команду df:

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

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

В первую очередь нужно локализовать папку, в которой возникла проблема.

Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:

Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:

Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.

Например, использование первой команды для поиска по директории /src/:

Вариант для поиска по директории /var/cache/:

В разных ситуациях для пользователей проблемными папками оказывались:

  • /var/lib/php/sessions/
  • /var/cache/fontconfig
  • /usr/src/
  • /var/cache/eaccelerator/
  • /var/log/squid3/

В /usr/src/ накапливалось слишком большое количество файлов, имеющих отношение к предыдущим ядрам. В /var/lib/php/sessions/ — бесконечные сессии phpMyAdmin. В /var/log/squid3/ и вообще в папке /var/log/ может накопиться огромное количество файлов с журналами от неправильно работающей программы или просто за много лет. В папке /var/cache/ может скопиться огромное количество файлов, имеющих отношение к кэшированию.

В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 годы из-за этой папке закончились иноды.

Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.

Читать еще:  Как открыть командную строку в Windows 8

Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:

Плохие блоки

Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.

Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.

Надеюсь, одно из этих решений решило вашу проблему. Эту проблему не всегда легко диагностировать в каждом случае. Однако, если повезёт, вы сможете устранить источник проблемы и продолжить пользоваться системой без её переустановки.

Кстати, сообщение “No space left on device” может возникнуть при попытке записать файл размером более 4GB на раздел с файловой системой FAT — данная файловая система не поддерживает файлы таких больших размеров.

Как исправить ошибку “На компьютере недостаточно памяти”

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

В этой статье мы расскажем вам о 4 эффективных способах исправления ошибки Windows 10 “На компьютере недостаточно памяти”.

Содержание статьи:

Способ №1. Обслуживание системы

Чтобы исправить возникшую неполадку, воспользуйтесь приведенной ниже инструкцией:

1. Запустите Панель управления. Вы можете быстро найти данную утилиту просто начав писать ее название в меню Пуск.

2. Переключите вид отображения параметров на Крупные значки и найдите меню Устранение неполадок. Для более быстрого доступа к нему вы можете ввести название утилиты в диалоговом окне Поиск в панели управления.

3. В левом углу вы увидите список расширенных возможностей открытого окна. Выберите параметр Просмотр всех категорий.

4. Перед вами появится список всех доступных служб. Найдите в нем параметр Обслуживание системы и откройте его.

5. В появившемся окне диагностики неполадок нажмите Далее и устраните все возникшие на компьютере ошибки.

Способ №2. Увеличение файла подкачки

Иногда ответ на вопрос нехватки памяти может крыться в размере файла подкачки. Давайте разберем как его правильно настроить.

1. Откройте утилиту Выполнить при помощи клавиш Win + R.

2. В появившемся окне введите sysdm.cpl и нажмите ОК.

3. Откройте вкладку Дополнительно и в меню Быстродействие кликните по клавише Параметры.

4. В открывшемся окне откройте вкладку Дополнительно и в меню Виртуальная память кликните по клавише Изменить.

5. Снимите галочку с параметра Автоматически выбирать объем файла подкачки для всех дисков.

6. Укажите для системного диска (обычно это диск С:) Размер по выбору системы, нажмите Задать, ОК и перезапустите компьютер.

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

Способ №3. Восстановление реестра

Иногда причиной возникшей неполадки может стать ошибка внутри реестра, которая может повлечь за собой повреждение и других системных функций. Ниже мы рассмотрим способ исправления повреждений реестра.

1. Воспользуйтесь комбинацией клавиш Win + R, чтобы открыть утилиту Выполнить. В диалоговом окне введите cmd и нажмите ОК.

Альтернативным способом запуска cmd является поиск утилиты при помощи меню Пуск и ее запуск от имени администратора.

2. В открывшемся окне командной строки введите команду sfc /scannow. Она проведет полное сканирование вашей системы, процесс которого может отнять некоторое время.

3. Дождитесь завершения проверки системы и перезапустите компьютер. Таким образом все поврежденные файлы будут удалены или исправлены.

Способ №4. Очистка временных файлов

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

1. Откройте меню Пуск.

2. В диалоговом окне введите команду Очистка диска и запустите найденную утилиту.

3. Выберите диск, который вы хотите очистить.

4. Кликните по клавише Очистить системные файлы и подтвердите корректность выбранного диска.

5. После того как вы ознакомитесь с данными о размере пространства, которое будет освобождено с помощью очистки, нажмите ОК и подтвердите запрос об удалении.

6. По завершению процесса перезапустите компьютер.

Способ №5. Закройте “тяжелые” программы

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

1. Откройте приложение Диспетчер задач при помощи комбинации клавиш Ctrl + Alt + Del. Альтернативным и не менее удобным способом его запуска является щелчок правой кнопкой мыши по Панели задач и выбор Диспетчера из списка доступных вариантов.

2. Во вкладке Процессы отсортируйте приложения по графе Память. Это действие поможет расположить в топе списка самые “тяжелые” приложения, отнимающие большое количество ОЗУ. Завершите их процессы.

Возьмите назаметку!
Если потребуется восстановление любых типов информации с жесткого диска , вам помогут инструменты Starus Recovery. Cкачать и опробовать программы для восстановления удаленных данных можно совершенно бесплатно!

Читать еще:  Как узнать память видеокарты на Windows 8

Похожие статьи про восстановление данных:

Как автоматически освободить место на жестком диске?

Иногда каждому из нас хочется каким-нибудь образом автоматизировать ту или иную сферу жизни. Сегодня…

20 способов ускорить Windows 10

Не так давно получила свой старт операционная система Windows 10. Главным ее отличием от предыдущих …

Что такое SSD и как он работает

SSD (Solid State Drive) — давно не новый товар на рынке комплектующих для ПК, но его популярно…

Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть

На жёстком диске ещё есть место, но система Linux говорит, что места не осталось и любая операция, связанная с созданием файлов, завершается ошибкой с сообщением, что места на диске нет.

Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?

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

Подобная ситуация возникала на этом же сервере накануне и помогла очистка логов, очистка кэша установленных пакетов и удаление ненужных файлов. Но на следующей день ситуация повторилась, хотя места уже точно было достаточно — несколько свободных гигабайт места на диске.

Проверьте с du и df

Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.

Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.

Для обхода всего дерева директорий потребуется время.

Теперь попробуем с df:

Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.

Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.

Возможные причины

Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.

Удаление файлов занятых процессом

Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.

Попробуйте найти процесс.

Если результатов нет, то попробуйте команду:

В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:

Недостаточно Инод (Inode)

Для современных файловых систем Linux есть такое понятие как иноды (“inodes”) — это набор метаданных на файловой системе. Иноды отслеживают информацию о файлах. Многие файловые системы имеют фиксированное количество инод, поэтому очень возможно занять максимальное выделенное количество без заполнения самой файловой системы. Вы можете использовать для проверки команду df:

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

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

В первую очередь нужно локализовать папку, в которой возникла проблема.

Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:

Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:

Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.

Например, использование первой команды для поиска по директории /src/:

Вариант для поиска по директории /var/cache/:

В разных ситуациях для пользователей проблемными папками оказывались:

  • /var/lib/php/sessions/
  • /var/cache/fontconfig
  • /usr/src/
  • /var/cache/eaccelerator/
  • /var/log/squid3/

В /usr/src/ накапливалось слишком большое количество файлов, имеющих отношение к предыдущим ядрам. В /var/lib/php/sessions/ — бесконечные сессии phpMyAdmin. В /var/log/squid3/ и вообще в папке /var/log/ может накопиться огромное количество файлов с журналами от неправильно работающей программы или просто за много лет. В папке /var/cache/ может скопиться огромное количество файлов, имеющих отношение к кэшированию.

В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 годы из-за этой папке закончились иноды.

Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.

Читать еще:  Для чего нужна программа java на компьютере

Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:

Плохие блоки

Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.

Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.

Надеюсь, одно из этих решений решило вашу проблему. Эту проблему не всегда легко диагностировать в каждом случае. Однако, если повезёт, вы сможете устранить источник проблемы и продолжить пользоваться системой без её переустановки.

Кстати, сообщение “No space left on device” может возникнуть при попытке записать файл размером более 4GB на раздел с файловой системой FAT — данная файловая система не поддерживает файлы таких больших размеров.

Убежало место с диска D:

В виндовс есть папка winsxs которая с каждым днем все больше растет в размерах. В этой папке хранятся данные для востановления Windows и они как бы железной сцепкой прописаны в системе. Эта папка отлично крадет пространство диска.

100% помогает переустановка виндовс)

Ну а вдруг кому пригодится:

sc stop msiserver
sc stop TrustedInstaller
sc config msiserver start= disabled
sc config TrustedInstaller start= disabled
icacls «%WINDIR%WinSxS» /save «%WINDIR%WinSxS.acl» /t
takeown /f «%WINDIR%WinSxS» /r
icacls «%WINDIR%WinSxS» /grant %username%:(F) /t
compact /s:»%WINDIR%WinSxS» /c /a /i *
icacls «%WINDIR%WinSxS» /setowner «NT SERVICETrustedInstaller» /t
icacls «%WINDIR%» /restore «%WINDIR%WinSxS.acl»
sc config msiserver start= demand
sc config TrustedInstaller start= demand

Вкладываем в файл и называем его например compress.cmd, запускаем. По окончанию выполнения скрипта cmd окошко закроется.

P.S. от 2 до 9 Гб сжимал таким способом на серверах

Откровенно говоря очень давно не имел дела с AMD процами, а A6 вообще в руках не держал ни разу. Так уж сложилось пересел на i5 после Athlon X4 640. В любом случае, насколько я знаю винда по дефолту должна видеть все ядра. Другое дело что не весь софт умеет нагрузить полностью все ядра — это факт и с этим никак не разрулить пока. Хотя список софта который полноценно умеет нагрузить весь проц растет. Лично мое мнение — переустановка винды должна решить вопрос. Рекомендую чистую с msdn, а не «зверьCD» и иже с ними.

Обновка биоса уже давно перестала быть проблемой и шьются он прямо из под винды просто на ура, главное быть уверенным в источнике питания дабы не было «ни единого разрыва» 🙂

Скрин task manager кстати был бы в тему, хочу посмотреть как это у Вас одно ядро только работает и какой магией Вы собирались «включить» остальные ядра в msconfig.

1) Клик ПКМ по созданному файлу -> Запустить от Администратора (если у Вас конечно есть таковые права и Вы не с лимитированной учетки сидите).
или
2) Пуск -> В поиске Коммандная строка -> ПКМ -> Запустить от Администратора -> C:путькфайлуcompress.cmd

Все можно проще сделать. Правой кнопкой по «Мой компьютер» выбираем «Свойства». Думаю дальнейшую последовательность объяснять не надо.

Добавлю лишь, что система резервирует и занимает место, дабы потом восстановиться. Можно ограничить ей это место. Можно вообще запретить. Дело в том, что по умолчанию папка для восстановления создается на всех дисках. Хотя одного места ей будет достаточно. Я оставил только на C:, на D: запретил. Потом папку с множеством букв и цифр удаляем. Я удалял через Total Comander.

Не совсем по сути вопроса «пропадания места», но все же.
Кто ограничен в размере диска с системой, и не пользуется режимом гибернизации — впустую теряет место на файле hiberfil.sys. В данный файл записывается дамп памяти при уходе в гибернизацию, так что он равен объему памяти Вашего ПК.
Чтобы его удалить, достаточно отключить режим гибернизации, выполнив из командной строки с правами администратора команду «powercfg -h off». В Windows 7/Vista после может потребоваться перезагрузка.

Сам сижу на SSD, и активно пользуюсь гибернизацией, ведь с такой скоростью чтения-записи гибернизация проходит быстрее спящего режима на любом ноутбуке, и незачем потом повторно открывать программы).

По теме самого «пропадания» места. Есть волшебная папка «System Volume Information», размер которой не виден даже локальному администратору (тут уже упоминалась). Именно там лежат файлы для восстановления системы, которые легко могут выбирать немало места при приличном количестве резервных копий.
Её размер и содержимое можно увидеть, назначив себя владельцем данной папки в настройках Безопасности. Сначала ставим свою учетную запись её владельцем, затем добавляем себе полные права для данной папки.

У меня, с отключенным восстановлением системы, она занимает менее 100 мегабайт. На ноутбуке с резервными копиями там около 30гб.
Восстановление системы мало кому помогает, многие его отключают. Вопрос целесообразности использования данной функции каждый решает для себя сам. На стационарном ПК я всегда могу быстро переустановить систему, ни чего проблемного, так что функция отключена. А вот на ноутбуке, который нужен изредка и исключительно для рабочих целей, терять в случае рабочей необходимости время на переустановку — не айс, так что оставил восстановление системы включенным.

Ссылка на основную публикацию
Adblock
detector