OS X El-Capitan - каталог / cores занимает много места?

35

Я использую программу Daisy Disk, чтобы посмотреть, что занимает место на моем Mac, и я обнаружил, что каталог / cores занимает 77 Гб.

Это проблема? Могу ли я избавиться от этого, чтобы вернуть себе пространство?

введите описание изображения здесь

RandomMath
источник
Что launchctl limit coreпоказывает допуск на размер ядра? По умолчанию у вас не должно быть ничего с мягким ограничением размера 0. Возможно, вы включили дампы ядра или можете отследить, какие конкретные файлы там находятся?
bmike

Ответы:

46

Короче говоря, их безопасно удалить.

В этой /coresпапке OS X хранит Core Dump. Это файлы, предназначенные для разработчиков для поиска и устранения неисправностей в их программном обеспечении. Они генерируются как сбой программного обеспечения. Если вы не разработчик или не тестируете программное обеспечение для разработчика, то эти файлы вам не нужны.

Файлы содержат состояние памяти (или ОЗУ) вашего Mac на момент сбоя. Так много полезной информации для разработчиков или тестеров для устранения сбоев. Не очень полезно никому другому.

По умолчанию OS X настроен не генерировать файлы дампа памяти. Если вы напечатаете sudo launchctl limit coreв окне терминала, оно ответит мягкими и жесткими ограничениями размера файлов дампа, которые ему разрешено создавать. Мягкий предел означает значение по умолчанию для каждого процесса, однако процессы могут изменить его, если они этого требуют, но только до значения жесткого ограничения. По умолчанию значения в OS X кажутся «0 без ограничений» означает, что операционная система не будет создавать дампы памяти по умолчанию, но процессы могут выбрать создание файлов с дампом памяти неограниченного размера, если они захотят.

Вы можете изменить настройки на вашем компьютере, просто войдя в систему, sudo launchctl limit core 0 0чтобы полностью отключить эту функцию. sudo launchctl limit core 0 unlimitedвосстановит поведение по умолчанию, если оно было изменено.

Алистер Макмиллан
источник
1
Делает ulimit -cчто-нибудь помимо текущего процесса оболочки? В Linux это не так.
abligh
1
@AlistairMcMillan Я уверен, что это влияет только на процессы, которые являются потомками текущей оболочки. Я полагаю, что для того, чтобы включить дамп ядра в глобальном масштабе, вам нужно поиграться launchctl. См developer.apple.com/library/mac/documentation/Darwin/Reference/...
abligh
1
@AlistairMcMillan ах! Я думал, что это была ulimitсправочная страница. Но я имел в виду строку выше ре launchctl.
abligh
1
@abligh Обновил мой ответ. Надеюсь, это имеет смысл.
Алистер Макмиллан
2
Полезная команда для удаления любого старше 30 дней:cd /cores; sudo find . -mtime +30 -type f -delete
turtlemonvh