linux工具包容器

时间:2018-06-21 17:39:12

标签: linux docker containers perf

我是Docker的新手,我正在尝试使用perf来检查某些内容的性能。 Perf没有附带我正在使用的图像,因此我去安装了它。 我用过

apt-get update
apt-get install perf

无效,因为perf是另一个软件包的一部分。 然后,我尝试了

apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`

导致

E: Unable to locate package linux-tools-common
E: Unable to locate package linux-tools-generic
E: Unable to locate package linux-tools-3.10.0-862.3.3.el7.x86_64
E: Couldn't find any package by glob 'linux-tools-3.10.0-862.3.3.el7.x86_64'
E: Couldn't find any package by regex 'linux-tools-3.10.0-862.3.3.el7.x86_64'

关于我应该尝试什么的任何建议?

2 个答案:

答案 0 :(得分:1)

在 Debian 10 上帮助我的是:

<style scoped>{css}</style>
<main style={{ height: 300 }} className="backimage">

答案 1 :(得分:0)

我假设您的容器中装有一个较新的Linux,而主机上有一个较旧的Linux。

请注意,性能必须与Linux内核完全相同。并且通过容器化使用主机系统的内核。

在容器中安装通用perf软件包时,软件包管理器将检索(主机)内核的版本,并尝试以相同的版本安装perf软件包。由于容器中包含Linux发行版的较新版本,因此必需的较旧的perf软件包不再是其软件包存储库的一部分,从而导致您看到错误消息。

对此有多种解决方案: a)将主机Linux内核更新为容器Linux发行版所支持的版本, b)降级容器Linux发行版,或 c)在容器中提供必要的性能包装。这可能很棘手,您可能会搞砸容器的包装管理器。但这只是一个容器;)。您可以使用uname -a找出必要的版本。