LINUX.ORG.RU

Chromium и сборка в tmpfs

 autoninja, ,


1

3

Сколько потребляет сборка современного хромиума в пике сборочного процесса? В документации на голубом глазу пишут, что вот можете 20Гб tmpfs создать, и ОК.

Пробовал собрать с дефолтным конфигом (с NaCl и проч.) Так ведь и 25Гб не хватило! ‘no space left on device’

★★★★★

Последнее исправление: seiken (всего исправлений: 1)

При том что свободны у меня в пике гигов 13 (поле free в выхлопе free -h). Что-то тут не сходится. Какое-то ограничение на tmpfs?

Вот сейчас с 28Гб tmpfs запустил. dh -h на точку монтирования после падения сборки говорит свободно 26Гб. Не может же быть так, что в потреблении какой-то резкий скачок, которого не видно на free…

Попробовал писать в файл на этом tmpfs. Всё нормально, 26Гб записались, под завязку вместе с артефактами сборки.

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

Сколько потоков?

так autoninja сама выбирает. Логических ядер у процессора 24.

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

делай безлимитный tmpfs и подключай swap и zram, с ограничениями в cgroups

идея интересная, возьму на заметку.

Ладно, ребята, я не выдержал, и запустил уже на SSD сборку. Вернулся к компу - уже собралось, за 50мин. с копейками.

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

Ну ты ловко это придумал , ты жирный тролль сборку да на ссд как же ты раньше жил без ssd то ? Да я хрен более где собирать буду кроме ssd не трольти тут мне , лучше пришли денег иш жиробас 24 ядра

anonymous
()

На больших пакетах emerge первым делом пишет «Running pre-emerge checks…» или как-то так, и ругается если места в /var/tmp/portage меньше чем надо для сборки (должно быть прописано в ebuild). Мне 32GB всегда было за глаза (16 логических ядер, хотя я хз каким боком это тут).

dimgel ★★★★★
()

Не получается собрать.

% portmaster -gD www/chromium
...
[ 12% 6230/48323] c++ -MMD -MF obj/third_party/modp_b64/modp_b64/modp_b64.o.d -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-13-init-10392-gd3676d4b-2\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -flto=thin -fsplit-lto-unit -fwhole-program-vtables -m64 -march=x86-64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-thread-safety-analysis -Wno-thread-safety-attributes -O2 -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fprofile-instr-use=../../chrome/build/pgo_profiles/chrome-linux-4515-1627572323-7b80f2d12f40afe6f7872c5528a069e31662276b.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -c ../../third_party/modp_b64/modp_b64.cc -o obj/third_party/modp_b64/modp_b64/modp_b64.o
[ 12% 6230/48323] python3 ../../third_party/node/node.py ../../third_party/devtools-frontend/src/node_modules/rollup/dist/bin/rollup --silent --config ../../third_party/devtools-frontend/src/front_end/rollup.config.js --input gen/third_party/devtools-frontend/src/front_end/core/host/host-legacy.prebundle.js --file gen/third_party/devtools-frontend/src/front_end/core/host/host-legacy.js --configDCHECK
[ 12% 6230/48323] python3 ../../third_party/devtools-frontend/src/third_party/typescript/ts_library.py --tsconfig_output_location gen/third_party/devtools-frontend/src/front_end/entrypoints/wasmparser_worker/devtools_entrypoint-worker_entrypoint-tsconfig-tsconfig.json --deps ./bundle-tsconfig.json --front_end_directory gen/third_party/devtools-frontend/src/front_end/entrypoints/wasmparser_worker --is_web_worker --sources gen/third_party/devtools-frontend/src/front_end/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.prebundle.ts
[ 12% 6230/48323] python3 ../../third_party/devtools-frontend/src/third_party/typescript/ts_library.py --tsconfig_output_location gen/third_party/devtools-frontend/src/front_end/models/text_utils/devtools_entrypoint-bundle-tsconfig-tsconfig.json --deps ./text_utils-tsconfig.json ../../third_party/codemirror/bundle-tsconfig.json --front_end_directory gen/third_party/devtools-frontend/src/front_end/models/text_utils --sources gen/third_party/devtools-frontend/src/front_end/models/text_utils/text_utils.prebundle.ts
[ 12% 6230/48323] python3 ../../third_party/lottie/minify_lottie.py --out_folder gen/third_party/lottie
[ 12% 6230/48323] python3 ../../build/util/python2_action.py ../../third_party/blink/renderer/bindings/scripts/generate_bindings.py --web_idl_database gen/third_party/blink/renderer/bindings/web_idl_database.pickle --root_src_dir ../../ --root_gen_dir gen --output_core_reldir third_party/blink/renderer/bindings/core/v8/ --output_modules_reldir third_party/blink/renderer/bindings/modules/v8/ enumeration callback_function callback_interface interface namespace typedef union
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/chromium
*** Error code 1
iZEN ★★★★★
()
Ответ на: Не получается собрать. от iZEN

Зачем ты выложил этот бесполезный выхлоп? В приведенном выхлопе нет ошибки, из-за чего остановился нинзя.

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

В документации gentoo советуют монтировать с недокументированной опцией ″nr_inodes=0″. Либо ТС не читал документацию, либо эта опция перестала работать.

Вобще странно, в документации ядра написано, что по умолчанию число инодов на tmpfs равно половине числа физических страниц. Но как-то это не всегда соответствует реальности (если гуглить вывод ″df -i″ с разных систем). Не знаете, пустые иноды в tmpfs занимают ОЗУ, для крошечный tmpfs (в несколько мегабайт) имеет смысл снижать nr_inodes?

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

Аа, ну хорошо. Понял, опция монтирования.

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

В документации gentoo советуют монтировать с недокументированной опцией ″nr_inodes=0″. Либо ТС не читал документацию, либо эта опция перестала работать.

Документацию Генту, конечно, не читал. Ведь у меня убунту.

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

Отнюдь. Если я вообще кого-либо троллю, то авторов доки по сборке хромиума на Линуксе. Они же, наверное, в Гугле работают, и должна быть качественная документация у этих ребят. Но на деле выходит, как обычно…

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