2015-12-05 2 views
0

У меня есть каталог unix, содержащий около 100k маленьких xml-файлов, и я хочу рассчитать размер этого каталога. Я управлял командой: du -sh directory_nameРазмер каталога unix с большим количеством файлов

Но команда длится последние 15 минут. Я считаю, что причиной является большое количество небольших файлов. Есть ли более быстрый способ рассчитать размер в этом сценарии?

+1

Проверьте этот вопрос [SuperUser] (http://superuser.com/questions/950737/faster-du-stat-alternative-for-directories) или этот [Serverfault] (http://serverfault.com/questions/529338/du-command-takes-way-too-long-to-run). Вы также можете попросить модераторов перенести этот файл на Serverfault/Superuser, так как этот вопрос будет иметь лучшую видимость там. – sjsam

+0

Предполагая, что ваше оборудование опубликовано после 2008 года и в хорошем состоянии, вы уверены, что в разделе 'dir_name' нет поддиретов, которые могут быть добавлены к загрузке на' du'? Или как вы помечены 'unix', если вы находитесь в корпоративном env. с SAN, которую вы сканируете, это указывает на проблемы там (у меня было такое, что происходит в предыдущих работах). Поэтому я думаю, что ваш 'du' cmd, вероятно, делает все возможное, на что вы можете надеяться, и * может указывать на проблему (так как я ожидал бы сканировать 100K небольших файлов за минуту или около того (может быть!)). Удачи. – shellter

ответ

1

Рассматривали ли вы с помощью awk, вдоль линий:

ls -l | awk '{sum+=$5} END {print sum}' 

Конечно «Ls -l» показывает «размер файла», а не «использование дискового пространства», но, возможно, это достаточно хорошо для вашего цель.

+1

это не поможет. ls -l сам займет возраст. – Lokesh

Смежные вопросы