dashboard: restrict CPU usage on packet builders

The packet arm64 build box has 96 cores, and easily gets overloaded with
multiple builds running simultaneously. Restrict each container to fewer
cores, and decrease the number of workers.

In order to not lose some of the coverage we got from packet as a
high-CPU builder, we will need to create new builder types going forward
to ensure we don't lose coverage. See the issue for details.

Updates golang/go#36170

Change-Id: I16478fa05258bc14ac59a1e708133ffcc4c5a664
Reviewed-on: https://go-review.googlesource.com/c/build/+/211579
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index 1ad19e6..8ca17da 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -564,7 +564,7 @@
 		Notes:           "On 96 core packet.net host (Xenial) in Docker containers (Debian Buster); run by Go team. See x/build/env/linux-arm64/packet",
 		IsReverse:       true,
 		HermeticReverse: true,
-		ExpectNum:       20,
+		ExpectNum:       8,
 		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
 		SSHUsername:     "root",
 	},
diff --git a/env/linux-arm64/packet/rundockerbuildlet.service b/env/linux-arm64/packet/rundockerbuildlet.service
index 8925c4e..6ba51bd 100644
--- a/env/linux-arm64/packet/rundockerbuildlet.service
+++ b/env/linux-arm64/packet/rundockerbuildlet.service
@@ -7,7 +7,7 @@
 
 [Service]
 Type=simple
-ExecStart=/usr/local/bin/rundockerbuildlet -basename=packet -image=gobuilder-arm64-packet:1 -n=20
+ExecStart=/usr/local/bin/rundockerbuildlet -basename=packet -image=gobuilder-arm64-packet:1 -n=8 -cpu=12
 Restart=always
 RestartSec=2
 StartLimitInterval=0