我的目标是使用perf
在一些 Docker 镜像上运行性能测试。默认情况下,我使用的镜像不附带perf
。因此,我尝试了
apt-get update
apt-get install linux-tools-generic
获得性能,但我得到了
E: Unable to locate package linux-tools-generic
我在 SO 上询问,被告知我的sources.list
可能设置不正确,并且因为我的困惑与 SF 更相关,所以也被发送到这里。
关于如何获取/运行perf
各种 Docker 容器,有什么建议吗?
答案1
centos
:
[alexus@wcmisdlin02 ~]$ docker run -it centos
[root@ae6c1eb43a15 /]# yum --assumeyes --quiet install perf
warning: /var/cache/yum/x86_64/7/base/packages/numactl-libs-2.0.9-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for numactl-libs-2.0.9-7.el7.x86_64.rpm is not installed
Public key for perf-3.10.0-862.3.3.el7.x86_64.rpm is not installed
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-5.1804.el7.centos.2.x86_64 (@Updates)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@ae6c1eb43a15 /]# perf --version
perf version 3.10.0-862.3.3.el7.x86_64.debug
[root@ae6c1eb43a15 /]#
ubuntu
:
[alexus@wcmisdlin02 ~]$ docker run -it ubuntu bash
root@98214d8d539f:/#
root@98214d8d539f:/# apt-get -qq update && apt-get -qq install linux-tools-generic
.....
root@98214d8d539f:/# perf
答案2
apt-get -qq update && apt-get -qq install linux-tools-generic
没有用,我找到了另一种解决方案。我已经完成了
apt-get update
apt-get install linux-tools
我意识到它给了我 perf_4.9。后来有一个软链接,perf
现在可以在 docker 容器内工作了。它不是内核特定的,但它可以满足我的需要(到目前为止)。