cirruslabs / cirrus-ci-agent

Agent to execute Cirrus CI tasks
Mozilla Public License 2.0
13 stars 6 forks source link

targz: perform less allocations due to weird CopyBuffer logic #347

Closed edigaryev closed 6 months ago

edigaryev commented 6 months ago

I've had a hard time reproducing the #346, and the code in executor.Fetch() and targz.Unarchive looks OK at first glance.

One interesting observation is that we use github.com/klauspost/pgzip (see https://github.com/cirruslabs/cirrus-ci-agent/pull/52) instead of the default compress/zlib, which may negatively impact agent's memory usage.

However, I can't think of a non-hacky way to determine if we'll have enough memory for the compression/decompression step (and then we'll be able to fall-back to the compress/zlib).

Another interesting thing I've noticed is that compression and decompression routines try to use the io.CopyBuffer(), but degrade to the io.Copy() internally due to https://github.com/golang/go/issues/16474, which results in lots of unnecessary allocations.

Here are some comparisons before and after this PR using runtime.ReadMemStats():

Compression of nixpkgs repository without the fix applied (TotalAlloc = 1681 MiB)

{Alloc:23846416 TotalAlloc:1764955552 Sys:116347160 Lookups:0 Mallocs:1751544 Frees:1746761 HeapAlloc:23846416 HeapSys:107470848 HeapIdle:82247680 HeapInuse:25223168 HeapReleased:76152832 HeapObjects:4783 StackInuse:1540096 StackSys:1540096 MSpanInuse:230880 MSpanSys:505920 MCacheInuse:12000 MCacheSys:15600 BuckHashSys:1482251 GCSys:3091928 OtherSys:2240517 NextGC:44997520 LastGC:1710886449455284000 PauseTotalNs:9792128 PauseNs:[25916 42709 196167 169708 48125 55584 65792 49084 59167 86791 58541 44125 57292 44876 47458 39625 64542 38249 45916 96625 51041 46207 44376 46458 54042 37126 31584 44958 41874 42166 63750 52250 32167 63334 42042 37792 31875 26792 41167 41875 70500 40292 39999 41167 64958 51167 46749 43875 36333 39584 65084 37874 30543 28000 41084 71084 44000 79833 189001 42208 41750 44084 45084 53084 49750 89916 110583 295250 66416 48708 36583 43917 39458 42334 79541 101334 68375 65375 69459 34958 35708 38043 53793 40625 72750 36291 69834 46249 68168 46125 72709 39167 86333 37959 41291 57667 44376 46291 194041 33542 56792 39375 36667 29917 20083 28291 38625 38541 49041 37958 35375 31000 32375 31375 204750 45875 82666 130042 44416 41958 35709 37250 43709 56207 57417 182541 77667 53708 37875 32417 33291 44624 49750 38209 31500 65417 45041 43500 41292 39750 32833 32667 194875 43750 57042 76333 52250 73874 186042 39250 32708 175584 28791 33959 70584 56458 32084 27791 37458 78334 41250 35833 45042 34625 50416 40749 77917 102209 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1710886443625269000 1710886443628489000 1710886443629765000 1710886443636263000 1710886445580825000 1710886445774770000 1710886445795130000 1710886445815889000 1710886445839909000 1710886445864798000 1710886445887189000 1710886445906556000 1710886445923281000 1710886445938064000 1710886445954419000 1710886445973158000 1710886445989582000 1710886446011735000 1710886446032810000 1710886446046248000 1710886446092515000 1710886446136027000 1710886446162474000 1710886446164044000 1710886446186487000 1710886446204248000 1710886446222518000 1710886446240542000 1710886446264432000 1710886446287487000 1710886446311696000 1710886446328443000 1710886446356380000 1710886446389704000 1710886446412969000 1710886446435189000 1710886446456702000 1710886446476010000 1710886446495535000 1710886446512332000 1710886446533554000 1710886446557461000 1710886446582761000 1710886446603822000 1710886446630168000 1710886446647539000 1710886446685850000 1710886446705523000 1710886446727099000 1710886446749059000 1710886446773015000 1710886446801903000 1710886446824527000 1710886446840514000 1710886446867139000 1710886446876449000 1710886446895065000 1710886446906389000 1710886446913656000 1710886446967572000 1710886446995197000 1710886447012690000 1710886447035794000 1710886447057951000 1710886447081050000 1710886447099175000 1710886447100943000 1710886447105223000 1710886447237707000 1710886447357174000 1710886447374271000 1710886447393965000 1710886447395997000 1710886447417192000 1710886447433351000 1710886447452175000 1710886447464942000 1710886447518422000 1710886447558685000 1710886447578303000 1710886447622463000 1710886447644756000 1710886447668193000 1710886447688799000 1710886447709471000 1710886447731598000 1710886447748974000 1710886447769431000 1710886447784644000 1710886447808602000 1710886447826558000 1710886447849478000 1710886447870337000 1710886447892406000 1710886447913131000 1710886447935364000 1710886447943752000 1710886447960129000 1710886447993332000 1710886448017465000 1710886448035585000 1710886448061506000 1710886448085931000 1710886448110737000 1710886448116075000 1710886448133964000 1710886448154698000 1710886448172449000 1710886448190272000 1710886448213610000 1710886448232768000 1710886448256046000 1710886448264913000 1710886448282157000 1710886448301834000 1710886448324151000 1710886448332787000 1710886448339547000 1710886448409554000 1710886448465020000 1710886448482523000 1710886448505765000 1710886448512285000 1710886448532088000 1710886448556946000 1710886448575817000 1710886448603973000 1710886448625017000 1710886448647010000 1710886448668832000 1710886448685808000 1710886448706487000 1710886448723897000 1710886448745142000 1710886448763795000 1710886448780941000 1710886448800644000 1710886448826293000 1710886448850359000 1710886448868838000 1710886448891112000 1710886448910699000 1710886448934126000 1710886448956846000 1710886448981227000 1710886449006452000 1710886449019154000 1710886449049977000 1710886449075158000 1710886449099089000 1710886449116748000 1710886449137339000 1710886449158454000 1710886449175919000 1710886449193409000 1710886449218072000 1710886449240678000 1710886449262551000 1710886449281171000 1710886449300529000 1710886449321433000 1710886449338215000 1710886449360568000 1710886449383664000 1710886449404207000 1710886449422636000 1710886449429664000 1710886449455284000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:168 NumForcedGC:0 GCCPUFraction:0.0034352586652370656 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:137058 Frees:136805} {Size:16 Mallocs:437775 Frees:436644} {Size:24 Mallocs:94106 Frees:93795} {Size:32 Mallocs:8027 Frees:7723} {Size:48 Mallocs:88668 Frees:88016} {Size:64 Mallocs:80072 Frees:79772} {Size:80 Mallocs:86276 Frees:86229} {Size:96 Mallocs:103228 Frees:103082} {Size:112 Mallocs:5704 Frees:5543} {Size:128 Mallocs:2571 Frees:2505} {Size:144 Mallocs:132 Frees:99} {Size:160 Mallocs:250 Frees:107} {Size:176 Mallocs:106 Frees:16} {Size:192 Mallocs:43 Frees:26} {Size:208 Mallocs:68384 Frees:68291} {Size:224 Mallocs:68296 Frees:68273} {Size:240 Mallocs:3 Frees:0} {Size:256 Mallocs:546 Frees:514} {Size:288 Mallocs:128 Frees:104} {Size:320 Mallocs:89 Frees:78} {Size:352 Mallocs:15 Frees:3} {Size:384 Mallocs:50 Frees:16} {Size:416 Mallocs:28 Frees:11} {Size:448 Mallocs:512 Frees:4} {Size:480 Mallocs:2 Frees:2} {Size:512 Mallocs:269 Frees:259} {Size:576 Mallocs:17 Frees:5} {Size:640 Mallocs:13 Frees:4} {Size:704 Mallocs:88 Frees:63} {Size:768 Mallocs:14 Frees:3} {Size:896 Mallocs:30 Frees:15} {Size:1024 Mallocs:13 Frees:2} {Size:1152 Mallocs:27881 Frees:27868} {Size:1280 Mallocs:506 Frees:474} {Size:1408 Mallocs:505 Frees:454} {Size:1536 Mallocs:2 Frees:0} {Size:1792 Mallocs:24 Frees:2} {Size:2048 Mallocs:256 Frees:236} {Size:2304 Mallocs:85 Frees:66} {Size:2688 Mallocs:4 Frees:0} {Size:3072 Mallocs:24 Frees:0} {Size:3200 Mallocs:0 Frees:0} {Size:3456 Mallocs:3 Frees:0} {Size:4096 Mallocs:4 Frees:2} {Size:4864 Mallocs:38 Frees:34} {Size:5376 Mallocs:3 Frees:0} {Size:6144 Mallocs:3 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:3 Frees:0} {Size:9472 Mallocs:30 Frees:17} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:1 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:7 Frees:7} {Size:18432 Mallocs:2 Frees:0}]}

Compression of nixpkgs repository with the fix applied (TotalAlloc = 158 MiB)

{Alloc:87155240 TotalAlloc:154202056 Sys:117068056 Lookups:0 Mallocs:1742409 Frees:1282810 HeapAlloc:87155240 HeapSys:107855872 HeapIdle:18702336 HeapInuse:89153536 HeapReleased:720896 HeapObjects:459599 StackInuse:1114112 StackSys:1114112 MSpanInuse:828480 MSpanSys:1060800 MCacheInuse:12000 MCacheSys:15600 BuckHashSys:1467670 GCSys:3559016 OtherSys:1994986 NextGC:99745584 LastGC:1710887932204313000 PauseTotalNs:755124 PauseNs:[21751 90375 218208 367458 28791 28541 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1710887927566050000 1710887927567812000 1710887927569221000 1710887927575406000 1710887930646643000 1710887932204313000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:6 NumForcedGC:0 GCCPUFraction:0.00025416854775070654 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:96136 Frees:59486} {Size:16 Mallocs:516730 Frees:319623} {Size:24 Mallocs:93787 Frees:64562} {Size:32 Mallocs:7498 Frees:4766} {Size:48 Mallocs:88063 Frees:54052} {Size:64 Mallocs:79817 Frees:44059} {Size:80 Mallocs:86154 Frees:59944} {Size:96 Mallocs:103123 Frees:70774} {Size:112 Mallocs:4988 Frees:3560} {Size:128 Mallocs:2057 Frees:1470} {Size:144 Mallocs:111 Frees:66} {Size:160 Mallocs:73 Frees:28} {Size:176 Mallocs:84 Frees:0} {Size:192 Mallocs:31 Frees:17} {Size:208 Mallocs:68350 Frees:42709} {Size:224 Mallocs:68287 Frees:42701} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:536 Frees:368} {Size:288 Mallocs:112 Frees:81} {Size:320 Mallocs:17 Frees:14} {Size:352 Mallocs:11 Frees:1} {Size:384 Mallocs:42 Frees:9} {Size:416 Mallocs:14 Frees:5} {Size:448 Mallocs:412 Frees:2} {Size:480 Mallocs:1 Frees:1} {Size:512 Mallocs:263 Frees:175} {Size:576 Mallocs:10 Frees:5} {Size:640 Mallocs:6 Frees:1} {Size:704 Mallocs:18 Frees:10} {Size:768 Mallocs:9 Frees:0} {Size:896 Mallocs:16 Frees:7} {Size:1024 Mallocs:5 Frees:0} {Size:1152 Mallocs:27871 Frees:16818} {Size:1280 Mallocs:59 Frees:10} {Size:1408 Mallocs:42 Frees:17} {Size:1536 Mallocs:2 Frees:0} {Size:1792 Mallocs:12 Frees:2} {Size:2048 Mallocs:27 Frees:4} {Size:2304 Mallocs:79 Frees:43} {Size:2688 Mallocs:2 Frees:0} {Size:3072 Mallocs:2 Frees:0} {Size:3200 Mallocs:0 Frees:0} {Size:3456 Mallocs:3 Frees:0} {Size:4096 Mallocs:3 Frees:2} {Size:4864 Mallocs:36 Frees:21} {Size:5376 Mallocs:2 Frees:0} {Size:6144 Mallocs:3 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:3 Frees:0} {Size:9472 Mallocs:30 Frees:10} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:1 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:7 Frees:4} {Size:18432 Mallocs:2 Frees:0}]}

Decompression of nixpkgs repository without the fix applied (TotalAlloc = 166 MiB)

{Alloc:9521032 TotalAlloc:175661664 Sys:28460296 Lookups:0 Mallocs:1734476 Frees:1717435 HeapAlloc:9521032 HeapSys:19759104 HeapIdle:8855552 HeapInuse:10903552 HeapReleased:2768896 HeapObjects:17041 StackInuse:1212416 StackSys:1212416 MSpanInuse:193920 MSpanSys:310080 MCacheInuse:12000 MCacheSys:15600 BuckHashSys:1472427 GCSys:3481688 OtherSys:2208981 NextGC:15452032 LastGC:1710886470022386000 PauseTotalNs:1334038 PauseNs:[11833 61833 69667 54459 48334 55084 40624 43125 48000 61791 76416 45666 47042 56000 46291 47000 44125 47500 42875 43750 43333 53083 89541 52583 55958 48125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1710886463174656000 1710886465658303000 1710886465784097000 1710886465899734000 1710886466046710000 1710886466220360000 1710886466403384000 1710886466568782000 1710886466728144000 1710886466918920000 1710886467102053000 1710886467253848000 1710886467447742000 1710886467660127000 1710886467845608000 1710886468062338000 1710886468305417000 1710886468521628000 1710886468734043000 1710886468919351000 1710886469109901000 1710886469294734000 1710886469456024000 1710886469638285000 1710886469855027000 1710886470022386000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:26 NumForcedGC:0 GCCPUFraction:0.00040534425425210795 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:81446 Frees:80475} {Size:16 Mallocs:378949 Frees:374516} {Size:24 Mallocs:250096 Frees:247538} {Size:32 Mallocs:21604 Frees:20947} {Size:48 Mallocs:174779 Frees:171912} {Size:64 Mallocs:188980 Frees:187401} {Size:80 Mallocs:66862 Frees:66569} {Size:96 Mallocs:53272 Frees:52772} {Size:112 Mallocs:3478 Frees:3316} {Size:128 Mallocs:761 Frees:644} {Size:144 Mallocs:223 Frees:188} {Size:160 Mallocs:340 Frees:195} {Size:176 Mallocs:233 Frees:143} {Size:192 Mallocs:139 Frees:121} {Size:208 Mallocs:96199 Frees:95261} {Size:224 Mallocs:68394 Frees:67764} {Size:240 Mallocs:120 Frees:116} {Size:256 Mallocs:151 Frees:119} {Size:288 Mallocs:285 Frees:263} {Size:320 Mallocs:337 Frees:325} {Size:352 Mallocs:269 Frees:255} {Size:384 Mallocs:374 Frees:340} {Size:416 Mallocs:296 Frees:276} {Size:448 Mallocs:567 Frees:317} {Size:480 Mallocs:460 Frees:459} {Size:512 Mallocs:427 Frees:415} {Size:576 Mallocs:1241 Frees:1216} {Size:640 Mallocs:1775 Frees:1755} {Size:704 Mallocs:2285 Frees:2247} {Size:768 Mallocs:2403 Frees:2368} {Size:896 Mallocs:4725 Frees:4670} {Size:1024 Mallocs:3911 Frees:3855} {Size:1152 Mallocs:3167 Frees:3130} {Size:1280 Mallocs:2492 Frees:2462} {Size:1408 Mallocs:2030 Frees:1968} {Size:1536 Mallocs:1493 Frees:1475} {Size:1792 Mallocs:2173 Frees:2125} {Size:2048 Mallocs:1516 Frees:1497} {Size:2304 Mallocs:1095 Frees:1058} {Size:2688 Mallocs:1106 Frees:1096} {Size:3072 Mallocs:824 Frees:789} {Size:3200 Mallocs:200 Frees:198} {Size:3456 Mallocs:399 Frees:390} {Size:4096 Mallocs:700 Frees:690} {Size:4864 Mallocs:560 Frees:553} {Size:5376 Mallocs:290 Frees:282} {Size:6144 Mallocs:339 Frees:333} {Size:6528 Mallocs:103 Frees:99} {Size:6784 Mallocs:89 Frees:86} {Size:6912 Mallocs:39 Frees:37} {Size:8192 Mallocs:307 Frees:297} {Size:9472 Mallocs:234 Frees:220} {Size:9728 Mallocs:32 Frees:32} {Size:10240 Mallocs:48 Frees:46} {Size:10880 Mallocs:61 Frees:58} {Size:12288 Mallocs:114 Frees:111} {Size:13568 Mallocs:80 Frees:79} {Size:14336 Mallocs:45 Frees:44} {Size:16384 Mallocs:94 Frees:92} {Size:18432 Mallocs:77 Frees:73}]}

Decompression of nixpkgs repository with fix applied (TotalAlloc = 82 MiB)

{Alloc:13053720 TotalAlloc:88089608 Sys:27149576 Lookups:0 Mallocs:1693865 Frees:1589345 HeapAlloc:13053720 HeapSys:19791872 HeapIdle:5505024 HeapInuse:14286848 HeapReleased:1925120 HeapObjects:104520 StackInuse:1179648 StackSys:1179648 MSpanInuse:248960 MSpanSys:293760 MCacheInuse:12000 MCacheSys:15600 BuckHashSys:1461315 GCSys:2982440 OtherSys:1424941 NextGC:15401232 LastGC:1710886389362094000 PauseTotalNs:782416 PauseNs:[19292 192834 48416 44667 45332 80291 44084 86292 48125 84167 42125 46791 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1710886383108615000 1710886385819055000 1710886386245137000 1710886386569937000 1710886386933995000 1710886387323283000 1710886387657493000 1710886387981444000 1710886388294157000 1710886388640893000 1710886388994467000 1710886389362094000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:12 NumForcedGC:0 GCCPUFraction:0.00023545729214412243 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:40889 Frees:37868} {Size:16 Mallocs:419462 Frees:388107} {Size:24 Mallocs:250022 Frees:231546} {Size:32 Mallocs:21579 Frees:18863} {Size:48 Mallocs:174617 Frees:154158} {Size:64 Mallocs:188874 Frees:178242} {Size:80 Mallocs:66770 Frees:65518} {Size:96 Mallocs:53181 Frees:50089} {Size:112 Mallocs:3373 Frees:3182} {Size:128 Mallocs:631 Frees:511} {Size:144 Mallocs:93 Frees:59} {Size:160 Mallocs:237 Frees:91} {Size:176 Mallocs:106 Frees:16} {Size:192 Mallocs:43 Frees:26} {Size:208 Mallocs:96117 Frees:88852} {Size:224 Mallocs:68296 Frees:63284} {Size:240 Mallocs:3 Frees:0} {Size:256 Mallocs:36 Frees:5} {Size:288 Mallocs:47 Frees:20} {Size:320 Mallocs:90 Frees:78} {Size:352 Mallocs:16 Frees:3} {Size:384 Mallocs:50 Frees:17} {Size:416 Mallocs:28 Frees:11} {Size:448 Mallocs:216 Frees:4} {Size:480 Mallocs:2 Frees:2} {Size:512 Mallocs:15 Frees:7} {Size:576 Mallocs:18 Frees:5} {Size:640 Mallocs:13 Frees:4} {Size:704 Mallocs:88 Frees:63} {Size:768 Mallocs:14 Frees:3} {Size:896 Mallocs:29 Frees:15} {Size:1024 Mallocs:17 Frees:2} {Size:1152 Mallocs:20 Frees:8} {Size:1280 Mallocs:19 Frees:7} {Size:1408 Mallocs:81 Frees:37} {Size:1536 Mallocs:2 Frees:0} {Size:1792 Mallocs:26 Frees:3} {Size:2048 Mallocs:12 Frees:2} {Size:2304 Mallocs:22 Frees:3} {Size:2688 Mallocs:5 Frees:0} {Size:3072 Mallocs:24 Frees:0} {Size:3200 Mallocs:0 Frees:0} {Size:3456 Mallocs:3 Frees:0} {Size:4096 Mallocs:2 Frees:0} {Size:4864 Mallocs:5 Frees:2} {Size:5376 Mallocs:3 Frees:0} {Size:6144 Mallocs:3 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:28 Frees:21} {Size:9472 Mallocs:14 Frees:1} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:1 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:0 Frees:0} {Size:18432 Mallocs:2 Frees:0}]}

I think this is worth a try.

Resolves https://github.com/cirruslabs/cirrus-ci-agent/issues/346.