aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/gce
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2017-01-04 15:43:02 -0800
committerGravatar murgatroid99 <mlumish@google.com>2017-01-04 15:43:02 -0800
commitc34cac28912595814fb35225957eed0ddfd5d610 (patch)
tree5b89408b87d756791e6c5dee2247bae3609565cc /tools/gce
parent804c9e90fc4e7d11294fec69801ff7bc99134d3c (diff)
parent360f5d2abf8cb0f92aeeb3a1b201d2eb3bd13374 (diff)
Merge branch 'master' into node_electron_build
Diffstat (limited to 'tools/gce')
-rwxr-xr-xtools/gce/linux_performance_worker_init.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/gce/linux_performance_worker_init.sh b/tools/gce/linux_performance_worker_init.sh
index 523749ee81..ab29e015e0 100755
--- a/tools/gce/linux_performance_worker_init.sh
+++ b/tools/gce/linux_performance_worker_init.sh
@@ -150,3 +150,19 @@ sudo tar -C /usr/local -xzf go$GO_VERSION.$OS-$ARCH.tar.gz
# Put go on the PATH, keep the usual installation dir
sudo ln -s /usr/local/go/bin/go /usr/bin/go
rm go$GO_VERSION.$OS-$ARCH.tar.gz
+
+# Install perf, to profile benchmarks. (need to get the right linux-tools-<> for kernel version)
+sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
+# see http://unix.stackexchange.com/questions/14227/do-i-need-root-admin-permissions-to-run-userspace-perf-tool-perf-events-ar
+echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid
+# see http://stackoverflow.com/questions/21284906/perf-couldnt-record-kernel-reference-relocation-symbol
+echo 0 | sudo tee /proc/sys/kernel/kptr_restrict
+
+# qps workers under perf appear to need a lot of mmap pages under certain scenarios and perf args in
+# order to not lose perf events or time out
+echo 4096 | sudo tee /proc/sys/kernel/perf_event_mlock_kb
+
+# Fetch scripts to generate flame graphs from perf data collected
+# on benchmarks
+git clone -v https://github.com/brendangregg/FlameGraph ~/FlameGraph
+