Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[COMPILATION] machine à genoux [résolu]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
gregool
Guru
Guru


Joined: 26 Nov 2007
Posts: 336
Location: Lille

PostPosted: Mon May 31, 2010 6:12 pm    Post subject: [COMPILATION] machine à genoux [résolu] Reply with quote

Salut à tous,

j'ai fais une update système aujourd'hui et lors de la mise à jour de dev-libs/boost-1.42.0-r1 ma machine était à genoux !

8 longues minutes de freeze !

ma config c'est une core i7 930 avec 3x 1Go de DDR3 PC 12800 et 1Go de swap.

pendant la compil j'avais 8 coeurs à 100%, 100% de RAM et de SWAP utilisés.

emerge --info:

Code:
Portage 2.1.8.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.3.3, glibc-2.11.1-r0, 2.6.34-gentoo x86_64)
=================================================================
System uname: Linux-2.6.34-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_930_@_2.80GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 31 May 2010 17:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.3.3-r2, 4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.7b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "
LDFLAGS="-Wl,-O1"
LINGUAS="fr"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/desktop-effects"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 apache2 autoipd avahi berkdb bluetooth branding bzip2 cairo cdr cleartype cli consolekit corefonts cracklib crypt cups custom-optimization cxx dbus dhcpcd dri dts dvd dvdr eds emboss emerald encode evdev evo exif extras fam ffmpeg firefox flac fortran gdbm gdu gif git gnome gnome-keyring gpm gstreamer gtk hal hddtemp iconv ipod ipv6 java jpeg lcms ldap lib32 libnotify lm_sensors mad matroska mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses networkmanager nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt qt3support qt4 readline reflection samba sdl session spell spl sqlite sse sse2 ssl startup-notification svg symlink sysfs tcpd threads tiff totem truetype type1 unicode usb v4l vdpau video vorbis x264 xcb xml xorg xulrunner xv xvid zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


mauvaise config de ma part j'imagine, si quelqu'un à des optimisations à proposer ça serait sympa :)

Merci,


Last edited by gregool on Fri Jun 04, 2010 9:03 am; edited 1 time in total
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3102
Location: Paris

PostPosted: Mon May 31, 2010 6:43 pm    Post subject: Reply with quote

Si c'est un problème de galipeur, t'es dedans jusqu'au cou.
Parce que c'est pas sous garantie les galipeurs.

----> []
_________________
-Gentoo hardened [EoL]: µ-serv Gen8 G1610T, 8Go ECC ; NF9D-2700, 4Go
-FreeBSD 11/Vimage/Jails: DS61, i3 2100T, 16Go ; FreeNAS: µ-serv N40L, 8Go ECC
-Réseau: ERL-3 + ESL-24 + GS108Tv2
-NAS: RN312
Back to top
View user's profile Send private message
Ey
l33t
l33t


Joined: 07 Apr 2005
Posts: 863
Location: Paris

PostPosted: Mon May 31, 2010 6:49 pm    Post subject: Reply with quote

Qu'est-ce que tu appeles 100% ram utilise ? Si tu te bases sur ce que te renvois top, il faut savoir que linux utilise quasiment toute la memoire disponible pour servir de cache disque. Si tu veux la vraie consommation memoire, il vaut mieux utiliser la commande free qui t'affiche la quantite de memoire reellement utilisee par tes applis.

Sinon pour en revenir au probleme, 8 coeurs et seulement 3GiB de RAM ca me parrait bizarrement dimensionne comme machine. Surtout qu'en -j9 tu as 8/9 gcc en parallele en train de compiler des sources de boost qui sont assez lourdes a compiler, ce qui va forcement te bouletiser plein de memoire. J'aurai donc tendance a te conseiller de baisser le -j9 sur ton poste ce qui aurai deux interets :
- economiser un peu la memoire de ton poste
- conserver un peu de puissance de calcul pour te permettre de faire autre chose sur ton poste en meme temps que tu compiles.

Pour finir le swap c'est sense servir uniquement en depannage pour des process qui ne sont pas actifs car c'est extremement lent par rapport a de la memoire.
Donc dans ce cas precis si ca a swappe a fond ca explique parfaitement les gros rallentissements que tu as ressentis.
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Mon May 31, 2010 6:54 pm    Post subject: Reply with quote

Ça me parait bizarre, t'as pas de CFLAGs louches, rien qui pourrait laisser supposer un tel comportement. Je pense que ton MAKEOPTS est normal vu le nombre de cores...

Sur mon core2duo ça met à peu près 10 minutes (je viens de le recompiler en 7 minutes), 1500Mo de ram utilisé au max (avec XFCE, Firefox et tout de lancé).

Au hasard, t'as essayé de baisser le MAKEOPTS ?

EDIT : @Ey, pas con, j'avais pas pensé au ratio RAM/Coeurs
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
gregool
Guru
Guru


Joined: 26 Nov 2007
Posts: 336
Location: Lille

PostPosted: Mon May 31, 2010 7:02 pm    Post subject: Reply with quote

ouai alors 3Go de ram parceque avant de monter cette machine, j'avais un core2duo avec 3Go de ram et je montais jamais au dessus de la moitié en utilisation, mais c'est vrai que j'étais en -j3.
et pour répondre à ta question c'est bien avec free que j'ai eu l'info sur la conso de ram.
donc la cause du ralentissement effectivement j'avais bien cerné, maintenant la question c'était, une optimisation des paramètres de compilation peut-elle régler ce problème ?

mais il est possible que -j9 soit peut être trop ambitieux, je préfère demander parce que j'ai monté la config il y a un petit mois, et jusqu'ici tout allait bien, c'est peut être juste la taille des sources de boost en effet, je vais surveiller.

@El_Goretto les galipeurs c'est le premier truc auquel j'ai pensé mais c'est bon ça fuit pas ! ouf ! :lol:
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Mon May 31, 2010 7:09 pm    Post subject: Reply with quote

Les optimisations GCC n'y pourront rien vu que le problème a l'air lié à la quantité de RAM dispo. Je pense que t'as 2 solutions qui s'offrent à toi :
- Tu baisses MAKEOPTS
- T'achètes de la RAM ;)
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
gregool
Guru
Guru


Joined: 26 Nov 2007
Posts: 336
Location: Lille

PostPosted: Mon May 31, 2010 7:17 pm    Post subject: Reply with quote

ok, ben ça va être $1 en attendant $2 :D
Back to top
View user's profile Send private message
Ey
l33t
l33t


Joined: 07 Apr 2005
Posts: 863
Location: Paris

PostPosted: Mon May 31, 2010 7:26 pm    Post subject: Reply with quote

A priori -j7 ou -j6 ca devrait passer vu que le merge n'a pas non plus plante sur ton poste. (pour info lors de la compilation de boost ca consomme dans les 150-200megs par processeur en pointe sur mon poste).

[edit]
kernelsensei wrote:
Les optimisations GCC n'y pourront rien vu que le problème a l'air lié à la quantité de RAM dispo.

J'irai meme plus loin, les optimisations ont tendance a consommer plus de memoire lors de la compilation. Il faudrait donc degrader le niveau d'optimisation du code si tu veux diminuer la consommation memoire lors des merges. Ce qui veut dire que pour economiser quelques minutes lors de ton merge (et avoir ton -j9) tu degraderais les perfs de tes applis au quotidien.
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3102
Location: Paris

PostPosted: Tue Jun 01, 2010 9:52 am    Post subject: Reply with quote

AMHA, le plus intelligent serait alors temporairement de désactiver l'hyperthreading, pour éviter de perdre des perfs (X cores inutilisés).
Ca repasse à 4 cores, tous en mode en "full patate".
Et paf, un -j5 derrière.
_________________
-Gentoo hardened [EoL]: µ-serv Gen8 G1610T, 8Go ECC ; NF9D-2700, 4Go
-FreeBSD 11/Vimage/Jails: DS61, i3 2100T, 16Go ; FreeNAS: µ-serv N40L, 8Go ECC
-Réseau: ERL-3 + ESL-24 + GS108Tv2
-NAS: RN312
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Tue Jun 01, 2010 11:58 am    Post subject: Reply with quote

i7 920 chez moi avec un MAKEOPTS="-j9" et les mêmes CFLAGS que toi...
Code:

Tue Jun  1 13:56:50 2010 >>> dev-libs/boost-1.42.0-r1
       merge time: 3 minutes.

et Ram utilisée < 1100 Méga avec une compilation en tmpfs en plus ! bizarre ton problème..
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Tue Jun 01, 2010 3:43 pm    Post subject: Reply with quote

J'ai aussi un i7 930 avec 6Go de DDR 1600, franchement, laisse tomber la swap :lol: c'est pour les vieux ca :p


Sinon, j'ai mis l'option -j à 6 me semble, voir plus (histoire d'avoir toujours des processus en attente et saturer tout mes cores).


Concernant le freeze, t'a un process qui a mangé toute la mémoire et le kernel à du péter dans le tap pour rendre vie à ta machine ;-)



Note: j'ai désactivé l'hyper-threading car avec 4 core, c'est déjà plus qu'assez ... surtout pour jouer sous windows :cry:


Si tu met l'hyper threading, je te conseil de passer l'option -j à ... 12 ? (je fais +50% ...) :lol:
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
gregool
Guru
Guru


Joined: 26 Nov 2007
Posts: 336
Location: Lille

PostPosted: Tue Jun 01, 2010 5:07 pm    Post subject: Reply with quote

gglaboussole wrote:
i7 920 chez moi avec un MAKEOPTS="-j9" et les mêmes CFLAGS que toi...
Code:

Tue Jun  1 13:56:50 2010 >>> dev-libs/boost-1.42.0-r1
       merge time: 3 minutes.

et Ram utilisée < 1100 Méga avec une compilation en tmpfs en plus ! bizarre ton problème..


ah! intéressant...

bon en fait je suis pas a 5 minutes c'est pas le soucis, repasser en -j5 en attendant de doubler la ram c'est pas dramatique.
Back to top
View user's profile Send private message
_Seth_
Guru
Guru


Joined: 15 Sep 2004
Posts: 539
Location: encore paumé dans un labo ;)

PostPosted: Fri Jun 04, 2010 7:26 am    Post subject: Reply with quote

Je ne sais pas si ça s'applique dans ton cas mais le noyau peut avoir tendance à "swapper" alors que ce n'est pas forcément la peine. Pour y remédier, tu peux changer la valeur de "swappiness" de ton système:
Code:
# cat /proc/sys/vm/swappiness
50
# echo "25" > /proc/sys/vm/swappiness

Plus la valeur est proche de 0 moins tu swappes, plus c'est proche de 100, plus la swap est utilisée.

Tu peux sauvegarder définitivement ces changements en modifiant le fichier suivant:
Code:
# echo "vm.swappiness = 25" >> /etc/sysctl.conf

_________________
no tears to cry, no feelings left
the species has amused itself to death
amused itself to death
Back to top
View user's profile Send private message
gregool
Guru
Guru


Joined: 26 Nov 2007
Posts: 336
Location: Lille

PostPosted: Fri Jun 04, 2010 9:02 am    Post subject: Reply with quote

Oh, je crois que je tiens le bon bout...

j'ai ajouté ça dans le kernel

[*] Numa Memory Allocation and Scheduler Support

c'est une option qui n'était pas activée au moment de la compil de boost la première fois, mais je n'ai pas testé depuis.

je viens de passer le paramètre swappiness à 25 comme brillamment suggéré par _Seth_

et maintenant :

Code:
 Mon May 31 20:01:12 2010 >>> dev-libs/boost-1.42.0-r1
       merge time: 10 minutes and 21 seconds.

     Fri Jun  4 10:51:12 2010 >>> dev-libs/boost-1.42.0-r1
       merge time: 2 minutes and 52 seconds.


ça colle plus aux stats de gglaboussole.

donc j'ai bien envie de dire merci les gars encore un mystère de [résolu] ! :D
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Fri Jun 04, 2010 2:33 pm    Post subject: A Reply with quote

Je me suis longuement posé la question d'activer ou pas NUMA , et je ne l'ai finalement pas fait, sur la base de ce post :

https://forums.gentoo.org/viewtopic-t-715522-postdays-0-postorder-asc-highlight-nehalem-start-100.html

EDIT : d'ailleurs si tu regardes dmesg tu dois avoir un warning comme quoi il ne trouve aucune configuration NUMA...

EDIT2 : si ça t'intéresse pour comparer
Code:

 [*] Tickless System (Dynamic Ticks)
 [*] High Resolution Timer Support                                         
[*] Symmetric multi-processing support                                                                           
[ ] Support sparse irq numbering                                                                                   
[ ] Enable MPS table                                                                                                 
[ ] Support for extended (non-PC) x86 platforms                                                                     
[*] Single-depth WCHAN output                                                                                       
 [ ] Paravirtualized guest support  --->                                                                           
[*] Disable Bootmem code                                                                                             
[ ] Memtest                                                                                                           
 Processor family (Core 2/newer Xeon)  --->                                                                       
 [ ] IBM Calgary IOMMU support                                                                                         
 [ ] AMD IOMMU support                                                                                                 
  (8) Maximum number of CPUs                                                                                           
 [*] SMT (Hyperthreading) scheduler support                                                                           
 [*] Multi-core scheduler support                                                                                     
Preemption Model (Voluntary Kernel Preemption (Desktop))  --->                                                   
 [ ] Reroute for broken boot IRQs                                                                                     
 [*] Machine Check / overheating reporting                                                                           
  [*]   Intel MCE features                                                                                               
  [ ]   AMD MCE features                                                                                               
       < > Machine check injector support                                                                                   
           < > Dell laptop support                                                                                                 
        <*> /dev/cpu/microcode - microcode support                                                                           
     [*]   Intel microcode patch loading support                                                                           
       [ ]   AMD microcode patch loading support                                                                               
        <M> /dev/cpu/*/msr - Model-specific register support                                                                 
           <M> /dev/cpu/*/cpuid - CPU information support                                                                       
          [ ] Numa Memory Allocation and Scheduler Support                                                                     
          Memory model (Sparse Memory)  --->                                                                               
          [*] Sparse Memory virtual memmap                                                                                     
      [ ] Allow for memory hot-add                                                                                           
     [ ] Enable KSM for page merging                                                                                         
   (4096) Low address space to protect from user allocation                                                               
   [ ] Enable recovery from hardware memory errors                                                                       
      [ ] Check for low memory corruption                                                                                 
       [ ] Reserve low 64K of RAM on AMI/Phoenix BIOSen                                                                     
        -*- MTRR (Memory Type Range Register) support                                                                       
          [*]   MTRR cleanup support                                                                                         
       (0)     MTRR cleanup enable value (0-1)                                                                           
     (1)     MTRR cleanup spare reg num (0-7)                                                                             
      [ ] EFI runtime service support                                                                                     
      [*] Enable seccomp to safely compute untrusted bytecode                                                             
         [ ] Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)                                       
        Timer frequency (1000 HZ)  --->                                                                                 
          [ ] kexec system call                                                                                               
       [ ] kernel crash dumps                                                                                                 
        [ ] Build a relocatable kernel                                                                                       
          -*- Support for hot-pluggable CPUs                                                                                   
         [ ] Compat VDSO support                                                                                             
          [ ] Built-in kernel command line                       

_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
MaryPopy
n00b
n00b


Joined: 24 Oct 2010
Posts: 2
Location: Suisse

PostPosted: Sun Oct 24, 2010 11:34 am    Post subject: Re: A Reply with quote

Hello,

Je vien du forum Ubuntu et ma question à été boycottée. Comme tu as ici le seul exemple de config pour i7 que j'ai trouvé, je voulais te demander si ta .config serait également idéal pour un 17-950. J'ai 6 Go de ram, le / est sur un SDD de 40 Go et le /home sur un HDD de 500 Go.

Merci infiniment de me confirmer si ta config pourrait satisfaire mon kernel. Pour le moment mon kernel est sur Generic-x86-64
_________________
i7 950 @ 3.07GHz | 6 Go de Ram | GeForce GTS 250 512 MB | Ubuntu 10.04 64bit
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Sun Oct 24, 2010 11:51 am    Post subject: Reply with quote

Salut,
Oui il n'y a aucune raison pour que ça ne convienne pas à ton i7 950... :wink:
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
MaryPopy
n00b
n00b


Joined: 24 Oct 2010
Posts: 2
Location: Suisse

PostPosted: Sun Oct 24, 2010 11:56 am    Post subject: Reply with quote

gglaboussole wrote:
Salut,
Oui il n'y a aucune raison pour que ça ne convienne pas à ton i7 950... :wink:


Merci pour ta réponse rapide.

Salut.
_________________
i7 950 @ 3.07GHz | 6 Go de Ram | GeForce GTS 250 512 MB | Ubuntu 10.04 64bit
Back to top
View user's profile Send private message
gglaboussole
l33t
l33t


Joined: 17 May 2005
Posts: 641
Location: Monbalen (47),France

PostPosted: Sun Oct 24, 2010 12:09 pm    Post subject: Reply with quote

De rien...
Tu peux trouver plein d'infos pour t'aider dans la compilation de ton kernel ici : http://kernel-seeds.org/
_________________
On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French 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