Свежие комментарии
Title | Comment |
---|---|
Мне казалось, что все эти |
Мне казалось, что все эти атомы — наследники P5, минуя и NetBurst и P6. А Core — налсденики P6. |
Понаблюдай за ARC. У меня на |
Понаблюдай за ARC. У меня на свежем 11.2-STABLE что-то ARC занимает 4.5 гига из 16, при том что Wired-памяти — 15 гигов. Что там wired не ясно :-( |
В общем, единственное, что |
В общем, единственное, что понятно — то, что и винты, и флешки различаются чем-то довольно мелким и неочевидным, но, собака, СУЩЕСТВЕННЫМ (для этой системы). |
$ time make -j5 buildworld |
$ time make -j5 buildworld World build completed on Tue Nov 20 09:45:18 MSK 2018 -------------------------------------------------------------- real 134m7.049s user 621m27.899s sys 29m30.579s 134/89 = 1.5 8/5 = 1.6 Короче, если и не ядрами ограничено, то близко к этому. |
Ну я вот боюсь, что |
Ну я вот боюсь, что Короче, 5млн файлов - это плохо. Опять же, ну можно же сделать песочницу с 1,10,100,1000,10000 файлов и смотреть насколько быстро ситуация ухудшается. |
На снапшоте если только. |
На снапшоте если только. Кстати интересно, при наличии снапшота будет такой же эффект, или это только unlink "навсегда" приводит к таким веселым эффектам. |
Ну я про "попробовать". |
Ну я про "попробовать". |
Ну относительно несложно. |
Ну относительно несложно. |
Разнесение по каталогам уж |
Разнесение по каталогам уж точно попробовать несложно. Про остальное готового мнения не имею. |
Собственно есть у меня |
Собственно есть у меня каталог на zfs dataset -- в нем примерно 5 миллионов файлов с именами в виде хешей (такой дедупликатор для бедных) -- мы по нему идем, и вычищаем файлы у которых st.nlinks == 1, занимает это часы, а не минуты -- я пошел смотреть strace и разбираться как умею. strace понятно частичный, от двухминутного пробега % time seconds usecs/call calls errors syscall Просто getdents на том же каталоге отрабатывает за 4 минуты (${coreutils}/bin/ls -f /nix/store/.links >/dev/nill). Потом я запустил очистку повторно, и увидел следующее: (опять же двухминутная выдержка пока оно по "чистому" колупалось) Собственно вопрос -- что вызывает такое патологическое поведение, и как лечить. У меня скромные идеи запилить fstatat/unlinkat (и то я не уверен, а можно ли unlinkat(dirfd(dir), file) внутри цикла с readdir, и не сломается ли от этого OSX -- там это тоже используют) Может ли помочь leveling (или как это правильно называется -- когда "abcde..." разносится по каталогам как a/bc/de...")? Могут ли влиять имена файлов (хеши -- там base58(sha256(content))) -- все имена начинаются с "0" или "1" -- может ли это какой-то corner case триггерить? (или я уже на воду дую) Хочется идей и советов, потому что свои идеи кончились. |
Что-то не могу с одного раза |
Что-то не могу с одного раза ответить на комментарий, надо завтракать! Да, конечно united.c (std_pch.cpp) и precompiled headers сильно помогают жизни, хотя я никогда не мерял - насколько именно. Вообще, поскольку сборка FreeBSD, ну так если поглядывать туда, это процентов на 90 (утрирую) сборка llvm/clang, то может быть там так и сделано, хрен их знает, не вдавался. |
А вопрос - конечно давайте. |
А вопрос - конечно давайте. |
Пока вижу на ~1.5 ватта |
Пока вижу на ~1.5 ватта меньшее потребление. |
Этот ящик пустой |
Этот ящик пустой-ненагруженный, пусть поработает. Запустил, часа через два будет результат, напишу. |
Не, RootOnZFS я делал, а |
Не, RootOnZFS я делал (давно), а потом проапгрейдил пул, но не загрузчик. Было весело. Не вижу смысла в / на ZFS в моей конкретной ситуации (даже если кончатся SATA-слоты - перееду с /, /usr, /var на флешку) То есть вот в той машине, где был root on zfs, я после того случая (там SATA-портов не было избытка, все было занято) именно на USB-флешку и переехал. |
Я так понимаю надо делать |
Я так понимаю надо делать amalgamation там, где конструкция позволяет (тупо united.c с инклюдами всех файлов в каталоге) -- всякие браузеры так собираются, и дает оно 20-30% времени сборки) PS я думал у вас / тоже на zfs. (у меня тут вопрос есть, на #zfsonlinux я с ним уже ходил и тут спрошу, если позволите) |
Совпадение, конечно, выглядит поразительно |
Интересно было бы увидеть результат на Атоме с -j5. Может там упирается не в ядра? |
Описанным способом kgdb |
Описанным способом kgdb используется на живой системе, он не останавливает исполнение. Это такой удобный тул для чтения памяти. |
Исходники лежат на UFS. |
Исходники лежат на UFS, obj - тоже. А includes будут в vnode cache, ну если не с первого раза, так со второго |
По идее ARС тоже должен |
По идее ARС тоже должен влиять, и скорее в лучшую сторону (все includes с первого вызова компилятора оказываются там) |
Переделал на SSD-шке (OCZ |
Переделал на SSD-шке (OCZ Vertex2, старый и медленный) и нет ощущения, что на USB-флешке так уж плохо. Процедура: свежеустановленная система (obj не создан, "первая компиляция"), 11-stable из SVN, make -j10 buildworld
На SSD: World build completed on Mon Nov 19 20:45:09 MSK 2018 -------------------------------------------------------------- real 87m42.563s user 627m31.992s sys 31m6.541s На флешке (Sandisk Extreme, 64Gb, USB 3.0): World build completed on Wed Nov 14 10:08:19 UTC 2018 -------------------------------------------------------------- real 89m6.999s user 628m14.852s sys 29m52.185s Если смотреть, к примеру, только на user, то разницы вовсе нет. если на real, то ну процента полтора-два, лень считать точнее. P.S. На 6300T повторный перебилд (с удалением старого obj) дал другие результаты (чем в первый раз), похоже что если obj не чистить, то там какие-то части берутся старые (вроде depends, ХЗ, не вдавался). Систематизирую, смотрю, думаю :) |
C точки зрения FreeBSD: |
C точки зрения FreeBSD: Более того, WD меньше 2Tb т.е. какие-то приколы "диск больше 2Tb - только UEFI" ну тоже маловероятны. |
WD Green 2TB — не совсем |
WD Green 2TB — не совсем обычный HDD. У него уже используется Avanced Format, что, по идее, ещё больше сближает его с SSD-дисками. Что ещё больше добавляет абсурда в ситуацию. «Secure Boot: Custom» и прочие при «Enable Secure Boot: Disabled» вообще должен быть недоступным для модификации. Видимо, разработчики не очень усердно орудуют напильником в процессе подготовки биосов. |
Да впроде прав. Я могу только |
Да впроде прав. Я могу только скопипастить модный смайлик пожатия плечами. |
Ну и это не объясняет, почему |
Ну и это не объясняет, почему SATA/HDD/2Tb - с загрузкой все было збс, а SATA/SSD/256Gb - нихрена. UPD: ну разве только partition alignment разный, это да, но может ли быть дело в этом? |
Про CSM по счастью известно |
Про CSM по счастью известно что это такое. Это поддержка старой загрузки (эмуляция BIOS). Но почему это место влияет на UEFI boot - не пойму. Почему при выключенном CSM можно включить Legacy загрузку (которая гарантированно НЕ будет работать) - как раз пойму (от лени разработчиков, конечно ж) |
Вот за что я «люблю» |
Вот за что я «люблю» современные BIOS'ы, ой, простите, UEFI Firmwares — это за документированность. |
Ну мне вот в каком-то смысле |
Ну мне вот в каком-то смысле повезло: собственно инсталлятор FreeBSD с флешки грузится без вопросов и на ура (memstick который). Если бы этого не было - уж не знаю что я бы делал, потому что "ну вот, не грузится", а покупал я через форвардера, возврат - дело непонятное в такой ситуации (с точки зрения ebay - все приехало и ок). В форумах я наоборот начитался, что на этих матерях pfsense (freebsd) грузится нормально, а вот Linux - не очень. Похоже, намутили с этим secure boot лишнего, говорю же "custom" тронуть боюсь. |
Вот-вот, я писал тут как-о в |
Вот-вот, я писал тут как-о в камментах -- наэцсамое недавнр при установке на ноут. Хотел вкорячит фрибсд, так, сяк ковырял, секьюр бут и всё такое -- то грузится, то не грузится, тем более проблемы с вайфаем. Плюнул, начал центос ставить -- с грехом пополам, с одной только флешки, с бубнов в биосе. |
Скорее всего из-за новомодных |
Скорее всего из-за новомодных DEBUG_FILES (отладочные символы для всех бинарников базовой системы). |