View previous topic :: View next topic |
Author |
Message |
Ytterby n00b
Joined: 30 Dec 2021 Posts: 6
|
Posted: Thu Dec 30, 2021 11:53 am Post subject: Setting portage nice value in limits.conf |
|
|
I've just installed Gentoo and the one annoying thing about Gentoo is that the user called portage is using all my resources causing buffer underruns when watching videos.
edit /etc/security/limits.conf
Linux is pretty good in scheduling anyway so unless I start up games or other intensive tasks portage should compile just fine albeit slightly slower.
if anyone has more small tweaks that help desktop/laptop oriented use I'd like to hear it. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54624 Location: 56N 3W
|
Posted: Thu Dec 30, 2021 12:08 pm Post subject: |
|
|
Ytterby,
Welcome to Gentoo.
There is a knob in make.conf for portage niceness. Its set to 3 by default when you don't define it.
Run
nice will not stop the niced process(es) from using all available resources, it just makes the process get out of the way faster, so it probably won't fix your issue.
Post the output of and we can look it over and make some suggestions. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Ytterby n00b
Joined: 30 Dec 2021 Posts: 6
|
Posted: Thu Dec 30, 2021 1:00 pm Post subject: |
|
|
Quote: | Its set to 3 by default when you don't define it. |
Top said the nice value was 0. Anyway, it fixed the issue.
Do you have any tips on how to measure the responsiveness of the system? I want to mess with kernel configurations and maybe abuse portage some more but I want to know the latencies of my input and how fast my GPU can paint to screen.
I'm using wayfire atm
edit: why doesn't the code tag work?
Code: | Portage 3.0.28 (python 3.9.9-final-0, default/linux/amd64/17.1/desktop, gcc-11.2.0, glibc-2.33-r7, 5.15.11-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-5.15.11-gentoo-x86_64-x86_64-AMD_Ryzen_7_PRO_3700U_w-_Radeon_Vega_Mobile_Gfx-with-glibc2.33
KiB Mem: 14303444 total, 9489024 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Thu, 30 Dec 2021 10:00:01 +0000
Head commit of repository gentoo: f1867738572fc3b06ba94c0ac28cf8ec88ae7997
Timestamp of repository steam-overlay: Thu, 30 Dec 2021 10:21:34 +0000
Head commit of repository steam-overlay: 688fc066d816cff22dcba737f5c781010953f078
sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-misc/pax-utils: 1.3.3::gentoo
app-shells/bash: 5.1_p8::gentoo
dev-lang/perl: 5.34.0-r3::gentoo
dev-lang/python: 3.9.9::gentoo, 3.10.0_p1::gentoo
dev-lang/rust-bin: 1.56.1::gentoo
dev-util/cmake: 3.21.4::gentoo
dev-util/meson: 0.59.4::gentoo
sys-apps/baselayout: 2.7-r3::gentoo
sys-apps/openrc: 0.44.10::gentoo
sys-apps/sandbox: 2.25::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake: 1.16.4::gentoo
sys-devel/binutils: 2.37_p1::gentoo
sys-devel/binutils-config: 5.4::gentoo
sys-devel/gcc: 11.2.0::gentoo
sys-devel/gcc-config: 2.4::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/llvm: 13.0.0::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.15-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.33-r7::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-verify-metamanifest: yes
sync-rsync-verify-max-age: 24
sync-rsync-extra-opts:
sync-rsync-verify-jobs: 1
steam-overlay
location: /var/db/repos/steam-overlay
sync-type: git
sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
masters: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
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 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="https://ftp.uni-hannover.de/gentoo/ https://mirror.leaseweb.com/gentoo/ https://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/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"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 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 multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2020" 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="libinput" KERNEL="linux" 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-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
|
Quote and code tags fixed by NeddySeagoon |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54624 Location: 56N 3W
|
Posted: Thu Dec 30, 2021 1:21 pm Post subject: |
|
|
Ytterby,
Check your PM.
is too much for your 14G RAM. Big packages want 2G of real RAM per thread.
You can throttle in back on a per package basis when you discover the problem packages.
Hint: Rust, firefox, thunderbird, libreoffice and a few others.
Not having any swap space does not prevent the kernel swapping. It only prevents dynamically allocated RAM from being written to HDD.
The kernel can and will drop read caches, drop executable code and flush write caches to free RAM.
This leads to slowdowns due to the page faults triggered to reload things. That forces an expensive context switch too, as the kernel switches away from the stalled thread.
A small swap that you watch to see that its never used is a good thing.
That allows you to tune the system to not need it.
The other approach is to fit so much RAM, swap cannot possibly be needed. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Ytterby n00b
Joined: 30 Dec 2021 Posts: 6
|
Posted: Thu Dec 30, 2021 2:18 pm Post subject: |
|
|
NeddySeagoon wrote: | Ytterby,
Check your PM.
is too much for your 14G RAM. Big packages want 2G of real RAM per thread.
You can throttle in back on a per package basis when you discover the problem packages.
Hint: Rust, firefox, thunderbird, libreoffice and a few others.
Not having any swap space does not prevent the kernel swapping. It only prevents dynamically allocated RAM from being written to HDD.
|
I have 16GiB of ram installed but I forgot that the GPU claims 2gig in the default configuration. I really dont want to drop to 6 threads because of a few annoying packages. What would be the best way to limit threads on big packages?
You're right about making a swap file, on my last linux install I disabled overcommit. Now that's probaly no longer an option when compiling big packages on gentoo. I could shrink my partition but I decided to make a file-based swap
Code: | swapon
NAME TYPE SIZE USED PRIO
/swapfile file 512M 0B -2 |
I dont know if this is large enough but I can always change it based on my needs.
also, I did see some hard pagefaults so i definitely need it when compiling and doing other things at the same time |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54624 Location: 56N 3W
|
Posted: Thu Dec 30, 2021 2:30 pm Post subject: |
|
|
Ytterby,
The idea of swap these days is not so much to use it as to keep an eye on it when the system is stressed to make sure that its not used.
CPUs and memory have got much faster. Storage, not so much, so making swap to actually use is not something to be done lightly. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20508
|
Posted: Thu Dec 30, 2021 3:51 pm Post subject: Re: Setting portage nice value in limits.conf |
|
|
Ytterby wrote: | one annoying thing about Gentoo is that the user called portage is using all my resources causing buffer underruns when watching videos.
edit /etc/security/limits.conf
| Fortunately that was thought of early on. man make.conf: | PORTAGE_NICENESS = [number] |
Ytterby wrote: | if anyone has more small tweaks that help desktop/laptop oriented use I'd like to hear it. | From the same man page, though I have not used it: Code: | PORTAGE_IONICE_COMMAND = [ionice command string] |
Ytterby wrote: | edit: why doesn't the code tag work? | I'm guessing you are referring to your original post. When you post, there is an option "Disable BBCode in this post", which was selected. I've deselected it, so the code tags now work.
Ytterby wrote: | I have 16GiB of ram installed but I forgot that the GPU claims 2gig in the default configuration. I really dont want to drop to 6 threads because of a few annoying packages. What would be the best way to limit threads on big packages? | https://wiki.gentoo.org/wiki//etc/portage/package.env
That doesn't give an explicit example for MAKEOPTS, so here is one: Code: | $ cat /etc/portage/env/makeopts_j1
MAKEOPTS="-j1"
$ cat /etc/portage/package.env/makeopts
sys-devel/clang makeopts_j1 |
Related to -j is -l, which isn't directly mentioned here, https://wiki.gentoo.org/wiki/MAKEOPTS , but has a link to a blog about it.
It is also briefly mentioned here: https://wiki.gentoo.org/wiki/EMERGE_DEFAULT_OPTS as well as in the same previously mentioned man page under MAKEOPTS.
Another possibly helpful option might be using a tmpfs to reduce writes during emerging https://wiki.gentoo.org/wiki/Portage_TMPDIR_on_tmpfs . No idea if that would help reduce battery utilization. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 2021
|
Posted: Wed Mar 02, 2022 3:37 am Post subject: |
|
|
You may find the new Portage niceness page interesting (which mentions some bonuses like chrt). |
|
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
|
|