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

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Fri, 15 Dec 2017 20:39:28 +0200
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
Received on Fri Dec 15 2017 - 17:39:44 UTC

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