File tree Expand file tree Collapse file tree 6 files changed +23
-9
lines changed
Expand file tree Collapse file tree 6 files changed +23
-9
lines changed Original file line number Diff line number Diff line change @@ -308,6 +308,7 @@ multithreaded
308308namespaces
309309nd
310310neuroevolution
311+ nmi
311312noicon
312313nr
313314orchestrator
@@ -322,6 +323,7 @@ pragmas
322323pre
323324preconfigured
324325priyank
326+ proc
325327profileCPU
326328profileCPUID
327329profileTime
@@ -348,6 +350,7 @@ snapshotting
348350stateful
349351sudo
350352svc
353+ sys
351354th
352355toc
353356toml
Original file line number Diff line number Diff line change @@ -80,8 +80,10 @@ Profiler:
8080## Pre-requisites
8181At the root of this repository, please run the following script to install the essential tools
8282for profiling and binding.
83- ```
84- scripts/install_pmutool.sh
83+ ``` bash
84+ scripts/install_pmutool.sh
85+ # disabling nmi watchdog to minimize multiplexing
86+ sudo echo 0 > /proc/sys/kernel/nmi_watchdog
8587```
8688
8789## Quick-start guide
Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ RUN apt-get update && \
4545 bc \
4646 dmsetup \
4747 gnupg-agent \
48+ numactl \
4849 software-properties-common && \
4950 sudo sysctl -w net.ipv4.conf.all.forwarding=1 && \
5051 sudo sysctl net.ipv4.ip_forward=1 && \
@@ -56,6 +57,7 @@ RUN apt-get update && \
5657
5758COPY scripts/github_runner/setup_runner.sh /setup_runner.sh
5859COPY scripts/create_devmapper.sh /create_devmapper.sh
60+ COPY scripts/install_pmutools.sh /install_pmutools.sh
5961COPY bin/firecracker /usr/local/bin/
6062COPY bin/jailer /usr/local/bin/
6163COPY bin/containerd-shim-aws-firecracker /usr/local/bin/
Original file line number Diff line number Diff line change @@ -31,4 +31,11 @@ if [ 64 -eq ${#CONTAINERID} ]; then
3131 sudo sed -i " s/fc-dev-thinpool/${CONTAINERID} _thinpool/" /etc/firecracker-containerd/config.toml
3232fi
3333
34- /create_devmapper.sh
34+ /create_devmapper.sh
35+
36+ sudo apt-get install linux-tools-` uname -r` -y
37+
38+ if [ ! -d " /usr/local/pmu-tools" ]; then
39+ ln -s /usr/bin/python3 /usr/bin/python
40+ /install_pmutools.sh
41+ fi
Original file line number Diff line number Diff line change @@ -45,7 +45,6 @@ sudo apt-get install --yes docker-ce docker-ce-cli containerd.io >> /dev/null
4545
4646PWD=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd ) "
4747$PWD /../install_go.sh
48- $PWD /../install_pmutools.sh
4948
5049# install kind from ease-lab/kind
5150rm -rf /tmp/kind/
@@ -57,6 +56,9 @@ sudo mv kind /usr/local/bin/
5756sudo usermod -aG docker $USER
5857newgrp docker
5958
59+ # Allow profiling using Perf / PMU tools
60+ sudo sysctl -w kernel.perf_event_paranoid=-1
61+
6062# setup crontab for nightly reboots
6163TMPFILE=$( mktemp)
6264# write out current crontab
Original file line number Diff line number Diff line change 2424
2525set -e
2626
27- sudo apt-get install linux-tools- ` uname -r ` -y
28- sudo apt install numactl
27+ sudo apt-get install numactl \
28+ linux-tools- ` uname -r ` -y
2929
3030sudo git clone https://github.com/andikleen/pmu-tools /usr/local/pmu-tools
3131
3232sudo sysctl -w kernel.perf_event_paranoid=-1
33- export PATH=$PATH :/usr/local/pmu-tools
34- sudo sh -c " echo 'export PATH=\$ PATH:/usr/local/pmu-tools' >> /etc/profile"
3533
3634# first run, download essential files
37- toplev --print > /dev/null
35+ /usr/local/pmu-tools/ toplev --print > /dev/null
You can’t perform that action at this time.
0 commit comments