From owner-freebsd-ports@FreeBSD.ORG Mon Jan 19 16:34:15 2015 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1DDC2C12 for ; Mon, 19 Jan 2015 16:34:15 +0000 (UTC) Received: from toco-domains.de (mail.toco-domains.de [176.9.39.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D2264636 for ; Mon, 19 Jan 2015 16:34:14 +0000 (UTC) Received: from [0.0.0.0] (mail.toco-domains.de [176.9.39.170]) by toco-domains.de (Postfix) with ESMTPA id F3E6D1B22187; Mon, 19 Jan 2015 17:34:11 +0100 (CET) Message-ID: <54BD3203.5050809@toco-domains.de> Date: Mon, 19 Jan 2015 17:34:11 +0100 From: Torsten Zuehlsdorff User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Kurt Jaeger Subject: Re: Poudriere Timeout References: <201501190145.t0J1jKvg006268@slippy.cwsent.com> <54BCF7C9.7090502@toco-domains.de> <20150119154822.GX44537@home.opsec.eu> In-Reply-To: <20150119154822.GX44537@home.opsec.eu> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Jan 2015 16:34:15 -0000 Hi, >>> Has anyone seen this before? > >>> print/texlive-texmf texlive-texmf-20140525_4 package/timeout runaway_process >> >> Yes, i have. I've solved this problem by moving the build-jails of >> poudriere to an memory disk. This make poudriere no longer io-bund and >> incredibly fast. And solve this issue ;) > > How did you do this ? I want to try this myself 8-} I've hacked poudriere to run within a jail. Therefore its slightly modified and you must checked the paths for your configuration. When you run "poudriere bulk" you can view with "jls" the path were it creates the build-jails. Stop it right there. In my case the path is: /usr/local/jail/poudriere/poudriere/data/.m (It is possible that you must create the path) I do before execution: # mdmfs -s 20gb -S -o async md1 /usr/local/jail/poudriere/poudriere/data/.m This creates an memory disk of 20 GB and mounts it to the given path. Please be careful that the size is not greater than you RAM + free SWAP. Otherwise you could kill some programs. After this, launch poudriere. Invoke it with -J and choose a small number for testing. With 20 GB memory disk it works best for me with "-J 6". With less RAM use less jails. After building finished unmount the path and free the ram: # umount /usr/local/jail/poudriere/poudriere/data/.m # mdconfig -d -u 1 Everything can be scripted easily. In my case this speeds up the complete build for the packages of my Laptop (around 800 packages, involving X, Firefox, Thunderbird, LibreOffice) from 20 hours to 4,5 hour. Memory disk is a very good choice, because most of the IO - creating jail, building dependencies, compiling, etc. - is thrown away at the end. At least we just want the final package. I can write a more detailed description if needed. Greetings from Germany, Torsten