Kcore занимает весь диск

Обновлено: 07.07.2024

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

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

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

Это означает, что НЕ копируйте бездумно команды — читайте пояснения к ним и оценивайте, насколько они безболезненны для вашей ситуации.

1. Удаление временных файлов

Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:

НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.

2. Удаление файлов кэширования

В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.

Для удаления кэша шрифтов:

Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):

Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):

Удаление кэша справочных страниц:

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

3. Удаление логов (журналов)

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.

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

4. Очистите корзину

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

/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):

5. Удаление ненужных файлов исходного кода заголовков ядра

Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- - большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.

6. Удаление осиротевших пакетов

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


На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:


Для Debian и производных предыдущая команда абсолютно безопасна.

В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:

Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!

Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:


Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.

7. Очистка журналов systemd

Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl, подробности смотрите в статье «Как использовать journalctl для просмотра системных логов Linux».

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

Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:

Либо для удаления всех записей в системном журнале, старше одной недели:

8. Файлы в директории /lost+found

В папку /lost+found сохраняются файлы, которые были найдены после проверки файловой системы диска. Обычно такие проверки выполняются после внезапной перезагрузки системы или в случае признаков проблем с диском.

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

Папка /lost+found может быть пустой (если не было проблем с диском). В случае если там есть файлы, то вы можете их просмотреть и, при желании, удалить.

9. Очистка PHP сессий

Иногда веб-приложений из-за бага могут создать бесчисленное количество сессий. Проверьте директорию /var/lib/php/sessions/ на предмет слишком большого количества файлов.

(БОНУС) 10. Проанализируйте файлы Docker

Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:

Заключение

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

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

Если я пропустил какие-то директории с файлами, которые можно безболезненно удалить, то пишите их в комментариях!

После того, как вы столкнулись с DDOS-атакой, как-то /proc/kcore очень сильно, я использую небольшой класс php для проверки текущего дискового пространства и количества используемых.

Мой вопрос: безопасно ли удалить файл /proc/kcore ? Или есть решение по его нормальному размеру.

Размер файла /proc/kcore равен 140.737.486.266.368 байт

Я разместил свой сервер на DigitalOcean.

Если вам нужна дополнительная информация, пожалуйста, спросите;)

df -h возвращает:

du -shx возвращает:

Результаты lsof | grep deleted :

В ответ на ваш оригинальный вопрос:

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

Обновление: 2016-06-03

Мой ответ здесь периодически повторяется, поэтому я предполагаю, что люди все еще ищут объяснение того, что /proc/kcore .

Чтение: cat /proc/sys/net/ipv4/ip_forward ( 0 выключено, 1 включено)

Пишите: echo 1 > /proc/sys/net/ipv4/ip_forward

Как и в случае с kcore , это не настоящий файл. Но он действует как один. Поэтому, когда вы пишете на него, вы фактически меняете настройки программного обеспечения, а не байты на диске.

/proc/meminfo и /proc/cpuinfo доступны только для чтения. Вы можете cat или less их, или fopen() из своего собственного приложения. Они показывают вам детали вашего оборудования (память и процессор).

Полностью безопасно запускать команду sudo rm/proc/kcore . Он просто скажет rm: cannot remove '/proc/kcore': Operation not permitted .

Все файлы в /proc самом деле не существуют на вашем жестком диске, поэтому их нельзя удалить. Эти файлы представляют информацию о системе. Например, когда вы выполняете ls/proc , вы запрашиваете ядро для списка процессов в системе. Если вы запустите ls -l/proc/22/exe , вы запрашиваете ядро путь к файлу исполняемого файла процесса 22. И так далее.

ПРИМЕЧАНИЕ. Вы никогда не получите свободного места на диске, удалив файлы из /proc. Это виртуальная файловая система, которая не имеет ничего общего с пространством на жестком диске.

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

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

[решено] Закончилось место на корневом разделе

Модератор: Vadim

[решено] Закончилось место на корневом разделе

lubuntu 13.04
поставил audacity, чтобы обрабатывать звук. Через некоторое время стала виснуть. Потом начало появляться окошко, что на диске мало места, смените в настройках чего-то.
Полез в настройки - параметры. Там в каталогах было var\tmp\audacity что-то такое, и пишет - 300 мб места. Я перенес это всё в домашнюю папку, где 24 гб места есть - всё равно виснет. но уже не говорит ничего

Теперь у меня еще вопрос появился - может у меня комп медленно работает потому что где-то место закончилось? Как понять где? И что делать?

я делал всякое такое:
sudo apt-get autoremove
sudo apt-get clean
ubuntu tweak чистил по 2 раза, корзину очищал.

С чего он кричит, что мало места!?
Почему виснет вообще!?

Судя по всему, у вас заканчивается место на системном разделе. И да, это чревато неприятностями, и не только с Audacity.
Путей решения два:
1. Можно увеличить системный раздел.
2. Можно удалить все лишнее с системного раздела, тем самым освободив место.

Первый путь потенциально опасен (возможна потеря данных, поскольку для увеличения раздела нужно уменьшать соседний).
Второй путь проще, особенно если есть, что удалять. Чтобы узнать, какие данные занимают больше всего места на диске, существует масса утилит. Одна из них — GdMap (есть в репозиториях).
По моему опыту могу сказать, что если система устанавливалась давно и регулярно обновляется, то можно освободить до нескольких гигабайт, поудаляв все пакеты с ядром Linux, кроме последнего.

zhart писал(а): . можно освободить до нескольких гигабайт, поудаляв все пакеты с ядром Linux, кроме последнего. Ну а узнать "хто ест место" можно, начав с простого просмотра размера папок в корне, далее гадать пока бесполезно - случаи разные бывают.

спасибо большое за советы.
Но я регулярно чищу и ядра старые и всё остальное.
Вот картинка с размерами папок: https://www.facebook.com/photo.php?fbid . 307&type=1
в папке media у меня прицеплен ntfs диск, поэтому я его тут не мерял - с ним всё хорошо, я думаю.
а вот сверху надпись свободно 98 мб - мне совсем не нравится!
И размер папки proc - 128 Tb тоже не нравится. И внутри там хрень какая-то непонятная. причём всё по нулям, и 1 файл - kcore - 128 тб! Что это за папка такая?
впрочем нашёл: "Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов." но мне это мало что говорит!

[решено] Закончилось место на корневом разделе

Модератор: Vadim

[решено] Закончилось место на корневом разделе

lubuntu 13.04
поставил audacity, чтобы обрабатывать звук. Через некоторое время стала виснуть. Потом начало появляться окошко, что на диске мало места, смените в настройках чего-то.
Полез в настройки - параметры. Там в каталогах было var\tmp\audacity что-то такое, и пишет - 300 мб места. Я перенес это всё в домашнюю папку, где 24 гб места есть - всё равно виснет. но уже не говорит ничего

Теперь у меня еще вопрос появился - может у меня комп медленно работает потому что где-то место закончилось? Как понять где? И что делать?

я делал всякое такое:
sudo apt-get autoremove
sudo apt-get clean
ubuntu tweak чистил по 2 раза, корзину очищал.

С чего он кричит, что мало места!?
Почему виснет вообще!?

Судя по всему, у вас заканчивается место на системном разделе. И да, это чревато неприятностями, и не только с Audacity.
Путей решения два:
1. Можно увеличить системный раздел.
2. Можно удалить все лишнее с системного раздела, тем самым освободив место.

Первый путь потенциально опасен (возможна потеря данных, поскольку для увеличения раздела нужно уменьшать соседний).
Второй путь проще, особенно если есть, что удалять. Чтобы узнать, какие данные занимают больше всего места на диске, существует масса утилит. Одна из них — GdMap (есть в репозиториях).
По моему опыту могу сказать, что если система устанавливалась давно и регулярно обновляется, то можно освободить до нескольких гигабайт, поудаляв все пакеты с ядром Linux, кроме последнего.

zhart писал(а): . можно освободить до нескольких гигабайт, поудаляв все пакеты с ядром Linux, кроме последнего. Ну а узнать "хто ест место" можно, начав с простого просмотра размера папок в корне, далее гадать пока бесполезно - случаи разные бывают.

спасибо большое за советы.
Но я регулярно чищу и ядра старые и всё остальное.
Вот картинка с размерами папок: https://www.facebook.com/photo.php?fbid . 307&type=1
в папке media у меня прицеплен ntfs диск, поэтому я его тут не мерял - с ним всё хорошо, я думаю.
а вот сверху надпись свободно 98 мб - мне совсем не нравится!
И размер папки proc - 128 Tb тоже не нравится. И внутри там хрень какая-то непонятная. причём всё по нулям, и 1 файл - kcore - 128 тб! Что это за папка такая?
впрочем нашёл: "Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов." но мне это мало что говорит!

Читайте также: