Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Compilieren mehr als 10 Stunden von Programmen?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Tue Dec 15, 2020 11:59 am    Post subject: Compilieren mehr als 10 Stunden von Programmen? Reply with quote

Hi Leute,

sind diese compiler Zeiten aus z.B. genlop -t chromium richtig?

qtwebkit Zeit 10 Stunden
Libreoffice Zeit 3 Stunden
Chromium Zeit 1 Tag

Ich habe hier einen Laptop mit i5 Prozessor und 12 Gbyte RAM.
Es ist wohl eine normale HDD keine SSD.
Trotzdem komme ich auf die oben genannten CompilerZeiten.
Ist das richtig?

Gruß Jörg
Back to top
View user's profile Send private message
ManfredB
Veteran
Veteran


Joined: 27 Dec 2007
Posts: 1601

PostPosted: Tue Dec 15, 2020 3:54 pm    Post subject: Reply with quote

Kann ich nur zustimmen.

Daher gehe ich den Weg über binpkgs, die ich am PC erstelle und dann auf dem Notebook nutze.

Nur mit einigen wenigen Programmen funktioniert das so nicht.

Als Beispiel heute:
sys-devel/clang

Auf dem PC als binpkg erstellt, doch es wird auf dem Notebook als solches nicht installiert.

Dauer des Compilierens:
mehr als 30 Minuten.

Gruß
Manfred
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Tue Dec 15, 2020 3:58 pm    Post subject: Reply with quote

3 Stunden für Libreoffice ist vermutlich ganz normal. Bei mir dauert es knapp zwei Stunden auf meinem Desktop-Rechner mit i5-3570K CPU @ 3.40GHz und 16GB RAM.

1 Tag für Chromium bzw. 10 Stunden für qtwebkit erscheinen mir recht lang. Allerdings habe ich keine eigenen Werte, da ich diese Pakete nicht installiert habe. Es ist durchaus möglich, dass es mittlerweile tatsächlich so lange dauert.

Schau doch mal, ob Dein System beim Compilieren von Chromium und qtwebkit anfängt, exzessiv zu swappen - das kostet richtig Zeit. In diesem Fall solltest Du entweder die Anzahl der parallel laufenden Jobs reduzieren oder mehr RAM in Dein Notebook stecken. HDD versus SSD spielt vermutlich keine große Rolle.

Du kannst auch mal schauen, ob Du qtwebkit überhaupt brauchst. Das wird schnell von anderen Paketen mit reingezogen - in vielen Fällen kann man es durch Ändern von ein paar USE Flags wieder loswerden. Das ist das, was ich gemacht habe und weshalb es auf meinem Rechner kein qtwebkit gibt.

Poste doch mal die Ausgabe von 'emerge --info'. Dann können wir mehr sehen.
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Wed Dec 16, 2020 6:35 am    Post subject: emerge --info Reply with quote

Hi Leute,

danke für die Antworten.
Hier mal die emerge --info vielleicht hilft das ja weiter.

Portage 3.0.9 (python 3.7.9-final-0, default/linux/amd64/17.1/desktop, gcc-9.3.0, glibc-2.32-r2, 4.4.192-gentoo x86_64)
=================================================================
System uname: Linux-4.4.192-gentoo-x86_64-Intel-R-_Core-TM-_i5-5200U_CPU_@_2.20GHz-with-gentoo-2.7
KiB Mem: 12259880 total, 10854428 free
KiB Swap: 4199420 total, 4199420 free
Timestamp of repository gentoo: Sat, 12 Dec 2020 11:45:01 +0000
Head commit of repository gentoo: 0318f96a30f0c8f265d57cc40d4cb711ddf0bd95
sh bash 5.0_p18
ld GNU ld (Gentoo 2.34 p6) 2.34.0
ccache version 3.7.12 [disabled]
app-shells/bash: 5.0_p18::gentoo
dev-java/java-config: 2.3.1::gentoo
dev-lang/perl: 5.30.3::gentoo
dev-lang/python: 2.7.18-r4::gentoo, 3.7.9::gentoo, 3.8.6::gentoo, 3.9.0::gentoo
dev-util/ccache: 3.7.12::gentoo
dev-util/cmake: 3.17.4-r1::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.7::gentoo
sys-apps/openrc: 0.42.1::gentoo
sys-apps/sandbox: 2.20::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake: 1.16.2-r1::gentoo
sys-devel/binutils: 2.34-r2::gentoo
sys-devel/gcc: 9.3.0-r1::gentoo
sys-devel/gcc-config: 2.3.2-r1::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.32-r2::gentoo
Repositories:

gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync2.nl.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-verify-jobs: 1
sync-rsync-verify-max-age: 24
sync-rsync-verify-metamanifest: yes
sync-rsync-extra-opts:

gamerlay
location: /var/lib/layman/gamerlay
masters: gentoo
priority: 50

vortex
location: /var/lib/layman/vortex
masters: gentoo
priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-ak1 --quiet-build"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news nodoc noinfo noman parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en_GB nl"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvd dvdr elogind emboss encode exif flac fortran gdbm gif gtk gui iconv icu ipv6 jpeg lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg mtp multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb uxa vaapi vorbis wxwidgets x264 xattr xcb xinerama xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="de en-GB nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python2_7 python3_8" RUBY_TARGETS="ruby25 ruby26" USERLAND="GNU" VIDEO_CARDS="intel i965 nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Gruß Jörg
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2229
Location: My own world! I and Gentoo!

PostPosted: Wed Dec 16, 2020 8:43 am    Post subject: Reply with quote

Deine Werte scheinen mir wirklich etwas hoch. Allerdings hängt das stark vom verfügbaren RAM, der verwendeten Anzahl Jobs, der CPU und nicht zuletzt von den aktivierten USE-Flags ab.

Hier zum Vergleich die emerge --info für besagte Pakete auf meinem "Arbeits-PC" der compiled mit 4 Jobs, specs stehen in der Signatur.
Code:

=================================================================
                        Package Settings
=================================================================

dev-qt/qtwebkit-5.212.0_pre20200309-r1::gentoo was built with the following:
USE="X gstreamer hyphen jit opengl printsupport qml -geolocation -gles2-only -multimedia -nsplugin -orientation -webp" ABI_X86="(64)"
CFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"


app-office/libreoffice-7.0.3.1::gentoo was built with the following:
USE="bluetooth branding clang cups dbus gtk kde mariadb -accessibility -base -coinmp -custom-cflags -debug -eds -firebird -googledrive -gstreamer -java -ldap -odk -pdfimport -postgres -test -vulkan" ABI_X86="(64)" LIBREOFFICE_EXTENSIONS="-nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher" PYTHON_SINGLE_TARGET="python3_8 -python3_6 -python3_7 -python3_9"
FEATURES="merge-sync config-protect-if-modified pid-sandbox network-sandbox usersync ebuild-locks unmerge-orphans qa-unresolved-soname-deps userfetch fixlafiles unmerge-logs strict unknown-features-warn binpkg-logs binpkg-docompress distlocks parallel-fetch sandbox binpkg-dostrip protect-owned usersandbox userpriv ipc-sandbox assume-digests sfperms news preserve-libs xattr multilib-strict"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -fuse-ld=lld"


www-client/chromium-88.0.4324.27::gentoo was built with the following:
USE="cups hangouts js-type-check (pic) proprietary-codecs pulseaudio suid system-ffmpeg system-icu tcmalloc vaapi widevine (-component-build) -custom-cflags (-headless) -kerberos -official (-selinux) -wayland" ABI_X86="(64)" L10N="de -am -ar -bg -bn -ca -cs -da -el -en-GB -es -es-419 -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt-BR -pt-PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW"


Zum Vergleich meine compile-zeiten besagter Pakete:
Code:

HPKistchen ~ $ genlop -t chromium | tail -n 3
     Fri Dec 11 14:28:50 2020 >>> www-client/chromium-88.0.4324.27
       merge time: 11 hours, 45 minutes and 28 seconds.

HPKistchen ~ $ genlop -t libreoffice| tail -n 3         
     Fri Dec 11 01:05:20 2020 >>> app-office/libreoffice-7.0.3.1
       merge time: 2 hours, 47 minutes and 58 seconds.

HPKistchen ~ $ genlop -t qtwebkit| tail -n 3
     Thu Dec 10 18:41:57 2020 >>> dev-qt/qtwebkit-5.212.0_pre20200309-r1
       merge time: 3 hours, 17 minutes and 30 seconds.



PS: Bitte setz deine emerge --info Ausgabe in [ code ] Tags. dann wirds verständlicher.
PPS: Und bitte poste die Ausgabe von emerge --info qtwebkit libreoffice chromium anstelle von emerge --info, sdann stehen die Paketspezifischen Configs mit dabei.
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Dec 16, 2020 2:12 pm    Post subject: Reply with quote

@JoHo42: ich kann mir gut vorstellen, dass Du zumindest zeitweise in exzessives Swapping läufst. Bei den großen C++ Paketen muss man mit 2-3 GB RAM pro Make-Job rechnen. Bei "-j5" sind das also 10-15 GB. Du hast aber nur 12 GB - und von denen geht noch etwas ab für das Betriebssystem und andere laufende Programme. Möglicherweise hast Du auch /var/tmp/portage als tmpfs gemountet, dann steht noch deutlich weniger zur Verfügung, weil ja ein Teil des RAMs für das tmpfs verwendet wird. Die Folge kann dann Swapping sein.

Außerdem hast Du nur 2 Kerne. Da scheint mir "-j5" doch etwas übertrieben. Vermutlich hast Du Hyperhreading eingeschaltet, dann hast Du 4 logische Kerne. Jeder der 4 logischen Kerne ist aber deutlich langsamer, als einer der beiden "richtigen" Kerne. Deshalb schalte ich Hyperthreading meistens aus, wenn ich für eine Anwendung nicht nachgemesen habe, dass Hyperthreading tatsächlich etwas bringt. Ich halte Hyperthreading auf Mobile CPUs für eine Mogelpackung.

Lange Rede kurzer Sinn: gehe runter auf "-j3", deaktiviere tmpfs auf /var/tmp/portage testweise (falls vorhanden) und teste noch einmal, wie lange "emerge qtwebkit" benötigt. Wenn Du möchtest, kannst Du den Test einmal mit eingeschaltetem Hyperthreading und einmal ohne Hyperthreading durchführen.

@Max Steel: danke für Deine Ausgabe von genlop. Bei Dir sind die Emerge-Zeiten für LibreOffice und qtwebkit nicht weit auseinander. Bei @JoHo42 unterscheiden sie sich um einen Faktor 3. Das ist ein weiterer Hinweis darauf, dass bei JoHo42 bei 'emerge qtwebkit' etwas nicht stimmt.
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Wed Dec 16, 2020 6:10 pm    Post subject: Reply with quote

Hi Leute,

also SWAPEN macht der eigentlich wenig. Der SWAP wird eigentlicht nicht benötigt.
Ich war bisher immer der Überzeugung, daß ich 4 CPUs habe. Allerdings steht da was mit 2 Cores.
Hier mal die Infos aus /proc/cpuinfo

Quote:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping : 4
microcode : 0x1f
cpu MHz : 2447.585
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4389.52
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping : 4
microcode : 0x1f
cpu MHz : 2450.078
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4389.52
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping : 4
microcode : 0x1f
cpu MHz : 2429.796
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4389.52
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping : 4
microcode : 0x1f
cpu MHz : 2442.343
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4389.52
clflush size : 64
cache_alignment : 64
address sizes : 39 bi


Wenn das nur zwei CPUs sind, dann wäre die Frage wo finde ich Hyperthreading im Kernel?

Gruß Jörg[/quote]
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Wed Dec 16, 2020 6:32 pm    Post subject: Reply with quote

Hi Leute,

so CPUs sind offline. Ich habe nur 2 CPUs.
Ausgeschaltet mit
echo 0 > /sys/device/system/cpu/cpu3/online
echo 0 > /sys/device/system/cpu/cpu2/online

make Jobs steht jetzt auf 3. Bin gespannt wie lange emerge Chromium jetzt braucht.


Gruß Jörg
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Dec 16, 2020 6:47 pm    Post subject: Reply with quote

Quote:
Ich war bisher immer der Überzeugung, daß ich 4 CPUs habe. Allerdings steht da was mit 2 Cores.

Verlässlichste Quelle für Intel CPUs ist http://ark.intel.com. Im Falle Deines Prozessors: https://ark.intel.com/content/www/us/en/ark/products/85212/intel-core-i5-5200u-processor-3m-cache-up-to-2-70-ghz.html.

Da sieht man:
Code:
CPU Specifications
# of Cores 2
# of Threads 4

Die CPU hat 2 Kerne.

Unter Linux kann man es mit 'lscpu' sehen. Bei echten 4 Kernen kommen dann:
Code:
CPU(s):                  4
Liste der Online-CPU(s):0-3
Thread(s) pro Kern:      1
Kern(e) pro Sockel:      4
Sockel:                  1

Und bei einer CPU mit nur 2 Kernen und Hypterthreading:
Code:
CPU(s):                  4
Liste der Online-CPU(s): 0-3
Thread(s) pro Kern:      2
Kern(e) pro Sockel:      2
Sockel:                  1

Ein- und Ausschalten kann man Hyperthreading entweder im BIOS (da mache ich es), beim Booten mit einem Kernel-Boot-Parameter (nosmt), oder auch im laufenden Betrieb.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Dec 16, 2020 6:57 pm    Post subject: Reply with quote

JoHo42 wrote:
so CPUs sind offline. Ich habe nur 2 CPUs. Ausgeschaltet mit
Code:
echo 0 > /sys/device/system/cpu/cpu3/online
echo 0 > /sys/device/system/cpu/cpu2/online


Da wäre ich vorsichtig.

Wer sagt, dass Du jetzt die richtigen Threads ausgeschaltet hast? Könnte es nicht sein, dass Du die beiden Threads auf Kern 2 ausgeschaltet hast? Dann hättest Du jetzt 1 Kern mit 2 Threads - nicht das, was Du willst. Schalte Hyperthreading lieber im BIOS oder mit dem Boot-Parameter nosmt ab.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4019
Location: Bavaria

PostPosted: Wed Dec 16, 2020 7:39 pm    Post subject: Reply with quote

Wenn ich noch einen Vorschlag machen darf:

- Schalte das Hyperthreading NICHT aus (keine Sorge der Kernel verteilt die Last auf die beiden echten Kerne).
- Nimm -j2 statt 3 (Untersuchungen zeigten damit eine bessere Performance).
- Beobachte das ganze = Speicherverbrauch UND CPU-Temperatur (gerade bei Notebooks) mit einem geeigneten Systemmonitor (ich verwende ksysguard aus der KDE-Suite).
- Prüfe was Du sonst noch nebenbei machst (Browser schlucken tlw. 1 GB RAM)
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 956
Location: Germany

PostPosted: Fri Dec 18, 2020 9:25 am    Post subject: Reply with quote

Hi Leute,

nosmt habe ich jetzt in der Kernel startzeile eingesetzt.
Laut dmesg wird der Kernel auch mit nosmt gestartet.
Allerdings sehe ich immer noch 4 CPUs.
Chromium ließ sich jetzt mit 16 Stunden compilieren, allerdings ist das noch nicht verlässlich.
-n steht jetzt auf 3 CPUs.

Gruß Jörg
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Dec 18, 2020 8:11 pm    Post subject: Reply with quote

JoHo42 wrote:
nosmt habe ich jetzt in der Kernel startzeile eingesetzt.
Laut dmesg wird der Kernel auch mit nosmt gestartet.
Allerdings sehe ich immer noch 4 CPUs.

Der Kernel Parameter "nosmt" schaltet nur einzelne Threads ab. Deshalb sieht man noch alle 4 Threads, aber wenn Du Dir den Status ansiehst, sollten zwei Threads offline sein.

Aus diesem Grund schalte ich Hyperthreading gerne im BIOS ab. Dann erscheinen die 4 Threads gar nicht mehr unter Linux. "lscpu" würde dann 2 Kerne mit jeweils einem Thread anzeigen.
Quote:
Chromium ließ sich jetzt mit 16 Stunden compilieren

Ein deutlicher Fortschritt, wenn es vorher 24 Stunden waren! :)
Back to top
View user's profile Send private message
misterjack
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1647

PostPosted: Mon Dec 21, 2020 3:46 am    Post subject: Reply with quote

Warum Hyperthreading ausschalten, wenn einschlägige Benchmarks eine Zeitersparnis zeigen?

https://www.phoronix.com/scan.php?page=article&item=intel-ht-2018&num=4

pietinger wrote:
Wenn ich noch einen Vorschlag machen darf:

- Schalte das Hyperthreading NICHT aus (keine Sorge der Kernel verteilt die Last auf die beiden echten Kerne).


Richtig!
_________________
„Meine Meinung steht fest! Bitte verwirren Sie mich nicht mit Tatsachen.“
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Mon Dec 21, 2020 9:21 am    Post subject: Reply with quote

misterjack wrote:
Warum Hyperthreading ausschalten, wenn einschlägige Benchmarks eine Zeitersparnis zeigen?

https://www.phoronix.com/scan.php?page=article&item=intel-ht-2018&num=4

Mit aktuellen kernel versionen könnte das auf Intel CPUs nicht mehr ganz so stimmen. Das liegt aber Hauptsächlich an den ganzen Mitigations für die Intel CPU security Bugs.

"Aktueller" test wie stark die Performance der Intel CPUs durch die Mitigations einbricht (mit HT):
https://www.phoronix.com/scan.php?page=article&item=spectre-meltdown-2

Hier ein test wo ht via nosmt deaktiviert wird
https://www.phoronix.com/scan.php?page=news_item&px=Spec-Melt-L1TF-MDS-Laptop-Run

Aber grundsätzlich ist Hyperthreading was gutes. Wobei die bessere Performance durch HT abhängig ist vom entsprechenden Workload.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2389
Location: Germany

PostPosted: Mon Jan 11, 2021 3:06 pm    Post subject: Reply with quote

Aus dem Grund compiliere ich die dicken Dinger auch nur noch gezielt und bei bedarf. Das selbe aber auch mit dem gcc/clang/rust usw.

Die Browser haben schon länger Betriebssystem-Größe erreicht und werden halt immer wichtiger. Aber eben darum ist es mir auch wichtig das ich davon den Sourcecode zur Verfügung hab und die selber kompiliere.

Besonders ärgerlich auch wenn ich gerade den Fuchs aktualisiert hab und dann kommt 2 Tage später noch ein weiteres Security Update hinzu, beispielsweise 84.0.0 auf 84.0.2.

Kann man es nicht mit git syncen und dann nur noch die geänderten Fälle aktualisieren/neu compilieren? Normal ist doch das so gemacht das man zwar Abhängigkeiten neu baut, aber make darauf achtet wenn nur eine Datei verändert wurde lediglich diese Änderungen neu baut.

Würde es da Sinn machen die Sourcen mit GIT lokal zu verwalten und zu bauen statt als ebuild mit Gentoo?

Klar oft hat sich so viel geändert das man wieder alles neu bauen muss. Aber bei Lineageos 17_1, baut der Ninja Prozess auch nur die gepatchten Bereiche neu wenn das am selben Tag war mit wenigen Minuten dazwischen und ich meine so hab ich das auch beim gentoo-kernel erlebt. Ist aber oft die Ausnahme und neben der Täglichen Arbeit bleibt mir da leider wenig Zeit das zu testen.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Mon Jan 11, 2021 6:17 pm    Post subject: Reply with quote

ChrisJumper wrote:
Besonders ärgerlich auch wenn ich gerade den Fuchs aktualisiert hab und dann kommt 2 Tage später noch ein weiteres Security Update hinzu, beispielsweise 84.0.0 auf 84.0.2.

... manchmal ist es auch nur ein ganz normales stable-Update eines Basis-Pakets.

Gestern beispielsweise kam ein Update von ICU - und schon muss der Rechner wieder die ganze Nacht über kompilieren! :)
Code:
  (dev-libs/icu-68.2:0/68.2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    ...
    (www-client/firefox-84.0.2:0/84::gentoo, ebuild scheduled for merge)
    ...
    (mail-client/thunderbird-78.6.0:0/78::gentoo, ebuild scheduled for merge)
    ...
    (app-office/libreoffice-7.0.4.2:0/0::gentoo, ebuild scheduled for merge)
    (net-fs/samba-4.12.9-r1:0/0::gentoo, ebuild scheduled for merge)
    (dev-qt/qtcore-5.15.2-r2:5/5.15.2::gentoo, ebuild scheduled for merge)
    (dev-libs/boost-1.74.0-r1:0/1.74.0::gentoo, ebuild scheduled for merge)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum