Могу ли я решить проблему чрезмерного выделения памяти в Linux?

Я пытаюсь удалить большое количество файлов (в несколько миллионов) с помощью команды 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. Мне было интересно, как мне избежать Эта проблема? Я не могу удалить файлы вручную.

0
27.06.2017, 11:30
1 ответ

Процесс не перегружает память, фактически потребляет около 3 ГБ (анон -rss ), что делает его допустимым для OOM.

Попробуйте удалить команду с регулярным выражением, если она «показывает такое же поведение, это», вероятно, из-за номера файла здесь пост https://superuser.com/questions/1174259/high-memory-usage-of-the-find-command, который предлагает перечислить все файлы для удаления и выполнить удаление по одному через скрипт Shell/Perl.

0
28.01.2020, 04:44

Теги

Похожие вопросы