LINUX.ORG.RU

Почему линукс так долго вычисляет объем каталога?

 , ,


0

2

Пользуюсь системой Linux mint уже порядка двух лет и никогда не задавался этим вопросом. К слову, захотелось посмотреть объем папки, в которой хранятся снимки системы и через GUI я ждал минут 10, пока объем папки вычислится. Помню, как на винде было просто в этом плане. Открыл свойства папки и сразу же видишь по ней полную информацию.

Так подскажите, если Linux такая быстрая и совершенная система, то почему такие простые операции приносят столько боли?

Ответ на: комментарий от anonymous

Да.

du -sh тоже думает долго. А кулеры на ноуте начинают работать так, будто комп не память вычисляет, а ракету в космос запускает.

К слову, папка весит 33G. Но я не думаю, что это прям такой большой объем данных

vstarikov
() автор топика
Ответ на: комментарий от vstarikov

Да.

Повтор? Честно? Выкидывай свой комп.

anonymous
()

У меня каталог 71Gb (хомяк)

объем вычисляет мгновенно.

Больше времени уходит на вывод информации.

Stremitelnyj
()

Открыл свойства папки и сразу же видишь по ней полную информацию.

Неправда. Позавчера смотрел свойства мамки c:/windows, пришлось ждать с минуту, и это на SSD.

anonymous
()

если что, винда всегда долго считает, там цифры продолжают бежать в окне свойств. Таким же образом, тотал коммандер долго считает размеры всех объектов в каталоге. Это норма, в общем.

zendrz ★★
()
Ответ на: комментарий от gremlin_the_red

Поддерживаю.

$ time du -sh ~
387G    /home/legolegs

real    0m9,205s
user    0m0,543s
sys     0m4,473s
$ time du -sh ~
387G    /home/legolegs

real    0m2,735s
user    0m0,379s
sys     0m2,301s
$ find ~ -type f | wc -l
994166

Правда, у меня кеш на ssd. На разделе без кеша всё медленнее (в первый раз).

legolegs ★★★★★
()
Ответ на: комментарий от darkenshvein

ls -Ra /media/B5/|wc -l
802310 файлов. тут долговато да. но ещё гта5 качается.


time du -sh /media/B5
1,6T /media/B5

real 0m6,716s
user 0m0,210s
sys 0m1,926s

darkenshvein ★★★★★
()

Ты одну и ту же по составу папку сравнивал? Если нет, то мир-дверь-мяч.

te111011010
()

Так подскажите, если Linux такая быстрая и совершенная система, то почему такие простые операции приносят столько боли?

Для грамотных линукс быстр и совершенен

Что касается долгого подсчета, может фрагментация фс, может файл открыт, может чтото с фс не так

ism ★★★
()
time du -sh /home/lodyr
73G	/home/lodyr

real	0m0,041s
user	0m0,016s
sys	0m0,025s
Andrey110682
()

Долго?

time du -sh /var/spool/avreg/
69T /var/spool/avreg/

real 0m13.688s
user 0m0.265s
sys 0m3.453s

time du -sh /var/spool/avreg/
69T /var/spool/avreg/

real 0m3.803s
user 0m0.224s
sys 0m3.510s

Да не так уж и долго, в общем-то. А второй раз так и вообще скорострельно.

imul ★★★★★
()
Ответ на: комментарий от legolegs

Правда, у меня кеш на ssd. На разделе без кеша всё медленнее (в первый раз).

На обычном винчестере не просто медленнее, а:

$ time du -sh [...]
925M	[...]

real	0m26.200s
user	0m0.098s
sys	0m0.861s

$ find [...] -type f | wc -l
20949

считается в 135 раз медленнее (по кол-ву файлов). Т.е. на целых два порядка.

ФС: ext4.

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)
Ответ на: комментарий от gag

считается в 135 раз медленнее

$ time du -sh
25G	.

real	2m46.357s
user	0m0.348s
sys	0m2.752s

$ time du -sh
25G	.

real	0m0.364s
user	0m0.076s
sys	0m0.188s

$ find -type f | wc -l
145287

Выкидывай свой хард.

anonymous
()
Ответ на: комментарий от anonymous

Выкидывай свой хард.

Хард в порядке. Скорость подсчёта почти такая же: у меня - 799,58 файлов/с, у тебя - 875,22.

gag ★★★★★
()
Ответ на: комментарий от gag

Скорость подсчёта почти такая же

Уверен? Вот тебе файлопомойка:

$ time du -sh
6,5G	.

real	0m3.016s
user	0m0.068s
sys	0m0.156s

$ time du -sh
6,5G	.

real	0m0.127s
user	0m0.012s
sys	0m0.116s

$ find -type f | wc -l
96813

anonymous
()
Ответ на: комментарий от anonymous

Уверен?

Согласно приведенному листингу - да.

Вот тебе файлопомойка:

А это уже SSD. Ну или не ext4, а какая-то чудо-фс, или ext4 отформатированная так, что метаинформация не раскидана по всему диску, а расположена сконцентрировано.

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)
Ответ на: комментарий от darkenshvein

Вот этот видит хомяков насквозь.

anonymous
()
Ответ на: комментарий от gag

А это уже SSD.

Да щас. Разбежался. Другой раздел HDD. XFS против reiserfs.

anonymous
()

Не линукс, а файл менегер тормозной. Nautilus этим грешит например.

Linux такая быстрая и совершенная система

Очень толсто. Никто такое не заявлял, да и вам лично никто не обязан ничем.

xDShot ★★★★★
()
Ответ на: комментарий от gag

WD10EALS-002BA0

time du -sh ~
693G
real	0m23.650s
user	0m0.229s
sys	0m2.246s

time du -sh ~
693G
real	0m0.419s
user	0m0.052s
sys	0m0.365s

find ~ -type f | wc -l
197259
anonymous
()
Ответ на: комментарий от gag

ext4

sudo sysctl -w vm.drop_caches=3
time du -sh ~
689G
real	0m42.968s
user	0m0.308s
sys	0m3.237s

find ~ -type f | wc -l
197197
anonymous
()

Помню, как на винде было просто в этом плане. Открыл свойства папки и сразу же видишь по ней полную информацию.

Это не Linux, это просто du тормоз лютый. А «свойства папки» быстрая программа.

Вот на Windows 10 запустил du:

$ cd /c/windows
$ time du -sh
du: невозможно прочитать каталог './appcompat/Programs': Permission denied
du: невозможно прочитать каталог './CSC': Permission denied
du: невозможно прочитать каталог './LiveKernelReports': Permission denied
du: невозможно прочитать каталог './Logs/HomeGroup': Permission denied
du: невозможно прочитать каталог './Logs/SystemRestore': Permission denied
du: невозможно прочитать каталог './Logs/Telephony': Permission denied
du: невозможно прочитать каталог './ModemLogs': Permission denied
du: невозможно прочитать каталог './Prefetch': Permission denied
du: невозможно прочитать каталог './Provisioning/Autopilot': Permission denied
du: невозможно прочитать каталог './Resources/Themes/aero/VSCache': Permission denied
du: невозможно прочитать каталог './security/audit': Permission denied
du: невозможно прочитать каталог './security/cap': Permission denied
du: невозможно прочитать каталог './ServiceProfiles/LocalService': Permission denied
du: невозможно прочитать каталог './ServiceProfiles/NetworkService': Permission denied
du: невозможно прочитать каталог './ServiceState': Permission denied
du: невозможно прочитать каталог './System32/appmgmt/MACHINE': Permission denied
du: невозможно прочитать каталог './System32/appmgmt/S-1-5-18': Permission denied
du: невозможно прочитать каталог './System32/Com/dmp': Permission denied
du: невозможно прочитать каталог './System32/config': Permission denied
du: невозможно прочитать каталог './System32/Configuration': Permission denied
du: невозможно прочитать каталог './System32/drivers/DriverData': Permission denied
du: невозможно прочитать каталог './System32/DriverState': Permission denied
du: невозможно прочитать каталог './System32/FxsTmp': Permission denied
du: невозможно прочитать каталог './System32/ias': Permission denied
du: невозможно прочитать каталог './System32/LogFiles/Fax/Incoming': Permission denied
du: невозможно прочитать каталог './System32/LogFiles/Fax/Outgoing': Permission denied
du: невозможно прочитать каталог './System32/LogFiles/Firewall': Permission denied
du: невозможно прочитать каталог './System32/LogFiles/HTTPERR': Permission denied
du: невозможно прочитать каталог './System32/LogFiles/WMI/RtBackup': Permission denied
du: невозможно прочитать каталог './System32/MsDtc': Permission denied
du: невозможно прочитать каталог './System32/networklist': Permission denied
du: невозможно прочитать каталог './System32/SleepStudy': Permission denied
du: невозможно прочитать каталог './System32/spool/PRINTERS': Permission denied
du: невозможно прочитать каталог './System32/spool/SERVERS': Permission denied
du: невозможно прочитать каталог './System32/sru': Permission denied
du: невозможно прочитать каталог './System32/Tasks': Permission denied
du: невозможно прочитать каталог './System32/Tasks_Migrated': Permission denied
du: невозможно прочитать каталог './System32/wbem/MOF': Permission denied
du: невозможно прочитать каталог './System32/WDI': Permission denied
du: невозможно прочитать каталог './SysWOW64/Com/dmp': Permission denied
du: невозможно прочитать каталог './SysWOW64/config': Permission denied
du: невозможно прочитать каталог './SysWOW64/Configuration': Permission denied
du: невозможно прочитать каталог './SysWOW64/FxsTmp': Permission denied
du: невозможно прочитать каталог './SysWOW64/Msdtc': Permission denied
du: невозможно прочитать каталог './SysWOW64/networklist': Permission denied
du: невозможно прочитать каталог './SysWOW64/sru': Permission denied
du: невозможно прочитать каталог './SysWOW64/Tasks': Permission denied
du: невозможно прочитать каталог './Temp': Permission denied
15G     .

real    1m27,898s
user    0m9,593s
sys     0m58,999s
fsb4000 ★★★★★
()

К слову, захотелось посмотреть объем папки, в которой хранятся снимки системы

Это какая папка? Она на флопи диске?

yvv ★★☆
()

Если там какая сетевая директория подключена в .gvfs, то она тоже может считаться, минимум через du. а это уже ой как не быстро станет.

Avial ★★★★★
()

HDD? Для них это нормально. В некоторых случаях размер отображается быстро, потому что сохранён в кэше. Также если смотреть корень диска, там тоже быстро, потому что другой способ получения информации. А чтобы подсчитать размер каждой директории, нужно посчитать размеры всех файлов в ней.

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

InterVi ★★★★
()

Какую используешь файловую систему?

anonymous
()

Первый проход

523G	/home/shpinog
du -sh /home/shpinog   
1,86s user  
18,34s system  
2:07,84 total
ls -Ra ~/|wc -l
1567888

Второй проход.

512G	/home/shpinog

du -sh /home/shpinog 
0,37s user  
2,33s system  
2,713 total

Сначала надо разработать, второй раз уже нормально.

shpinog ★★★
()
Ответ на: комментарий от anonymous

А зачем на дату смотреть, когда текст уже сам по себе вброс?

t184256 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.