Я пытаюсь удалить большое количество файлов (в несколько миллионов) с помощью команды find. -name "file *" -delete
Терминал показал вывод Killed
. Я поискал в Интернете и увидел dmesg,
Out of memory: Kill process 25284 (find) score 691 or sacrifice child
Killed process 25284, UID 0, (find) total-vm:11666436kB, anon-rss:3229204kB, file-rss:620kB
я думаю, что это связано с убийцей OOM, поскольку / proc / sys / vm / overcommit_memory
показывает, что overcommit установлен на 0. Мне было интересно, как мне избежать Эта проблема? Я не могу удалить файлы вручную.
Процесс не перегружает память, фактически потребляет около 3 ГБ (анон -rss ), что делает его допустимым для OOM.
Попробуйте удалить команду с регулярным выражением, если она «показывает такое же поведение, это», вероятно, из-за номера файла здесь пост https://superuser.com/questions/1174259/high-memory-usage-of-the-find-command, который предлагает перечислить все файлы для удаления и выполнить удаление по одному через скрипт Shell/Perl.