Re: /usr/obj is 11GB huge on FreeBSD 12-current

From: Wolfram Schneider <wosch_at_freebsd.org>
Date: Fri, 15 Dec 2017 20:20:52 +0100
On 15 December 2017 at 19:39, Konstantin Belousov <kostikbel_at_gmail.com> wrote:
> On Fri, Dec 15, 2017 at 06:38:48PM +0100, Wolfram Schneider wrote:
>> On 15 December 2017 at 17:51, Wolfram Schneider <wosch_at_freebsd.org> wrote:
>> > On 15 December 2017 at 13:02, David Wolfskill <david_at_catwhisker.org> wrote:
>> >> On Fri, Dec 15, 2017 at 10:12:09AM +0100, Wolfram Schneider wrote:
>> >>> Hi,
>> >>>
>> >>> I upgraded a machine from 11-stable to 12-current. The /usr/obj tree
>> >>> is now 11GB huge:
>> >>>
>> >>> FreeBSD 12-current
>> >>> $ du -hs /usr/obj
>> >>>  11G /usr/obj
>> >>>
>> >>> on FreeBSD 11-stable it was less the size:
>> >>> $ du -hs /usr/obj
>> >>> 5.6G /usr/obj
>> >>>
>> >>> this is a problem when you have a small VM with 20GB disk space or less.
>> >>>
>> >>> Is there a way to use less /usr/obj disk space during build? I know
>> >>> that we have to do some bootstrapping for newer compiler tools, but
>> >>> does we need to keep all temp files during the build?
>> >>
>> >> There was a change near the beginning of November; please see UPDATING
>> >> entry 20171101 -- you probably have several no-longer-used
>> >> subdirectories under /usr/obj/usr/src/.
>> >>
>> >> Once those are cleared out, my experience (tracking stable/11 & head in
>> >> different slices on the same machines) is that stbale/11 is using about
>> >> 5.0G, while head uses about 6.1G.
>> >
>> > I think the suspect directories are "tmp" and "obj-lib32", together
>> > they are 4.1GB huge.
>> >
>> > I will run a build of current again with a clean obj tree (-current on
>> > a recent -current). Let's see.
>>
>> I run a test on universe12b (FreeBSD 12.0-CURRENT #0 r325426: Sun Nov
>> 5) with an empty obj directory.
>>
>> `make buildworld' creates 9.7GB of obj data. After running `make
>> buildkernel' it will grow to 12GB. This is on a ZFS filesystem (my
>> original report was on UFS)
>
> Most likely reason of the bump is generation of debugging data, turned on
> for 12.  Another not usable thing to disable are tests and profile libraries.
> Put the following into /etc/src.conf:
> WITHOUT_PROFILE=yes
> WITHOUT_DEBUG_FILES=yes
> WITHOUT_TESTS=yes

Hi Konstantin,

I tried these 3 variables and the results looks much better, down to
5.1GB from 12GB. Many thanks!

$ du -hs obj*
 12G obj-debug
5.1G obj-nodebug

-Wolfram

-- 
Wolfram Schneider <wosch_at_FreeBSD.org> https://wolfram.schneider.org
Received on Fri Dec 15 2017 - 18:21:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC