View previous topic :: View next topic |
Author |
Message |
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Fri Dec 18, 2020 3:24 pm Post subject: CPU - Einstellung in make.conf |
|
|
Hallo zusammen,
was ist meine Frage:
In einem Nachbarthread wird etwas über CPUs im Notebook behandelt.
Dort will ich meine Frage nicht unterbringen.
Hier erst einmal das Ergebnis von lscpu:
Code: |
lscpu
Architektur: x86_64
CPU Operationsmodus: 32-bit, 64-bit
Byte-Reihenfolge: Little Endian
Adressgrößen: 43 bits physical, 48 bits virtual
CPU(s): 12
Liste der Online-CPU(s): 0-11
Thread(s) pro Kern: 2
Kern(e) pro Sockel: 6
Sockel: 1
NUMA-Knoten: 1
Anbieterkennung: AuthenticAMD
Prozessorfamilie: 23
Modell: 8
Modellname: AMD Ryzen 5 2600 Six-Core Processor
Stepping: 2
Übertaktung: aktiviert
CPU MHz: 3891.692
Maximale Taktfrequenz der CPU: 3400,0000
Minimale Taktfrequenz der CPU: 1550,0000
BogoMIPS: 6789.26
Virtualisierung: AMD-V
L1d Cache: 192 KiB
L1i Cache: 384 KiB
L2 Cache: 3 MiB
L3 Cache: 16 MiB
NUMA-Knoten0 CPU(s): 0-11
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Full AMD retpoline, IBPB conditional, STIBP disabled, RSB filling
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Markierungen: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_t
sc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_ps
tate sme ssbd sev ibpb vmmcall sev_es fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr
arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smc
a
|
Was sagt das über meine CPUs genau aus?
Die Frage bezieht sich auf /etc/portage/make.conf,
und zwar
EMERGE_DEFAULT_OPTS="--jobs=?"
MAKEOPTS="-?"
Bei mir steht statt ? 4.
bei MAKEOPTS statt ? 4.
Die Frage also: ist das so korrekt oder kann ich das besser machen?
Hier noch etwas mehr über meinen PC:
Code: |
inxi -F
System: Host: gamk_a4 Kernel: 5.10.1 x86_64 bits: 64 Desktop: KDE Plasma 5.20.4 Distro: Gentoo Base System release 2.7
Machine: Type: Desktop System: CSL- & KG product: A0000001 v: N/A serial: PCCSL2018038241
Mobo: ASUSTeK model: TUF B450-PLUS GAMING v: Rev X.0x serial: 180937167304657 UEFI: American Megatrends v: 0409
date: 08/24/2018
CPU: Info: 6-Core model: AMD Ryzen 5 2600 bits: 64 type: MT MCP L2 cache: 3072 KiB
Speed: 1556 MHz min/max: 1550/3400 MHz Core speeds (MHz): 1: 1557 2: 1556 3: 3892 4: 3892 5: 3886 6: 3892 7: 3892
8: 3886 9: 3892 10: 3891 11: 1556 12: 1557
Graphics: Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nouveau v: kernel
Display: x11 server: X.org 1.20.10 driver: nouveau unloaded: modesetting resolution: <xdpyinfo missing>
OpenGL: renderer: NV136 v: 4.3 Mesa 20.3.1
Audio: Device-1: NVIDIA GP106 High Definition Audio driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel
Sound Server: ALSA v: k5.10.1
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: 40:b0:76:0b:96:a6
Drives: Local Storage: total: 3.19 TiB used: 483.10 GiB (14.8%)
|
Und zusätzlich noch emerge --info
Code: |
Portage 3.0.12 (python 3.8.7-candidate-1, default/linux/amd64/17.1/desktop/plasma, gcc-9.3.0, glibc-2.32-r5, 5.10.1 x86_64)
=================================================================
System uname: Linux-5.10.1-x86_64-AMD_Ryzen_5_2600_Six-Core_Processor-with-glibc2.2.5
KiB Mem: 16383024 total, 10642620 free
KiB Swap: 4435964 total, 4435964 free
Timestamp of repository gentoo: Fri, 18 Dec 2020 14:35:19 +0000
Head commit of repository gentoo: 81910f739ac8919f292c6a1fbb872f12c19bd264
sh bash 5.1
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
app-shells/bash: 5.1::gentoo
dev-lang/perl: 5.30.3-r1::gentoo
dev-lang/python: 3.7.9-r1::gentoo, 3.8.7_rc1::gentoo, 3.9.1::gentoo
dev-util/cmake: 3.19.2::gentoo
sys-apps/baselayout: 2.7-r1::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.3-r1::gentoo
sys-devel/binutils: 2.35.1-r1::gentoo
sys-devel/gcc: 9.3.0-r2::gentoo
sys-devel/gcc-config: 2.3.2-r1::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc: 2.32-r5::gentoo
Repositories:
gentoo
location: /gam/var/db/repos/gentoo
sync-type: git
sync-uri: https://github.com/gentoo-mirror/gentoo
priority: -1000
ACCEPT_KEYWORDS="amd64 ~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/config /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="/gamd/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4"
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="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news 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="-march=native -O2 -pipe"
GENTOO_MIRRORS="ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/gam/var/cache/binpkgs"
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 activities alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr elogind emboss encode exif flac fortran gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kipi kwallet lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt5 readline sdl seccomp semantic-desktop spell split-usr ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis widgets wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="mmx mmxext sse sse2" 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" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" L10N="de" 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="nouveau" 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, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
|
Da der PC noch etwas jung ist, möchte ich ihn nutzen, aber nicht überfordern.
Kann mir da jemand ein wenig behilflich sein, um die Einstellungen korrekt an die Fähigkeiten des PCs anzupassen?
Danke im voraus für Hilfe.
Gruß
Manfred
P.S. libreoffice wird gerade installiert, das dauert sehr lange.
Das hat mich zu meiner Frage angeregt - ob es schneller gehen könnte.... |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5327
|
Posted: Fri Dec 18, 2020 3:34 pm Post subject: |
|
|
Das ist ein 6 Kerner, der durch HT 12 Threads bearbeiten kann.
Daher kannst du bei MKAEOPTS mindestens -j6 verwenden, kannst es bis auf 12 hochdrehen. _________________ 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 |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Fri Dec 18, 2020 3:41 pm Post subject: |
|
|
Hallo firefly,
ganz herzlichen Dank für die schnelle Antwort.
Genau das war bisher - ich bin kein PC- Fachmann - meine Unsicherheit.
Wenn das aber möglich ist, dann werde ich mit Sicherheit auf -j6 aufrüsten.
Allerdings dann gleichzeitig aber nur 2 Pakete installieren, nicht 4, wie ich bisher eingestellt hatte.
Sehe ich das richtig?
Nochmals vielen Dank!
Gruß
Manfred |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Fri Dec 18, 2020 5:51 pm Post subject: |
|
|
Das hängt von den Paketen ab, die installierst werden sollen.
- Wenn man kleine GNU-Pakete installiert, ist es am besten, 6 (12) Pakete parallel installieren zu lassen, die alle mit "make -j1" laufen.
- Wenn man große C++-Pakete installiert wie gcc, chrome oder qtwebkit, ist es am besten, nur ein Paket parallel installieren zu lassen, dieses aber mit "make -j6" ("make -j12").
Der Grund für 1 ist, dass bei den kleinen Paketen viel Zeit in Phasen verbracht wird, in denen eh nichts parallel läuft (emerge selbst, configure, install). Bei den großen Paketen wird hingegen sehr viel Zeit beim Kompilieren verbraucht. Dieses kann sehr gut parallelisiert werden. Man möchte dann alle verfügbaren Ressourcen diesen Compilern zur Verfügung stellen. Weitere, parallel laufende Builds würden zusätzlich RAM kosten und alles langsamer machen, weil zwischen den Prozessen hin- und hergewechselt werden müsste.
Ob Hyperthreading auf Deinem System etwas bringt, musst Du durch Tests herausfinden. Wie ich in dem anderen Thread geschrieben habe, schalte ich es standardmäßig aus, weil es zu viel Ärger macht. Wir hatten aber neulich einen Bericht, dass Hyperthreading auf Ryzen Prozessoren tatsächlich noch ein paar Prozent mehr Leistung bringen - ich weiß aber nicht, wie gut das gemessen wurde.
Bei 16GB RAM wäre "make -j12" übrigens schon zu viel. Bei den großen C++-Paketen muss man mit 2-3GB RAM pro Job rechnen. Und wenn das RAM zur Zeige geht und exzessives Swapping beginnt, wird es langsam, sehr langsam! |
|
Back to top |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Fri Dec 18, 2020 6:38 pm Post subject: |
|
|
Hallo mike155!
Auch dir vielen Dank für die guten Erklärungen der Details.
Heute habe ich bei meinen Systemen (stable, unstable, systemd) mit verschiedenen großen Paketen zu tun bekommen:
gcc (stable)
libreoffice
libreoffice-bin (stable)
Da geht schon viel Zeit drauf.
Im Moment lasse ich nur 2 parallele Installationen zu.
Bei kleineren Updates mit geringem Umfang kann ich ja dann die Zahl erhöhen.
Ich bin sehr gespannt, wie das System reagiert.
Einen schönen Abend wünsche ich euch allen.
Gruß
Manfred |
|
Back to top |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Fri Dec 18, 2020 6:52 pm Post subject: |
|
|
So sieht der Installations-Prozess im Moment aus:
Code: |
>>> Emerging (1 of 8) app-office/libreoffice-l10n-7.0.4.2::gentoo
>>> Emerging (2 of 8) dev-util/glib-utils-2.66.4::gentoo
>>> Installing (1 of 8) app-office/libreoffice-l10n-7.0.4.2::gentoo
>>> Installing (2 of 8) dev-util/glib-utils-2.66.4::gentoo
>>> Emerging (3 of 8) dev-util/gdbus-codegen-2.66.4::gentoo
>>> Installing (3 of 8) dev-util/gdbus-codegen-2.66.4::gentoo
>>> Emerging (4 of 8) dev-util/cmake-3.19.2::gentoo
>>> Installing (4 of 8) dev-util/cmake-3.19.2::gentoo
>>> Emerging (5 of 8) sys-kernel/gentoo-sources-5.10.1-r1::gentoo
>>> Installing (5 of 8) sys-kernel/gentoo-sources-5.10.1-r1::gentoo
>>> Emerging (6 of 8) dev-libs/glib-2.66.4::gentoo
>>> Installing (6 of 8) dev-libs/glib-2.66.4::gentoo
>>> Emerging (7 of 8) app-office/libreoffice-7.0.4.2::gentoo
>>> Emerging (8 of 8) kde-apps/konsole-20.12.0-r1::gentoo
>>> Installing (8 of 8) kde-apps/konsole-20.12.0-r1::gentoo
|
libreoffice läuft im Moment noch ganz alleine.
Nebenbei wird auch nocht ein neuer Kernel installiert,
wenn ich nach
make oldconfig
make eingebe:
make -j10
dann ist der Prozess wohl noch einen Tick schneller.
Gruß
Manfred |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5254 Location: Bavaria
|
Posted: Fri Dec 18, 2020 7:07 pm Post subject: |
|
|
mike155 wrote: | [...]
- Wenn man kleine GNU-Pakete installiert, ist es am besten, 6 (12) Pakete parallel installieren zu lassen, die alle mit "make -j1" laufen. [...]
Der Grund für 1 ist, dass bei den kleinen Paketen viel Zeit in Phasen verbracht wird, in denen eh nichts parallel läuft (emerge selbst, configure, install). [...] |
Mike, das alles stimmt komplett.
Ich lasse aber immer nur ein Paket auf einmal installieren (mit make -j4 oder -j8 je nach Tageszeit) weil ich schon mal das Problem hatte, dass ein nachfolgendes Paket abhängig vom vorherigen war, welches noch gar nicht so weit war (das dürfte sehr selten sein; aber ich lasse die meisten Updates über Nacht laufen (-j4) und da will ich am nächsten Tag keine Überraschungen). |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Fri Dec 18, 2020 7:33 pm Post subject: |
|
|
Quote: | Ich lasse aber immer nur ein Paket auf einmal installieren |
Oh ja! Ich mache das auch so! Immer nur ein Paket auf einmal - und dieses mit so vielen Jobs, wie ich Kerne habe.
Aber ManfredB wollte ja wissen, wie die aus Performance-Sicht optimalen Einstellungen wären - und da ging es mir darum zu zeigen, dass man für kleine Pakete andere Einstellungen bräuchte, als für die großen Pakete: dass es also keine allgemeingültige Empfehlung geben kann. |
|
Back to top |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Sat Dec 19, 2020 12:04 pm Post subject: |
|
|
Heute hatte ich ein Problem:
Als ich das unstable-System aktualsieren wollte, kamen die meisten Programme mit
rR, d.h. sie wurde reinstalliert.
Dabei habe ich libreoffice gesehen und qtwebkit.
Dummerweise sind diese beiden Pakete gleichzeitig an die Reihe gekommen,
womit ich nicht gerechnet hatte.
Ich habe das sofort abgebrochen und zuerst qtwebkit alleine installiert,
was mindestens 30 Minuten gedauert hat, anschließend libreoffice, was nahezu 1 Stunde brauchte.
Nur so konnte ich verhindern, daß beide zusammen 12 CPUs auf längere Zeit genutzt hätten,
das wollte ich dem PC nicht zumuten.
Gruß
Manfred |
|
Back to top |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1766
|
Posted: Sat Dec 19, 2020 9:21 pm Post subject: |
|
|
Jetzt sitze ich an meinem Notebook und aktualisiere unstable:
dev-qt/qtwebkit und etliche andere Programme werden nicht als binpkgs installiert,
nur libreoffice.
Dauer der Installation sicher eine Stunde oder mehr.
Das hätte ich mir nicht gewünscht.
Aber es ist halt so.
Gruß
Manfred |
|
Back to top |
|
|
|
|
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
|
|