当前位置: 首页 > 面试题库 >

码头工人如何使用其主机操作系统中的CPU内核?

宋高谊
2023-03-14
问题内容

基于Docker基于LXC的事实,我的理解是Docker容器共享来自其主机操作系统的各种资源。我关心的是CPU内核。这是一个场景:

  • 主机linux操作系统具有8个核心
  • 我必须在上面的主机操作系统上部署一组docker容器。
  • 我需要部署的某些Docker容器更适合使用2个内核

a)因此,如果我在该主机上运行所有docker容器,它们是否会按需消耗CPU /内核,就像它们在该主机OS上作为正常安装的应用程序运行时一样?

b)泊坞窗容器会消耗其自己的进程吗,并且其中包含的所有进程都将停留在该父进程的CPU内核上?

c)如何指定一个docker容器使用多个核心(例如4个)。我看到有一个-C标志可以指向一个核心ID,但是似乎没有指定容器随机选择N个核心的选项。


问题答案:

目前,我认为docker不提供这种级别的粒度。它没有在lxc.conf文件中指定分配多少个内核,因此您可能会(可能是1个,但我不确定100%)获得每个docker的所有内核。

但是,您可以调整为给定容器生成的conf文件,并设置如下内容

cpuset {
    cpuset.cpus="0-3";
}


 类似资料:
  • 根据Docker基于LXC这一事实,我的理解是Docker容器共享来自其主机操作系统的各种资源。我关心的是CPU核心。下面是一个场景: 主机linux操作系统有8个内核 我必须在上面的主机操作系统上部署一组docker容器 我需要部署的一些docker容器更适合使用2核 a) 因此,如果我在该主机上运行所有docker容器,它们是否会像在该主机操作系统上作为正常安装的应用程序运行一样,根据需要消耗

  • 主要内容:进程控制块中保存了什么?,为什么需要调度?在像MS DOS这样的单编程系统中,当进程等待任何I/O操作完成时,CPU仍然是空闲的。 这是一个开销,因为它浪费时间并导致饥饿问题。 但是,在多程序系统中,CPU在进程的等待时间内不会保持空闲状态,而是开始执行其他进程。 操作系统必须定义CPU将被给予哪个进程。 在多程序系统中,操作系统调度CPU上的进程以获得最大的利用率,此过程称为CPU调度。 操作系统使用各种调度算法来调度过程。 这是短期调

  • 问题内容: 当docker-demon启动时,它会向iptables添加一些规则。当通过我删除所有规则时,必须停止并重新启动docker demon以重新创建dockers规则。 有没有办法让docker重新添加其他规则? 问题答案: 最好的方法是重启docker服务,然后将docker规则重新添加到iptables中。(上DEB基:) 但是,如果您只想恢复这些规则而无需重新启动服务,我保存了我的

  • 虚拟内存 分页系统地址映射 页面置换算法 1. 最佳 2. 最近最久未使用 3. 最近未使用 4. 先进先出 5. 第二次机会算法 6. 时钟 分段 段页式 分页与分段的比较 虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被

  • 计算机操作系统

  • 我开始使用Docker,我可以说,这是一个伟大的概念。到目前为止一切都很顺利。我在ubuntu(我的主机操作系统)上安装了docker,从存储库中播放图像并制作新图像。 我想制作当前(主机)操作系统的映像。我如何使用docker本身实现这一点?我是docker的新手,所以请忽略我问题中的任何愚蠢的事情,如果有的话。