ccache für poudriere korrekt einrichten

H

holgerw

Guest
Hallo,

da ich gelesen habe, dass die Verwendung von ccache den Portbau erheblich beschleunigen soll, möchte ich neben tmpfs nun auch den ccache benutzen. Ich möchte wie im Howto zu poudriere als ccache_dir das Verzeichnis /ccache verwenden.

ccache habe ich schon aus den Ports gebaut, nun fehlen mir zwei Dinge:
1. Was kommt genau in die /etc/make.conf rein, damit ccache mit poudriere ordentlich zusammenarbeitet (wie gesagt möchte ich laut Wikieintrag als ccache_dir das Verzeichnis /ccache verwenden und wichtig ist vielleicht auch noch die Information, dass ich mit der bash arbeite)?
2. Was kommt genau in die /etc/fstab für ein Eintrag? Ich nutze schon tmpfs, was auf /tmp gemountet wird.

Viele Grüße,
Holger
 
Hallo Rob,

das ist ja einfach, werde ich machen, danke Dir.

Viele Grüße,
Holger
 
Hallo,
1. Was kommt genau in die /etc/make.conf rein, damit ccache mit poudriere ordentlich zusammenarbeitet
Ich bin mir jetzt nicht ganz sicher aber ich glaube das einzige was man machen muss ist es in der /usr/local/etc/poudriere.conf folgende Zeile aktivieren:
Code:
CCACHE_DIR=/ccache
Ich habe unter /etc/make.conf noch folgendes:
Code:
# ccache
# NOCCACHE=YES
WITH_CCACHE_BUILD=yes
.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
  .if !defined(NOCCACHE)
  CC:=${CC:C,^cc,%%PREFIX%%/%%CCLINKDIR%%/world/cc,1}
  CXX:=${CXX:C,^c\+\+,%%PREFIX%%/%%CCLINKDIR%%/world/c++,1}
  .endif
.endif
und in der ~/.cshrc
Code:
# ccache
setenv PATH %%PREFIX%%/%%CCLINKDIR%%:$PATH
setenv CCACHE_PATH /usr/bin:%%LOCALBASE%%/bin
setenv CCACHE_DIR /ccache
setenv CCACHE_LOGFILE /var/log/ccache.log
if ( -x /usr/local/bin/ccache ) then
  /usr/local/bin/ccache -M 2048M> /dev/null
endif
Wie gesagt, bin ich mir nicht sicher, ob man bei poudriere das alles benötigt. Müsste ich nachlesen.
Ich nutze schon tmpfs, was auf /tmp gemountet wird.
tmpfs würde ich nicht machen bei ccache. Bei einem Neustart, sind ja dann alle Daten weg.

Gruss
 
Zu "bauen in tmpfs" mal aus eigener Erfahrung: Pass auf was du baust. Gerade große Projekte wie das OpenJDK, FireFox und VirtualBox belegen beim Kompilieren gerne mal mehrere GB Speicher. Das muss man erst mal als RAM da haben. Ansonsten swappt das ganze System freudig vor sich hin.
 
Man sollte jetzt libreoffice oder chrome nicht mehrmals gleichzeitig bauen. Aber ansonsten ist das mit 16GiB RAM schon ziemlich schmerzlos.
 
Joahr ist halt immer die Frage. Mein Server hat 32GB RAM und wenn ich da pourdiere anschmeiße und es unglücklich kommt baut er VirtualBox und das OpenJDK parallel... Dann sind neben den ganzen Diensten die da laufen und ZFS, 32GB schnell voll und er fängt/fing das swappen an. Darum hab ich das mit tmpfs auch wieder deaktiviert.
 
Joahr ist halt immer die Frage. Mein Server hat 32GB RAM und wenn ich da pourdiere anschmeiße und es unglücklich kommt baut er VirtualBox und das OpenJDK parallel... Dann sind neben den ganzen Diensten die da laufen und ZFS, 32GB schnell voll und er fängt/fing das swappen an. Darum hab ich das mit tmpfs auch wieder deaktiviert.

Hm, dann ist es wohl schlau, wenn ich erst mal meine 8 GB DDR3 1666er Ram aufstocke. Ram ist ja zur Zeit sehr preiswert und mein Mainboard schafft locker 16 GB.
 
Zu "bauen in tmpfs" mal aus eigener Erfahrung: Pass auf was du baust. Gerade große Projekte wie das OpenJDK, FireFox und VirtualBox belegen beim Kompilieren gerne mal mehrere GB Speicher. Das muss man erst mal als RAM da haben. Ansonsten swappt das ganze System freudig vor sich hin.

Ich grabe diesen Thread nochmal aus, gestern habe ich zum ersten Mal mit eingerichtetem ccache gearbeitet.

Nach einigen Stunden habe ich geschaut, kurz gestaunt - und dann ccache wieder deaktiviert.
@-Nuke- es ist genau das passiert, was Du hier beschrieben hast: Die 12 GB Ram waren fast voll, von den 8 GB swap waren schon 6 GB befüllt und das System verhielt sich zäh wie Kaugummi. :D
 
Zurück
Oben