leo_sosnine: (Default)
leo_sosnine ([personal profile] leo_sosnine) wrote2019-09-27 01:46 pm

Мы тинейджеры, со всеми сопутствующими

Недавно Мелкомягкие праздновали десятилетие повершелла, щас ему 13 лет.

Простая задача, которую и администраторам и не очень нужно периодически делать за тем или иным резоном это померять размер кого-нибудь говна на диске. Например, папочки "уиндоуз".

Сравним резульдады повершелла столкнутого низким лбом идиота с масадосовским мамонтом ровосору (которую виндоадмины вынуждены были гонять, т.к. штатного средства померить толщину директории в системе не предусмотрено, а суммировать скриптом субоптимально) в плане скорости замера (что критично для работы с большими файл-серверами, где замеры даже быстрыми способами занимают часы):



Так называемый "ГУИ" меряет ещё тормознее, мой замер оказался, ахтунг, 60 зекунден, дамен унд херрен, 60 зекунден!

Размер папрочки "уиндоуз", кстати, ахтунговые 87 ГБ. Для перспективы, экспишка, которая делала почти всио то же самое, весила порядка 100-200 МБ, в зависимости от уровня апдейтов.

Оценивать масштабы безумия и куда котитсо индустрия предлагаю читателям самостоятельно фкамментах.

Вперёд, Индия! Даёшь стагнацию и смерть западной цивилизации!

[personal profile] malobukov 2019-09-27 07:08 pm (UTC)(link)
Ради справедливости надо отметить, что XP не поддерживает всё то железо, что наразрабатывали и навыпускали в этом тысячелетии. Так что сравнение некорректно. Тот же Линкус или Макось тоже больше стали.

Но в смысле померять размер каталога это конечно фигня, под линкусом du и df выполняются за доли секунды даже на больших каталогах (только что для разнообразия проверил). Вот ни разу вообще в это не упирался.
kant_elz: (Default)

[personal profile] kant_elz 2019-09-28 09:59 am (UTC)(link)
А вот не проще ли было к железу прилагать диск с драйвером, а не запихивать всё для всех в основную ОС?

[personal profile] malobukov 2019-09-28 11:09 am (UTC)(link)
Ой вот не надо больше дисков с драйверами. Я помню ящик этих дисков и постоянные поиски дров в интернете. Да и дисковода у меня уже давно нет.
kant_elz: (Default)

[personal profile] kant_elz 2019-09-29 12:45 pm (UTC)(link)
Как часто вы меняете железо? Один раз в 5 лет установить драйверы не так уж сложно.

[personal profile] malobukov 2019-09-29 03:55 pm (UTC)(link)
Надо умножить на количество компьютеров тоже. У меня их семь штук, под тремя разными операционными системами. Этому, на котором печатаю, два месяца от роду. Его предшественнику два года и там операционная система была инсталлирована два раза.

Плюс к этому всякие Live USB и виртуальные машины, которых у меня только на этом компьютере четыре штуки. Совершенно мне не хочется тратить время на поиск драйверов для всего этого зоопарка. Даже если это час в месяц, это потерянный впустую час.
kant_elz: (Default)

[personal profile] kant_elz 2019-09-29 04:00 pm (UTC)(link)
То есть вы выпадаете из рядов обычных пользователей компьютера...
Для таких как вы имеет смысл выпускать ОС в профессиональном варианте (что уже делается).
А для 90% пользователей выпускать легкую версию и давать впридачу диск с драйверами.

Наоборот

[personal profile] malobukov 2019-09-29 04:39 pm (UTC)(link)
Я как раз могу и драйвера вручную установить, и ядро скомпилировать, и даже написать операционную систему с нуля самостоятельно. Мне просто лень этим всем опять заниматься, потому что это будет изобретение велосипеда и пустая трата моего времени.

А 90% пользователей всего этого не могут и вообще с трудом себе представляют, что такое драйвер, где его брать, и как отличать правильный драйвер от драйвера со встроенным в него биткойн майнером или криптолокером.
kant_elz: (Default)

Re: Наоборот

[personal profile] kant_elz 2019-09-29 04:45 pm (UTC)(link)
\\А 90% пользователей всего этого не могут и вообще с трудом себе представляют, что такое драйвер, где его брать\\

Так обычный пользователь покупает компьютер с предустановленной системой и драйверами. А будет у него диск, так он и после краха установит заново.

Это я размышляю. Но это верно только если весь этот сумасшедший обьем дают драйверы. Что сомнительно. Скорее уж это неряшливо написанный код с заплатами.

Re: Наоборот

[personal profile] malobukov 2019-09-29 04:53 pm (UTC)(link)
Не будет диска. Потеряется. К тому же попробуйте включить компьютер с операционной системой нескольколетней давности в сеть и посмотрите, с какой скоростью он наберётся всякой малвари ещё до установки обновлений.

Объём дают в основном именно драйвера. Ядро относительно небольшое, пользовательский интерфейс тоже. Ну шрифты ещё, сетевой код, файловые системы, но всё равно это всё общее и нужно каждому пользователю, а драйвера нужны для каждого существующего в природе устройства, потому что заранее неизвестно, какое железо встретится.
kant_elz: (Default)

Re: Наоборот

[personal profile] kant_elz 2019-09-30 01:36 pm (UTC)(link)
\\Объём дают в основном именно драйвера.\\

Понятно. А почему в ХР драйверы занимали меньше места?

Это как раз понятно

[personal profile] malobukov 2019-09-30 04:38 pm (UTC)(link)
С момента выхода XP было сделано огромное количество новой периферии. Драйвера только добавляются. Уверен что самые новые винды по-прежнему умеют работать с каким-нибудь принтером из 90-х годов прошлого века.
euthanasepam: Вата бородата (vata_borodata)

[personal profile] euthanasepam 2019-10-10 03:37 am (UTC)(link)
Малобуков пишет ерунду, мягко говоря. NT 6.x такие жирные вовсе не из-за драйверов. Да вы можете сами это на своей винде посмотреть, потыкав чем-то измерительным по каталогам файловой иерархии Windows. Жир нагулян благодаря, прежде всего, Installer’у, Дотнету, хранилищам библиотек (DLL) разных версий, множеству резервных копий разных файлов самой ОС и хранилищу системы обновлений. Хранилище драйверов занимает в этом перечне рядовое место, а не выдающееся.


P. S.

У меня, к примеру, в 64-битной ОС каталог Windows весит порядка 35 ГБ. В нём внутри самые большие каталоги (в порядке «что первое бросилось в глаза»):

- winsxs (>15 ГБ);
- Installer (>3 ГБ);
- Sysnative (>5 ГБ);
- System32 (>2 ГБ);
- SysWOW64 (>2 ГБ);
- SoftwareDistribution (~1,5 ГБ);
- Microsoft.NET (~1,5 ГБ);
- assembly (~1.7 ГБ).

Папочка со встроенными драйверами Windows (C:\Windows\Sysnative\DriverStore\FileRepository) занимает немногим более 1,6 ГБ.

Чуть подробней о том, как устроено всё это хозяйство, можете прочесть, скажем, по этой ссылке:

https://www.thewindowsclub.com/sysnative-folder-in-windows-64-bit
Edited 2019-10-10 04:01 (UTC)
kant_elz: (Default)

[personal profile] kant_elz 2019-10-10 10:56 am (UTC)(link)
Спасибо. И малость почистить эти папочки можно?
euthanasepam: Ла-ла-ла-ла! Ла-ла-ла-ла! (Default)

[personal profile] euthanasepam 2019-10-10 11:08 am (UTC)(link)
А нужно? Без катастрофических последствий могут быть удалены скачанные файлы уже установленных обновлений и старые сервис-паки. Остальное лучше не трогать, если нет ясного понимания собственных намерений и действий. :)

Вот что гуглится на эту тему во первых строках:

https://www.howtogeek.com/174705/how-to-reduce-the-size-of-your-winsxs-folder-on-windows-7-or-8/

Я не читал, по правде, только промотал сверху донизу, но обычно пишут одно и то же.


P. S.

У мелкомягких, кстати, есть статья на эту тему:

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/clean-up-the-winsxs-folder

Если вы на «ты» с компьютерами, то прочтение их собственной документации прояснит для вас многие вопросы. По меньшей мере раздел, касающийся устройства в новых виндах (NT6+) хранилища файлов. Оно не такое, как было в XP и ранее.
Edited 2019-10-10 11:18 (UTC)
euthanasepam: Ла-ла-ла-ла! Ла-ла-ла-ла! (Default)

[personal profile] euthanasepam 2019-09-28 08:40 pm (UTC)(link)
Ради справедливости надо отметить, что это всего лишь вопрос о драйверах.
scif_yar: (Default)

[personal profile] scif_yar 2019-09-27 07:14 pm (UTC)(link)
не весила 100-200 хп-шка без кастрации
scif_yar: (Default)

[personal profile] scif_yar 2019-09-27 09:00 pm (UTC)(link)
да один х. Правда проверять нечем и незачем.
Теперь к теме срача: пош тащит с собой кучу ненужного говна, он же не знает, какие из атрибутов ты попросишь посчитать.
ymarkov: (Default)

[personal profile] ymarkov 2019-09-27 07:25 pm (UTC)(link)
Ахтунг! Ахтунг! Дискен засерен!
:-)
henry_flower: A melancholy wolf (Default)

[personal profile] henry_flower 2019-09-27 07:52 pm (UTC)(link)
а що друкує `Measure-Command {du $env:SystemRoot | Out-Default}`?

(du це є https://docs.microsoft.com/en-us/sysinternals/downloads/du)
scif_yar: (Default)

[personal profile] scif_yar 2019-09-27 09:30 pm (UTC)(link)
>>Руссинович вполне давно забил, кстати, на свои тулзы кроме основных.
-
Русинович тянет азур как паровоз.
henry_flower: A melancholy wolf (Default)

[personal profile] henry_flower 2019-09-27 11:47 pm (UTC)(link)

дивні помилки від ps, у мене воно хоча б не лається

виконувалося під адміном? які версії ps та віндюка?

brmail: (Default)

[personal profile] brmail 2019-09-27 08:09 pm (UTC)(link)
87 гиг, а ради интереса - фолдер winsxs какого размера?
brmail: (Default)

[personal profile] brmail 2019-09-27 09:32 pm (UTC)(link)
странно мало. ну тогда поставь себе https://windirstat.net/ и глянь наглядно кто там что у тебя сожрал так немеренно
У меня с семеркой фолдер весит 20 гиг, из которых winsxs занимает 9 и под два гига installer фолдер.
cjelli: (hal9000)

[personal profile] cjelli 2019-09-27 08:28 pm (UTC)(link)
Всетак, всетак.

И никто не поднимает проблемы с дайверсити, когда болливуда - 60 процентов на этаже.
У нас переманили архитектора-дойча из САПа, чтобы он начал наводить порядок в одном таком болливудском творении, в котором вся инфраструктура трещит по швам. Дойч бегает с вытаращенными глазами, спрашивая: нахуя вам 99% того, что вы обрабатываете?

Китайский стиль, кстати, иной - вешать никому не нужные, но эффектные свистоперделки из передовых технологий в ущерб необходимому функционалу.

[personal profile] qvb 2019-09-28 02:00 am (UTC)(link)
>>>И никто не поднимает проблемы с дайверсити, когда болливуда - 60 процентов на этаже.

Поднимают.
Только под дайверсити HR сейчас понимает - нанимать женщин, в идеале - черных женщин. Ну или хотя бы травести.
cjelli: (hal9000)

[personal profile] cjelli 2019-09-28 03:15 am (UTC)(link)
Нет-нет, только за счет белых мужчин. Болливуд неприкосновенен.
scif_yar: (Default)

[personal profile] scif_yar 2019-09-27 09:29 pm (UTC)(link)
Теперь к предмету срача
Measure-Command {Get-ChildItem c:\windows -Recurse -Force -ErrorAction SilentlyContinue| Measure-Object -Property Length -sum}
50 секунд

Measure-Command {
$a = Get-ChildItem c:\windows -Recurse -Force -ErrorAction SilentlyContinue
}
53 секунды
$sum = 0

Measure-Command {
foreach ($w123 in $a) {
$sum = $sum + $w123.length
}

}

300 секунд


А теперь внимание вопрос: если пош честно перебирает каждый обьект, то куда лезет за инфой робокопи для такого подсчета?
elglin: (Default)

[personal profile] elglin 2019-09-30 05:40 am (UTC)(link)
Я подозреваю, что туда же лезет. Разница в том, что robocopy, скорее всего, написан на плюсах и дергает родные Win32API (окей, Win64API), а вот интерпретатор поша, с вероятностью, написан на C#, поэтому живет в виртуальной машине .NET и так далее и тому подобное. Короче, опять Python vs C++.
Ты сам сказал, что пош собирает все это в объекты с кучей ненужных свойств, а у robocopy внутри, если писали годные алгоритмисты, может быть куча внутренних однопроходных оптимизаций. Да и std::vector или что там под капотом побыстрее будет.
Кроме того, robocopy может паковать вызовы к API пачками, чего тривиальный алгоритм делать не будет - а на этом тоже можно неплохо наиграть.
scif_yar: (Default)

[personal profile] scif_yar 2019-09-30 06:44 pm (UTC)(link)
Ну можно взять process explorer и посмотреть.
rotbar: (Default)

Даёшь стагнацию и смерть западной цивилизации!

[personal profile] rotbar 2019-09-28 02:22 am (UTC)(link)
По всей видимости таки да. Мастдай №7- 16.5 гигов, и секунд поболее 10. На вот таком железе из WD RAID edition.
Edited 2019-09-28 02:25 (UTC)
straktor: benders (Default)

[personal profile] straktor 2019-09-28 06:24 am (UTC)(link)
87gb это да, но можно C:\Windows\Installer перенести на д: и сделать джанкшен
у меня там 47 гигов
второе тяжелое говно это дотнет сборки в винсхс, но ничего не поделаешь -- все 10 версий тысячи пакетов нужны

у меня 7ка так сдохла, апдейт прилетел, ссд на 50гб забился, теперь всё, нихт лоад

для сравнения, современная убунта 1904 искаробки с бровзерами, видео и либреофисом 12 гб
много конечно, но чуть поменьше
metaller: (Default)

[personal profile] metaller 2019-09-28 07:47 am (UTC)(link)
Хочу также отметить "лаконичность" вышеприведенной команды. Это вам не du -h -s .
cjelli: (Default)

[personal profile] cjelli 2019-09-28 02:56 pm (UTC)(link)
time du -s :)
scif_yar: (Default)

[personal profile] scif_yar 2019-09-29 07:37 pm (UTC)(link)
данная команда сворачивается, у поша есть шорткаты